ci: add 5 missing local_pr_pipeline scripts referenced by pr-pipeline.yml#129
Open
cryptoxdog wants to merge 2 commits into
Open
ci: add 5 missing local_pr_pipeline scripts referenced by pr-pipeline.yml#129cryptoxdog wants to merge 2 commits into
cryptoxdog wants to merge 2 commits into
Conversation
….yml pr-pipeline.yml referenced five scripts that were never committed, so the compliance, l9, and docs jobs failed unconditionally on every PR — gate defects unrelated to any code change. This adds functional implementations, each with an L9_META header and matching the existing compliance_kb_validate.py style: - check_compliance_terminology.py — AST-based guard that fails if app/ code imports the deprecated chassis.envelope/router/registry dispatch modules (C-21 / ARCH-003). Prose mentions in docs are never flagged. - docs_link_check_local.py — validates relative markdown links; defaults to the root governance docs, supports explicit paths and --all. - docs_consistency_local.sh — runs the doc presence check, KB validation, and link check; non-zero on any failure. - run_pr_select_gates.py — reads gates.json from `l9_contract_control select-gates` and runs each selected command, reporting all failures. - contract_bound_local.py — thin CLI over l9_contract_control.build_review_signal; flags contract-bound changes lacking required companion updates. Verified each runs clean on main's content (terminology: 134 files ok; links: 6 root docs ok; select-gates/contract-bound: correct pass/fail on forced inputs). ruff check + format clean. Co-authored-by: Igor Beylin <cryptoxdog@users.noreply.github.com>
PR Size Report
Best Practices for Large Changes
|
L9 Audit ReviewStatus
Policy
Blocking Findings
Advisory Findings
... truncated 1165 additional findings ... Generated by L9 Audit Engine ( |
The pr-pipeline docs job installs only Python (no third-party deps), but the script delegated KB YAML validation to compliance_kb_validate.py, which imports PyYAML -> ModuleNotFoundError: No module named 'yaml' in CI. Drop the KB validation step from the docs consistency script; KB YAML is already validated by the validate and compliance jobs (which install PyYAML). The script now uses only the standard library (doc presence + relative-link check), so it passes in the minimal docs job. Co-authored-by: Igor Beylin <cryptoxdog@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/pr-pipeline.yml references five scripts under
local_pr_pipeline/that were never committed to the repo (confirmed absent from all branches' history). As a result thecompliance,l9, anddocsjobs failed unconditionally on every PR — gate defects unrelated to any code change.This adds functional implementations, each with an
# L9_METAheader and matching the style of the existing local_pr_pipeline/compliance_kb_validate.py.Scripts
check_compliance_terminology.pyapp/code imports the deprecatedchassis.envelope/router/registrydispatch modules (C-21 / ARCH-003). Prose mentions in docs are never flagged.docs_link_check_local.py--allfor the whole tree.docs_consistency_local.shrun_pr_select_gates.pygates.jsonfroml9_contract_control.py select-gatesand runs each selected command, reporting all failures.contract_bound_local.pyscripts.l9_contract_control.build_review_signal; flags contract-bound changes lacking required companion updates.Design notes
main) rather than the whole tree, since the repo has pre-existing broken links inreports/anddocs/that are out of scope here;--allis available for a full sweep.run_pr_select_gates.pyandcontract_bound_local.pydelegate to the existing scripts/l9_contract_control.py so the gate/policy logic stays single-sourced.Verification (on
maincontent)app/files checked, no deprecated dispatch → pass.select-gates→run_pr_select_gates.py: correctly runs selected commands / no-ops on empty selection.contract_bound_local.py: exit 0 for clean/no-contract-bound cases, exit 1 for contract-bound-without-companion.ruff check+ruff format --checkclean.Scope / tier
New CI tooling under
local_pr_pipeline/(T2). No production code changes.