Repository navigation
docs(ultraplan): record the four owner rulings (v0.2.0) and the E1 result (v0.2.1) - #1309
Conversation
Ruled through the selector: Wave 1 is pons-native (the elegant arm, departing from the recommended hybrid); the paid neural reviewers are restricted and measured; VeriSimDB's first instance is a stapeln bundle on owned hardware; the fleet's policy interpreter comes before any script leaves exit 78 (the elegant arm, departing from the recommended allowlist). The two departures are written into the waves as consequences rather than absorbed: Wave 1 becomes a two-quarter build with a stated rule order and E4 as its monthly check; the ten idempotent scripts become the interpreter's first work orders; Wave 2 starts from E1 and the ESN schema fix while retraining waits for true outcomes. The Fly.io intent in the verisimdb Intentfile is noted as superseded for the owner to retire there. Validation unchanged: asciidoctor --failure-level WARN clean; Debtfile todo-fixme-markers 84; link-rot-guard docs/ 278 before and after; git diff --check clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing: 1
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🟢 conformant · commit
K9 live corpus (L0–L2): 2 finding(s) / scope notes
Scope: DEED syntax and K9 contracts L0–L2. L3 signature verification and routed coordination dialects are not certified. Green is limited to this scope. Orange is missing evidence; grey is an explicit scope exclusion. Logs and report.json are in the dated conformance-evidence artifact on the linked run. |
|
Status: Read from the job log of run 39333517870 on head Cause and fix are as Generated by Claude Code |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Add Carrot credits or activate Agent usage billing to use Autofix |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9ee47d3d5c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codex's review of #1309 found six places where v0.2.0 recorded a ruling in one passage and left the pre-ruling text standing in another. All six are closed: - Wave 0 and E2 name the stapeln bundle on owned hardware as the ruled deployment target instead of presenting Fly.io as an open choice. - The Wave 1 heading says two quarters, matching the summary and ruling. - The Wave 1 deliverables follow the pons-native ruling: the commodity rows are pons rules over new grammars in the ruled order; cicd-suite gains no new checks, only SARIF output and the normaliser for what already runs. - Paid-reviewer retention is conditional on each monthly E4 result. - The k9 work-order contract and its evaluator are a Wave 1 deliverable (the ruled prerequisite for any fleet mutation); Wave 5 moves only their emission to the office, so Wave 2's dependency is satisfied in order. - Wave 3's CNO/OND certificates target the interpreter's first work orders, not the allowlist the ruling declined. Gates: asciidoctor --failure-level WARN clean; Debtfile todo-fixme-markers 84; link-rot-guard docs/ 278 before and after; git diff --check clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d5e5b56114
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…e ruling Codex's second pass on #1309 found the "estate home" column of the formulaic-checks table still assigning Containerfile to cicd-suite and hadolint, Guix sanity to the governance reusable, formatting to the cicd-suite composite and commit/PR shape to a Danger-style cicd-suite rule set. Under the ruled arm A those are pons rules over new grammars; the four rows now say so, with the existing cicd-suite composite and governance probe named only as what they remain until pons covers them. Gates: asciidoctor --failure-level WARN clean; Debtfile todo-fixme-markers 84; link-rot-guard docs/ 278 before and after; git diff --check clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6647c3048
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Guix row: pons owns the syntactic checks; package-name resolution is a `guix build --dry-run` oracle step, orange where Guix is absent, since a parse cannot know the catalogue. - Grammar list: YAML (tree-sitter-yaml; KYAML is a subset) and JSON (tree-sitter-json) added, so the KYAML/JSON shape rules have a parser. - CodeRabbit config: one `reviews.tools.<tool>.enabled: false` per bundled tool (no wildcard exists) and the fully qualified `reviews.pre_merge_checks.docstrings.mode` path the estate file already uses. - Wave 1 deliverables: `formatting` added as a pons rule; secrets and SCA removed from the pons list and the ruling paragraph, since the table already homes them in the secret-scanner reusable and Hypatia supply_chain, so disabling the vendors' bundled linters uncovers nothing. - E4 cutoff judged per reviewer, so an ineffective CodeRabbit or Codex is ended independently. Gates: asciidoctor --failure-level WARN clean; Debtfile todo-fixme-markers 84; link-rot-guard docs/ 278 before and after; git diff --check clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 972d81ea57
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Config row: canonical-form probes (I-JSON/JCS, KYAML format) stay in the governance reusable; shape rules are pons work over the YAML and JSON grammars; one owner per concern. - Option A records its one exception: an exact tool invoked as a yes/no oracle inside a pons rule (formatter --check, guix build --dry-run) is not a wrapper of another tool's findings; its absence is orange. - Commit and PR rules get parsers: tree-sitter-gitcommit and tree-sitter-markdown pinned. - K2 estimate: two to three quarters, since rescan-verified outcomes arrive only once the Wave 1 evaluator admits its first work orders; E1's replay gives a provisional reading but does not claim the rung. - Codex scoping: AGENTS.md review guidance and an explicit-trigger policy, not repo-settings path filters, which Codex does not have. Gates: asciidoctor --failure-level WARN clean; Debtfile todo-fixme-markers 84; link-rot-guard docs/ 278 before and after; git diff --check clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e1425dc4b9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…rd oracle Codex's fifth pass on #1309: a grammar can extract a URL but cannot know whether it resolves, so the external link-rot row needed an oracle like the formatter and Guix rows. The table row, option A's exception and the Wave 1 deliverable now name an HTTP reachability probe pons runs itself (HEAD, then GET on 405; cached; rate-limited), orange when the network is absent, with lychee only as a falsifier oracle in the corpus. Gates: asciidoctor --failure-level WARN clean; Debtfile todo-fixme-markers 84; link-rot-guard docs/ 278 before and after; git diff --check clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8fc6b6eab8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…usive month Codex's sixth pass on #1309: - No universal `--check` exists (`mix format` uses `--check-formatted`, biome formats unless `--write`, as provision-lib.sh already encodes). The formatting row carries the per-formatter mapping; option A's exception and the Wave 1 deliverable say "non-mutating check mode". - A month in which a reviewer was invoked on fewer than 20 sampled PRs is inconclusive for that reviewer and extends retention by a month instead of ending it; the cutoff applies only to a conclusive month. Because Codex is explicit-trigger only, E4 must schedule its invocations deliberately or Codex could never reach a conclusive month. Gates: asciidoctor --failure-level WARN clean; Debtfile todo-fixme-markers 84; link-rot-guard docs/ 278 before and after; git diff --check clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a9501fcddb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b9028b65d8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
… support) (#1315) ## Problem `governance / Validate Hypatia Baseline` is red on `main` (`b3ce78e`, run 39340237981) and on every open PR, including #1309, #1310 and #1311. The only blocking findings are: ``` invalid_actions_lock (workflow_audit, high): {:line, 4, {:unsupported_version, "v0.0.3"}} invalid_actions_lock (workflow_hardening, high): actions.lock failed closed: {:line, 4, {:unsupported_version, "v0.0.3"}} ``` The baseline job does not build Hypatia HEAD. Both `governance-reusable.yml` and `hypatia-scan-reusable.yml` default `hypatia-ref` to the vetted SHA `51ab6496…` (2026-10-01), and that commit's lockfile parser accepts only `v0.0.2`. `gh actions-lock` now writes `v0.0.3`. The lockfile is tool-owned, and this finding is deliberately not baselinable (#1239, #1305), so the scanner pin is what has to move. ## Change Both `hypatia-ref` defaults move from `51ab6496bf47e30a0576d503df31fec30f3cfe56` to `aa34a4cc6ba39d873710ff39763fdb9cde715f9d`. They move together, as their descriptions require. `aa34a4cc` is hypatia `main` after hyperpolymath/hypatia#938, which adds proper `v0.0.3` support, including the one field `v0.0.3` introduces (the optional per-dependency `hostname`). Unknown versions still fail closed. No `uses:` ref changes, so `actions.lock` is untouched. ## Blast radius (measured, not assumed) The bump carries every Hypatia commit since `51ab6496` (23 of them, including the `research_extensions` rules and hyperpolymath/hypatia#922's finding-shape change), and a pin move broke every caller once before (hyperpolymath/hypatia#895). So I replayed the `validate-hypatia-baseline` step locally at both pins on three repos: scan, path relativisation, then `apply-baseline.sh` with `BLOCKING_THRESHOLD=info`. | Repo | Kept at `51ab6496` | Kept at `aa34a4cc` | Change | |---|---|---|---| | standards (`d55304a`) | 2 × `invalid_actions_lock` | **0** | gate passes | | echidna | 2 × `invalid_actions_lock`, 1 `DependencyPinning` | same 3 | none* | | hypatia | 2 × `invalid_actions_lock` + 28 pre-existing (RE001/4/5, WH013) | the 28 | −2 | (The table leaves out `GS002`/`GS005`, which come from my detached local checkouts.) - On all three repos the raw findings only *lose* `invalid_actions_lock` and the derived `DependencyPinning`. There is no new finding type and no severity change. - All emitted severities stay inside `hypatia-scan-reusable.yml`'s accepted set. The new `support`/`evidence`/`level` finding fields are additive, and the only `.level` the reusable reads is the SARIF one. - \*echidna's lockfile now parses, but it has two real dangling edges (`slsa-framework/slsa-github-generator@f7dd8c54…` and `hyperpolymath/panic-attack@b689a74d…` are listed under `workflows:` with no top-level record, the startup-failure case `scripts/close-lock.sh` documents). That is an echidna repair, not something this PR changes. ## Checks run locally - `scripts/tests/governance-reusable-contract-test.sh`: PASS - `scripts/tests/hypatia-blocking-gate-test.sh`: PASS - `scripts/tests/apply-baseline-test.sh`: 52 passed, 0 failed - `scripts/tests/check-workflow-duplicate-keys-test.sh`: 17 passed, 0 failed with mikefarah yq v4.47.2 (checksum-verified). It fails 13/4 on `main` too when only the Python `yq` is on PATH. `scripts/check-workflow-duplicate-keys.sh` on both files: clean. - `actionlint` 1.7.7 on both files: output identical to `main`. - `yq '.on.workflow_call.inputs."hypatia-ref".default'` → `aa34a4cc…` in both files. ## After merge Open PRs (#1309, #1310, #1311) need `main` merged into them. Re-running their failed jobs won't help, because a re-run reuses the PR's old merge commit, which still carries `51ab6496`. --- _Generated by [Claude Code](https://claude.ai/code/session_01KUZiEB43T3E9fJAXqwbSDm)_ Co-authored-by: Claude <noreply@anthropic.com>
E1 replayed the 214 fix-outcome rows within reach (standards, verisimdb) with each fixer's own predicate at fixed_at, +7 days and HEAD: 21 refuted, 109 vacuous, 84 before history, so 0 of 130 checkable "success" rows are confirmed; 21,498 success rows collapse to 136 distinct keys. It decides that no weight trained on the label is salvageable. Report and the gitbot-fleet half of Wave 0's true outcomes: gitbot-fleet#616. Hypatia's own writer remains open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
- Wave 1 work orders keep the Kin gate between evaluation and execution (evaluator -> Kin -> robot-repo-automaton -> rescan); the interpreter-first rewrite had dropped it. - External link probe: GET fallback on any non-2xx/3xx HEAD, and an SSRF guard (https only; loopback, link-local/metadata, RFC 1918 and ULA refused at every hop; redirect, timeout and body caps). - Guix oracle names its operand (`-m` / `-f guix.scm`). - Check-only formatters get hunks from a temp-copy diff. - Nickel keeps its ci-pipeline lane; dead code and unused imports outside Python keep the compilers' own diagnostics; the secret scanner gains SARIF; tree-sitter-bash pinned for shell headers. - Tracking list applies the chosen Codex trigger instead of reopening it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 26a4545258
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| |pons `commit-shape` and `pr-convention` rules over the commit message and | ||
| PR body as text inputs (ruled 2026-10-19) |
There was a problem hiding this comment.
Feed PR-size metadata to the convention rule
When pr-convention is expected to enforce the row's PR-size limit, the declared inputs contain only the commit message, PR body, and parsed PR title, none of which exposes changed-line or file counts. An implementation can therefore satisfy this parser deliverable while silently omitting PR-size enforcement after the vendor convention checks are disabled; add diff/API metadata as an input or remove PR size from the promised check.
Useful? React with 👍 / 👎.
| ** That is *0 of 130* checkable rows confirmed. | ||
| * *Shape of the log.* Across the whole log, 21,498 success rows collapse to 136 distinct keys. | ||
| * *Root cause.* The writers record `success` when a fix script exits 0, and the scripts exit 0 after changing nothing. `recipe-remove-believe-me` only annotates. | ||
| * *Decides.* No current neural weight trained on this label is salvageable, so all pools restart (as Wave 2 already assumed). |
There was a problem hiding this comment.
Limit the E1 decision to the replayed repositories
The replay covers only the 214 rows belonging to standards and verisimdb, while the document says the full log contains 21,498 success rows, so a zero-confirmation convenience sample from two repositories does not establish that labels used by every neural pool are equally unsalvageable. The exit-code-only writer proves that the remaining labels are unverified, not that every trained weight must be discarded; either replay a representative sample from the other repositories or narrow this decision to the inspected data.
Useful? React with 👍 / 👎.
|



Summary
Follow-up to #1307, which merged the Kautz-ladder ultraplan at v0.1.0 with its four decisions still open. This PR:
It changes one file,
docs/ULTRAPLAN-KAUTZ-LADDER-2026-10-19.adoc.Two rulings departed from the recommended arm. Under ADR-007 (elegance by default: label the departure), their consequences are written into the waves rather than absorbed:
Wave 1 becomes a two-quarter build with a stated rule order:
The cicd-suite SARIF normaliser is kept only so existing composites and fleet report-backs reach the grid. E4 is the monthly check that the credit leak is shrinking as rules land.
The ten idempotent fix scripts become the interpreter's first work orders rather than an allowlist. Wave 2 starts from E1 and the ESN schema fix, and retraining waits for true outcomes.
verisimdb's
persistent-server-flyintent (in its Intentfile) is noted as superseded, for the owner to retire there. This PR touches no other repo.v0.2.1, the E1 result: a new "Results so far" subsection.
Testing
asciidoctor --failure-level WARNbash scripts/run-debtfile.sh .machine_readable/Debtfile.a2mltodo-fixme-markers84 (unchanged).deno-residueis the knownmainbreach that WO-8 retires.bash scripts/link-rot-guard.sh docsgit diff --checkNot done
invalid_actions_lockon.github/workflows/actions.lock(v0.0.3).mainhas since moved the vetted hypatia-ref (fix(ci): move the vetted hypatia-ref to aa34a4cc (v0.0.3 actions.lock support) #1315), which this branch now carries.🤖 Generated with Claude Code
https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B