feat(routing): repoint whynot npm lane to Forgejo
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a06d83-1cbc-71f2-b0dc-e0f48cedae43
This commit is contained in:
tegwick 2026-09-04 23:39:11 +02:00
parent efabe526d8
commit 81f28ff814
4 changed files with 128 additions and 16 deletions

View file

@ -144,13 +144,19 @@ def test_route_find_vault_token_ops_warden_prefers_broker_lane():
def test_whynot_design_npm_lane_is_concrete_and_resolvable():
"""The provisioned npm publish lane has no placeholders and reports resolvable."""
"""The provisioned Forgejo npm lane is exact, concrete, and resolvable."""
catalog = load_catalog(_repo_catalog())
e = catalog.get("whynot-design-npm-publish")
assert e is not None and e.is_active and e.exec_capable
assert e.resolvable is True
assert "Forgejo registry" in e.title
assert "forgejo" in e.need_keywords
assert "gitea" not in e.need_keywords
assert "<" not in e.fetch_command and ">" not in e.fetch_command
assert "platform/workloads/coulomb/whynot-design/npm-publish" in e.fetch_command
rotation = " ".join(e.rotation.steps)
assert "Forgejo-supported `npm view <package>@<version>`" in rotation
assert "Gitea" not in rotation
def test_policy_nexus_source_read_lane_is_exact_high_risk_and_resolvable():
@ -183,7 +189,11 @@ def test_generic_and_template_lanes_not_resolvable():
catalog = load_catalog(_repo_catalog())
# generic openbao lane has <FIELD>/<path_template>; login lane has <domain>.
assert catalog.get("openbao-api-key").resolvable is False
assert catalog.get("key-cape-oidc-login").resolvable is False
login = catalog.get("key-cape-oidc-login")
assert login.resolvable is False
assert login.fetch_command == (
"bao login -no-print -method=oidc -path=netkingdom role=<domain>"
)
def test_platform_admin_login_lane_is_exact_and_non_value_bearing():