Skip to main content

Model-routing data-classification linter for Manolii agent frontmatter, PR bodies, and routing config.

Project description

manolii-routing-lint

Model-routing data-classification linter for the Manolii ecosystem. Wraps scripts/lint-agent-routing.py (master) as an installable uv workspace member, consumed downstream by pinned git ref (no registry).

Install (consumer)

# consumer pyproject.toml
[project]
dependencies = ["manolii-routing-lint"]

[tool.uv.sources]
manolii-routing-lint = { git = "https://github.com/manolii-org/master", subdirectory = "packages/manolii-routing-lint", tag = "manolii-routing-lint-v0.2.0" }

Use

manolii-routing-lint                 # lint all .claude/agents/*.md in the cwd repo
manolii-routing-lint --list-oss      # enumerate OSS-routed model identifiers
manolii-routing-lint --check-pr-body BODY.md
python -m manolii_routing_lint --skills

Config resolution

The linter reads .claude/model-routing.json from the repo being linted. Because an installed package cannot use __file__-relative paths, resolution is deterministic (no ancestor walk, so a governance gate never binds to a nested submodule/worktree config):

Precedence Source
1 MODEL_ROUTING_CONFIG env (explicit file path)
2 MANOLII_REPO_ROOT env → <root>/.claude/model-routing.json
3 <cwd>/.claude/model-routing.json

If none resolves, the linter fails closed (exit 2) rather than guessing.

Dual-run / parity

During the migration the original scripts/lint-agent-routing.py stays in place (synced to consumer repos, used by pre-commit/CI). Byte-equivalence between the script and this package is enforced by scripts/tests/test_routing_lint_parity.py.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manolii_routing_lint-0.2.1.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

manolii_routing_lint-0.2.1-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file manolii_routing_lint-0.2.1.tar.gz.

File metadata

  • Download URL: manolii_routing_lint-0.2.1.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for manolii_routing_lint-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4c13856bf74cd667077ac5dbc71dc09909224149cea2ff6831db2586a7ee460b
MD5 50fe7b3a1db2bc1ec545ae9117d106a7
BLAKE2b-256 63079384523e3a0b1c3763cbe28e922e9023d1fa0d4582e2a57df7918df01206

See more details on using hashes here.

Provenance

The following attestation bundles were made for manolii_routing_lint-0.2.1.tar.gz:

Publisher: publish-routing-lint.yml on Manolii-org/master

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file manolii_routing_lint-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for manolii_routing_lint-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d41725dfc1dd1d897f1de92fad8bfe97568029d9b3879a114913e3cb5d6c76c8
MD5 a8b7432272e62efe4f9494f7302e9b53
BLAKE2b-256 3b2562ea8788a5ea3fea5ec158797cd88b16a46e09654f7ae58e463b7e110cd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for manolii_routing_lint-0.2.1-py3-none-any.whl:

Publisher: publish-routing-lint.yml on Manolii-org/master

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page