Repository navigation
docs(ultraplan): Kautz-ladder programme — market inventory, estate rung audit, waves - #1307
Conversation
…ng audit, waves Adds docs/ULTRAPLAN-KAUTZ-LADDER-2026-10-19.adoc: a draft programme document, not a ruling. What it holds: - A feature inventory of SonarCloud, Codacy, Codeac, CodeRabbit, Semgrep, Codecov and a dozen others, each feature classed symbolic / neural / hybrid, with pricing and sourced customer sentiment; a table of the formulaic checks the paid bots charge for and the estate home each one should have. - A subsystem-by-subsystem Kautz classification of Hypatia (rules, the eight neural pools, ProverRecommender, VCL, Reviewer), panic-attack, pons-asinorum, ECHIDNA, gitbot-fleet, cicd-squabbler, cicd-suite, feedback-o-tron, VeriSimDB, oikosbot, trope-checker and the proof repositories, every claim cited to a repo-relative path. - The broken seams: the one line that would connect each disconnected component. - An estate ladder K0-K6 with a falsifier per rung, and the honest position (K0 with holes; K1 unmeasured). - Waves 0-6 with deliverables, experiments E1-E8 and bench B1, a beyond-this-repo list, and four owner decisions with the elegant arm labelled. Validation: asciidoctor --failure-level WARN clean; check-standards-map (GATE D) passed; check-canonical-names passed; check-canon-lockstep (GATE A) passed; Mustfile 14 passed / 1 manual; link-rot-guard docs/ 278 before and 278 after (no new BROKEN line); git diff --check clean. Debtfile reports the two pre-existing breaches on main (WO-8 retires them); this change adds no probe hit. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
The template-placeholder row quoted the marker strings themselves, which tipped the Debtfile todo-fixme-markers probe from 84 to 85 and would have matched HYP-DOG-001's placeholder scan. The row now describes the tokens without containing them. Probe re-measured at 84; asciidoctor clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B
|
|
🟢 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. |
|
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 |
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ebc6dd632b
ℹ️ 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".
| |hypatia-rules HYP-S005 → deed-migrated repos | ||
| |The rule globs `STATE.a2ml`, which no longer exists where the deed landed | ||
| (rsr-template-repo, absolute-zero); re-target to `(status)` in | ||
| `<repo>_chora.deed` via `scripts/deed-field.sh`. |
There was a problem hiding this comment.
Preserve CRG inputs when retargeting HYP-S005
For deed-migrated repositories, retargeting this rule only to the deed's (status) clause cannot preserve its behavior: HYP-S005 currently extracts crg-grade and also checks dogfooding-status, external-targets, issues-fed-back, and field-signal (hypatia-rules/crg-overclaim-detector.a2ml:34-39,85-118), none of which has a defined home in (status). The migrated rule would therefore have no grade to classify and would silently stop detecting overclaims; the plan needs to define and populate a deed vocabulary for all these inputs, or name another authoritative source, before removing the STATE-based query.
Useful? React with 👍 / 👎.
| === Wave 1 — the formulaic eater (one quarter, overlapping Wave 0) | ||
|
|
||
| Goal: every row of the "checks to take back" table is an estate check with | ||
| SARIF output and HYP-01 evidence, so the paid reviewers can be confined to | ||
| the neural slice. |
There was a problem hiding this comment.
Implement the checks Wave 1 promises
When Wave 1 is evaluated against this stated goal, it cannot complete: the source table explicitly calls for Elixir coverage/patch coverage and a new flaky-test query over JUnit history (lines 293-303), but the Wave 1 deliverables at lines 755-777 add neither coverage collection nor the oikosbot/VeriSimDB flaky-test implementation. Consequently, declaring Wave 1 complete and restricting paid reviewers would still leave rows that the document itself marks partial or absent; either add those deliverables and their validation or narrow the goal to the subset actually scheduled.
Useful? React with 👍 / 👎.
| * standards: `hypatia-scan-reusable.yml` ingest; `.coderabbit.yaml` profile | ||
| that disables bundled linters and pre-merge docstring checks (`reviews. | ||
| tools.*.enabled: false`, `pre_merge_checks.docstrings.mode: off`) and |
There was a problem hiding this comment.
Use valid CodeRabbit configuration keys
When this deliverable is translated into .coderabbit.yaml, the listed keys will not disable the intended checks: the schema uses reviews.pre_merge_checks.docstrings.mode, while each linter has an individually named key such as reviews.tools.ruff.enabled; it defines no reviews.tools.*.enabled wildcard. The line break inside the first monospace literal also renders whitespace between reviews. and tools. Enumerate the enabled tools and use the fully qualified pre-merge key so Wave 1 actually removes the duplicate paid checks, as documented in the official configuration schema.
Useful? React with 👍 / 👎.
| output* (BugLens, Semgrep Assistant). None of them is type 6. The strongest | ||
| are type 2 with a learned proposer — which is the shape Hypatia, panic-attack | ||
| and ECHIDNA already have on paper. The literature is on our side; the gap is |
There was a problem hiding this comment.
Classify learned proposers consistently as type 3
The systems just described as having a model emit taint specifications, CodeQL queries, invariants, or proof terms for an exact checker match this document's own type-3 definition at lines 333-334 and its K3 “IRIS pattern” at lines 624-631, not type 2. Calling the same architecture type 2 here makes the central literature-to-estate comparison self-contradictory and also incorrectly groups it with Hypatia's symbolic controller calling neural advisers; reclassify the proposer/checker examples as type 3 or explain a distinct control-loop property that makes a particular example type 2.
Useful? React with 👍 / 👎.
| Two observations follow. First, the estate already out-produces every | ||
| vendor on *symbolic* checks; the governance reusable alone is a larger rule | ||
| set than Codeac's whole product. Second, the three paid or rationed neural | ||
| reviewers are doing exactly two things the estate cannot yet do — prose | ||
| summaries and intent judgement — and one thing it can (docstring counting), | ||
| and they are doing the latter badly (CodeRabbit "8 skipped: 8 unsupported" | ||
| languages on #615). This is the credit leak. |
There was a problem hiding this comment.
Reconcile the third neural reviewer
The current-state verdict says only CodeRabbit and Codex act on estate PRs (lines 43-47), and experiment E4 measures comments from only those two (lines 779-783), but this conclusion counts three paid or rationed neural reviewers and the later subsystem table includes Copilot review (lines 511-513). If Copilot review is active, omitting it from the actual-run inventory and E4 makes the cost experiment incomplete; if it is not active, the count and subsystem entry are incorrect. State Copilot's deployment status and include or exclude it consistently.
Useful? React with 👍 / 👎.
| |pons (deferred rules `document-reference-missing`, | ||
| `document-anchor-missing`, `document-reference-placeholder`) | ||
| |`lychee` for external; pons for internal with evidence class | ||
| |`scripts/link-rot-guard.sh` exists only in standards and reports 443 on main |
There was a problem hiding this comment.
Use the measured link-rot baseline
When this plan is used to measure whether Wave 1 reduces link debt, the stated baseline is wrong: running bash scripts/link-rot-guard.sh docs on the reviewed tree reports 278 BROKEN entries, and the commit's own testing record also says 278 before and after, not 443. Using 443 would make a later unchanged or regressed run appear to have improved substantially, so update the count or document the different invocation and snapshot that produced it.
Useful? React with 👍 / 👎.
|
Status: Both jobs fail on the same two unfiltered findings, read from the job log of run 39304338341:
The log mentions this PR's only file, Every other check on the head commit is green (SonarCloud, Semgrep, GitGuardian, CodeQL, Scorecard, all governance jobs, K9-SVC, canonical-JSON, trusted-base, self-tests). Generated by Claude Code |
…sult (v0.2.1) (#1309) ## Summary Follow-up to #1307, which merged the Kautz-ladder ultraplan at v0.1.0 with its four decisions still open. This PR: - records the rulings the owner gave through the selector on 2026-10-19 (v0.2.0); - records the first experiment result, E1, on 2026-10-20 (v0.2.1). It changes one file, `docs/ULTRAPLAN-KAUTZ-LADDER-2026-10-19.adoc`. | Decision | Ruled | |---|---| | Wave-1 build shape | **A, pons-native** (the elegant arm; the recommendation was the hybrid C) | | Paid neural reviewers | **Restrict and measure** (as recommended) | | VeriSimDB deployment target | **stapeln bundle on owned hardware** (as recommended) | | Unquarantine policy | **Policy interpreter first; exit 78 stays** (the elegant arm; the recommendation was the ten-script allowlist) | 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: 1. consistency-pair and missing-doc-comment; 2. the deferred document and template rules; 3. Containerfile and Guix, as new grammars. 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-fly` intent** (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. - The replayable rows give *0 of 130* checkable "success" rows confirmed: 21 refuted, 109 vacuous, 84 before the repos' history. - 21,498 success rows collapse to 136 distinct keys. - It decides that no weight trained on the label is salvageable. - It links the report and the gitbot-fleet half of Wave 0's true outcomes: hyperpolymath/gitbot-fleet#616. ## Testing | Check | Result | |---|---| | `asciidoctor --failure-level WARN` | clean | | `bash scripts/run-debtfile.sh .machine_readable/Debtfile.a2ml` | `todo-fixme-markers` 84 (unchanged). `deno-residue` is the known `main` breach that WO-8 retires. | | `bash scripts/link-rot-guard.sh docs` | 278 lines, the same as before; no new BROKEN line | | `git diff --check` | clean | ## Not done - The Hypatia lane may still show red for the reason recorded on #1307: `invalid_actions_lock` on `.github/workflows/actions.lock` (v0.0.3). `main` has since moved the vetted hypatia-ref (#1315), which this branch now carries. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01PpQVLrCbURpoXtrdvy8V3B --------- Co-authored-by: Claude <noreply@anthropic.com>



Summary
Adds
docs/ULTRAPLAN-KAUTZ-LADDER-2026-10-19.adoc, a draft programme document, not a ruling. It answers the owner's question: what do the paid code-quality tools sell, which of it is formulaic, where does the estate's own machinery stand on Kautz's neurosymbolic ladder, what is missing, and what should be built first.What it holds:
verisim-apiauth/persistence/Groove mount, thePatternQueryETS bug, unstable PA identifiers, SARIF emitted by seven producers and ingested by none, the missing(contractiles …)clause in the template deed, HYP-S005 globbing a file the deed migration removed).Testing
asciidoctor --failure-level WARNbash scripts/check-standards-map.shbash scripts/check-canonical-names.sh origin/mainbash scripts/check-canon-lockstep.shbash scripts/run-mustfile.sh …/Mustfile.a2mlbash scripts/link-rot-guard.sh docsbefore / after>linebash scripts/run-debtfile.sh …/Debtfile.a2mltodo-fixme-markers84 (the first commit tipped it to 85 by quoting a marker literal; fixed in the second commit);deno-residue3 > 1 is the known pre-existing breach onmainthat WO-8 retiresgit diff --checkNot done
.git-private-farmcould not be read (a repository name beginning with a dot cannot be attached to an agent session); it is characterised from gitbot-fleet's token-architecture and inbox-steward docs, and the plan's Wave 5 proposes renaming it.Generated by Claude Code