board: post-merge arc + state entry for #884 - #885
Conversation
#884 was itself the post-merge hygiene PR for #881/#882/#883 — and it merged without its own arc entry, reproducing one level up exactly the gap it was written to close. Writing the hygiene PR does not discharge the rule for the hygiene PR. Entry added, with that noted in it. Records what #884 locked: - The C1 audit finding: phi = pearson-on-binaries and KR-20 = alpha-on-dichotomous are the SAME computations already in jc (named wrapper + caveat only, arithmetic not re-implemented); kappa is absent and is NOT a renamed ICC — the real gap, and the one that blocks D3's fusion falsifier. - Effect size means the r-family: R, R-squared, eta-squared, phi. Cohen's d explicitly out, calculated separately if ever wanted. The t-test is the significance companion to eta-squared, not a d-family route. - ADDITIVE ONLY with one carve-out: existing jc statistics keep their arithmetic, signature and semantics; the sole permitted edit to an existing file is widening reliability.rs's private helpers to pub(crate) for reuse — visibility only. - The transport-vs-engine separation carried from #883, and that the spawn inventory carries no architectural legitimacy. Board prose only. D-KIA-C1b remains Queued. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K3RyLEbuNSHxxB3NTTrGki
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_37f7c73f-6353-447f-b402-3185251172ad) |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🔥 Files not summarized due to errors (1)
📝 WalkthroughWalkthroughThe change adds a dated board entry for PR ChangesD-KIA-C1b planning
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: Poem
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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 772b5e5593
ℹ️ 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".
|
|
||
| Board/plan prose only; **no code, no runtime behaviour**. Carried the post-merge arc entries for #881/#882/#883 (see the entry below) and re-scoped the statistics work removed from #883 as its own deliverable, **D-KIA-C1b** (`Queued` — scope, not code). | ||
|
|
||
| **C1 audit (read-only).** `jc` is in-tree at `crates/jc/`; `reliability.rs` ships `pearson` / `spearman` / `cronbach_alpha` / `icc(ratings, IccForm)` (`Icc2_1`, `Icc3_1`), and `jirak.rs` gives C4's noise floors a local implementation to cite. Two of C2's three renames are the **same computation**, one is a real gap: |
There was a problem hiding this comment.
Do not mark C4's noise-floor calibration as implemented
When C4 is implemented, this statement incorrectly directs the work to an existing local implementation: crates/jc/src/jirak.rs exposes only prove(), which runs a fixed synthetic 16,384-bit Hamming-distance experiment, and provides no reusable bound or significance calibration for the catalog-panel φ/κ/KR-20 statistics required by C4. Treating that probe as satisfying C4 can leave the planned significance statements uncalibrated; record it as background/citation evidence and keep the required reusable calibration work queued.
Useful? React with 👍 / 👎.
#881/#882/#883 merged with no arc entries. #884 closed that gap and merged without its own. #885 closed THAT gap and merged. An entry for #885 would need an entry, and so on without end: each step was the rule correctly applied, but the composition does not terminate. The recursion was invisible for three links because the rule is stated per-PR and every single application is locally correct — which is exactly what hides a divergent chain. Two earlier sessions each wrote the honest local lesson ("writing the hygiene PR does not discharge the rule for the hygiene PR") without noticing that the lesson, applied uniformly, never bottoms out. Amendment: a PR whose ENTIRE content is board hygiene for prior PRs — no type, plan, deliverable, epiphany or code — does not itself generate an arc entry; it is discharged by the entry it wrote. The test is content, not intent: does the PR change anything a future session needs the "why" for? Mixed PRs still get their entry (#884 landed hygiene AND the D-KIA-C1b re-scope; the entry exists for the re-scope half). This is a stopping rule, not a loosening. Merging three PRs with no entries at all remains a violation and the retroactive-hygiene anti-pattern is unchanged; only the degenerate tail is excluded. Consequence: #885 gets no arc entry, deliberately, and its absence is not a gap. Transferable shape recorded: a per-item obligation whose discharge is itself an item of that kind needs an explicit base case, or it is a recursion with no bottom. The cheap check is to apply a rule twice to its own output and see whether the third application says anything new. Board/doc prose only. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K3RyLEbuNSHxxB3NTTrGki
Board prose only. No code, no runtime behaviour. One commit, two files.
Why this exists
#884 was the post-merge hygiene PR for #881/#882/#883 — and it merged without its own arc entry, reproducing one level up exactly the gap it was written to close. Writing the hygiene PR does not discharge the rule for the hygiene PR. That is noted inside the entry itself, so the next session reads the lesson rather than the third instance of it.
What the entry records
The C1 audit finding — two of C2's three renames are the same computation already in
jc, one is a genuine gap:jc::reliability::pearsonalready computes it. A named wrapper + the marginal-capped-ceiling caveat are the only new surface; the arithmetic is not re-implemented.cronbach_alphais the right function; naming + caveat only.Effect size = the r-family — R, R², η² (erklärte Varianz), φ. Cohen's d is explicitly out, calculated separately if a mean-difference contrast is ever wanted. The t-test (t/df/p) is in scope as the significance companion to η², not a d-family route: effect size is read off η²/R².
ADDITIVE ONLY, with exactly one carve-out —
pearson/spearman/cronbach_alpha/icckeep their arithmetic, signature and semantics; new estimators land in a new module beside them, and any diff changing an existingjcstatistic is an automatic reject. The sole permitted edit to an existing file is visibility only: wideningreliability.rs's private helpers (mean/all_finite/average_ranks/pop_var) topub(crate)plus thepub modline, so the new module reuses them instead of growing a second source of truth. No body change, no signature change, no incidental cleanup.Also carried forward: the transport-vs-engine separation from #883 (
MulAdvance/drive_mul_advanceare legacy wrappers;gate_decision_i4is independent and not deprecated; NARS recipes and the rung ladder are separate and untouched), and that the spawn inventory carries no architectural legitimacy — deletion-impact evidence and a removal work-list only.Test plan
Prose only — nothing to regress. Append-only respected: both entries prepend.
D-KIA-C1bremains Queued (this is scope, not code).🤖 Generated with Claude Code
https://claude.ai/code/session_01K3RyLEbuNSHxxB3NTTrGki
Generated by Claude Code
Summary by CodeRabbit