Repository navigation
ci(OMN-16589): pilot-wire the org-wide KB doc gate (transition mode) - #2151
Conversation
Thin caller workflow (.github/workflows/kb-doc-gate.yml) calling omniclaude's kb-doc-gate-reusable.yml@main, plus the exported kb-doc-gate pre-commit hook (repo: OmniNode-ai/omniclaude, rev pinned to the feature commit — re-pin once omniclaude#2047 merges). NOT a required status check yet (P1 pilot: wire, observe green on real PRs). Blocks new non-exempt .md files; the strict-mode stub-size cap is off by default (transition mode) since this repo has not yet been stripped by the Wave-4 KB migration. OMN-16589 Evidence-Ticket: OMN-16589
omniclaude#2047 merged (82a3394c1) — swap the feature-branch pin for the merged dev commit. OMN-16589 Evidence-Ticket: OMN-16589
…context set test_every_pr_triggered_job_is_classified failed on the new kb-doc-gate.yml PR-triggered job (live-caught via the governed pre-push impacted-test selector, not speculative): every job reachable from pull_request must be STRICT/SKIPPABLE/EXTERNAL/EXEMPT. Adding it to EXPECTED_EXTERNAL_CONTEXTS (asserted, must-pass) would make CI Summary treat it as de facto required -- exactly what OMN-16589's P1 pilot AC says not to do yet. EXEMPT_CONTEXTS is the correct, existing mechanism for a self-declared non-required job (same pattern as product-readiness-shadow.yml's Phase-3-canary entries). OMN-16589 Evidence-Ticket: OMN-16589
|
Warning Review limit reachedNext included review available in 28 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 124 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
Comment |
✅ Architectural Review — PASSEDErrors: 0 What this checks
No architectural violations found. Static architectural lint — no model inference (OMN-14176). |
|
OCC autobind did not mint a companion for this PR: no changed-file candidate could be proven RED against the merge base, and emitting a PR-existence probe instead would be non-falsifiable evidence (OMN-15247). Hand-authored evidence is required. |
✅ Hostile Reviewer — PASSEDBlocking findings (critical/error): 0 Gate semantics
Powered by omniintelligence.review_pairing.cli_review — node-based adversarial review via HandlerLlmCliSubprocess (OMN-8524) |
…7185) * evidence: OCC companion pass 1 for OmniNode-ai/omnimarket#2151 * evidence: OCC companion self-bind for #7185 --------- Co-authored-by: node-occ-companion-effect <occ-companion-effect@omninode.ai>
What
Pilot-wires the org-wide KB doc gate (OmniNode-ai/omniclaude#2047, merged) into omnimarket: a thin caller workflow (
.github/workflows/kb-doc-gate.yml) calling omniclaude'skb-doc-gate-reusable.yml@main, plus the exportedkb-doc-gatepre-commit hook (repo: OmniNode-ai/omniclaude, pinned to the merged dev SHA).Also fixes a real, live-caught CI failure:
test_every_pr_triggered_job_is_classifiedfailed because the newkb-doc-gate.ymlPR-triggered job wasn't classified anywhere in the CI Summary poller's registry. Registered it inEXEMPT_CONTEXTS(self-declared non-required, same pattern asproduct-readiness-shadow.yml's Phase-3-canary entries) — NOTEXPECTED_EXTERNAL_CONTEXTS, since that would make CI Summary treat it as de facto required, contradicting this ticket's P1 scope.Why
Operator direction (2026-08-26): a hook that blocks new/regrown non-KB markdown docs in product repos. See omniclaude#2047 for the full design rationale.
Scope
NOT a required status check yet. Transition mode: blocks new non-exempt
.mdfiles only; the strict-mode stub-size cap is off since this repo has not yet been stripped by the Wave-4 KB migration. The required-check flip is explicit follow-up scope once this pilot (omnibase_core + omnimarket) proves green on real PRs — see OMN-16589 AC.Testing
uv run pytest tests/unit/scripts/ci/test_ci_summary_gate.py -q→ 41 passed. Governed pre-push impacted-test selector: full local suite (5830 passed, 29 skipped, 1 xfailed) green underPREPUSH_ALLOW_LOCAL_FULL_SUITE=1— used because the shared build host and the .201 gate-runner were both confirmed at/over the load threshold by the hook's own live check at push time (session-wide contention from ~70 concurrently active lanes), not as a routine bypass; seedocs/runbooks/200-build-lane-execution-pattern.md.OMN-16589
Evidence-Ticket: OMN-16589
Evidence-Source: OCC#7185