docs(readme): bind the crate count to the workspace - #531
seonghobae wants to merge 6 commits into
Conversation
GAP-014 lists reconciling the README crate count as remaining work. The README stated two different numbers, 50 in one paragraph and 54 in the next, against 58 crate manifests under `crates/`. That is the first claim a reader meets and both statements were wrong. Both now read 58, and `tests/quality/test_readme_crate_count.py` counts the directories under `crates/` that carry a `Cargo.toml` and asserts every counted claim in the README matches. Changing one number to 57 fails it with `57 != 58`, so the pairing is enforced rather than asserted. `docs/TRD.md` states no crate count, so it needed none. The gap ledger records the half that is now closed and the half that is not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
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 |
Retain the README correction and executable drift guard from #531 while restacking non-force onto #523, the verified successor of #517/#525. The shared product technical gap baseline remains owned by #435, so this tree deliberately drops #531's competing edit and leaves an exact handoff to that lane instead of creating a second writer. The test now requires at least one explicit crate-count claim rather than forcing the README to keep two redundant statements. Every claim that is present still has to equal the live set of crate manifests.
Fixing the counts was not enough. The README also prints the crate list, and that list held 56 of the 58 directories: `mlx_native_receipt` and `orchestrator_live` were absent. A reader checking which crates exist would have missed both, and the count I corrected sat directly above a list that disagreed with it. The list is complete and stays sorted. `test_readme_lists_every_crate` compares the printed list against `crates/` as a set, so a stated count can no longer stand beside an incomplete list. Deleting one entry fails it by naming the missing crate. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…to fix/readme-crate-count-drift
The count was right and the list beside it was still wrongCorrecting the two numbers was not enough, and I should have checked this in the first pass rather than trusting that a count and the list under it agree. The README also prints the crate list. It held 56 of the 58 directories. Both are now listed, in sorted position.
Merged, not forcedAnother session restacked this branch onto #523's successor while I was working. I fetched and merged rather than forcing, and both changes stand together with no conflict.
Note that this branch now inherits #523's draft guard through that restack, so its merge is coupled to the policy question open on #523. That coupling was not mine to make, and I have left it as the other writer arranged it rather than unpicking someone else's restack. |
Preserve the README crate-count contract while ordinarily merging the current #538 head. The parent-only CodeQL cache-boundary workflow and regression test are adopted without rewriting history; this PR remains Draft until the parent integrates and exact-head gates complete.
Defect
The README had two inconsistent workspace crate-count claims while the measured workspace contains 58 directories under
crates/with aCargo.toml. This Draft binds every explicit README count and the adjacent crate inventory to the repository instead of relying on manual refresh.Current repair
tests/quality/test_readme_crate_count.pyrequires at least one explicitN independently documented ... cratesclaim, checks every such claim against the live workspace count, and requires the README crate list to equal the workspace crate set.docs/product-technical-gap-baseline.mdis not touched; that shared ledger remains owned by Draft docs(ddd): restore queue authority and bounded-context ownership #435.Current exact stack
Current exact head:
7e61e01bff1b4efc834797f99bd064ed512e1996.This dependent Draft was stacked on #538 predecessor
0a6947b11f2dba9e161f2abe8bdec0f652d4b47a(fix/contradictory-zero-count-records) rather than the stale #523 base; the live-parent drift below supersedes that historical stack statement.The ordinary-forward restack commit
21e0e126...has prior #531 exactbe17b82967c7dc0f752e35aafa008b33fc1f6a5fas first parent and #538 exact0a6947b...as second parent. The branch ref advanced withforce=false; no destructive rebase or force update was used. Relative to #538, the intended surviving delta is onlyREADME.mdplustests/quality/test_readme_crate_count.py.Current parent adoption — 2026-10-03
f335624cea977fea7d7fe6f36871868557fe2bb7.7e61e01bff1b4efc834797f99bd064ed512e1996preserves prior child21e0e12691efc7eccd22ab832b83b978ee271e43as first parent and current fix(coverage): reconcile contradictory LCOV opener counts #538 as second parent; tree5b63e553b3062b5cc93a293ed76bc702930070b3.force=false; no destructive rebase or history rewrite was used.README.mdandtests/quality/test_readme_crate_count.py.37080639129and Rust Foundation CI37080639139are terminalskippedin Draft state, not GREEN. Reviews: 0; unresolved threads: 0.Evidence boundary
Predecessor-head evidence does not transfer to
7e61e01b...; the current Draft-state skipped runs are not acceptance evidence. Keep this PR Draft while #538 is unlanded. After #538 survives protected-main integration, ordinary-forward adopt the surviving protected head if necessary and reacquire applicable exact-head checks plus qualifying independent review.Do not self-approve, bypass required gates, copy the shared product-gap ledger into this lane, or treat skipped/cancelled/predecessor checks as GREEN.