Repository navigation
docs(captures): the naming-calibration demo reprinted the project's own rebrand; those rows are now withheld and counted - #193
Conversation
…d rows, which name a private pre-release identifier --naming-calibration mines this repository's own git history for rename pairs, and its largest family is the project's rebrand: the new spelling carries the public name as one `_`-delimited part, and the old spelling is the same identifier with that part swapped for a private pre-release identifier. Every capture of a real run published those rows at exit 0, and nothing could see them: no scrub class, no STOP class and no gate arm had a shape for a name that must not be spelled. The rule keys on the PUBLIC side. docs/docs_commands_build.py defines it once (is_rebrand_rename, rebrand_rename_row): withhold a rename row whose new identifier holds the public name as a whole part, or is it, and whose old identifier is the new one with exactly that part replaced by another single part. It never spells what it withholds, and the count is exact because that shape is the whole family. A re-casing of the public name, or a rename that changes some other part, is kept. Withheld, never silently dropped. withhold_rebrand_rows() replaces the rows with ONE comment carrying the exact count, where the first of them stood, and returns every other line byte-identical. test/showcase_capture.py applies it after the display cut (publish_block), so the window and its marker still describe the real output; trim_sample applies it to every docs/COMMANDS.md sample; assert_scrubbed and the harness's refusal stop a row that shares its line with other output. Every report names an offending row by its new spelling only, so a red run cannot publish the old one in its log. test/docscommandscheck.sh arm (E) gains the class over docs/COMMANDS.md and every capture, plus an ACCOUNTING check on every --naming-calibration block: rows shown + rows withheld + rows past the display cut must equal the pairs= the tool reported. Arm (F) proves a real non-rebrand row (copyRange -> moveRange) and four near misses are kept, three synthetic rebrand rows are withheld under one disclosure saying 3, and an off-by-one disclosure and a silent drop both turn the accounting red. On main's files (E) is red in 39 places, while the accounting already closes on all six blocks with 0 withheld. The committed captures are scrubbed FORWARD with the same function, never by rewriting history: 35 rows across the 09-05, 09-07, 09-08, 09-09, 09-10 and 09-11 captures (5/6/6/6/6/6), one disclosure line each, every other byte unchanged; the 08-xx captures carried none and are untouched. docs/COMMANDS.md is regenerated from the scrubbed newest capture, so its four rows become the disclosure and the next three. A capture regenerated on this commit follows. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…the first capture that withholds the rebrand rows at the source Recorded in a REF-CLEAN clone, because the harness runs its ref demos against the checkout's own local branches: a clone of main alone, plus only the lane branches main's 09-11 capture already published that still exist on origin (lane/capsweep-2026-09-10, lane/contributing-sorting-2026-09-10), the public v* tags, and no remote. `git for-each-ref` there listed exactly those refs; the tree was clean and the binary was built from bc34f32 in that clone. The --naming-calibration block withholds 6 rename rows under one disclosure line and closes the accounting test/docscommandscheck.sh arm (E) checks: 14 rows shown + 6 withheld + 48 past the display cut = pairs="68". docs/COMMANDS.md is regenerated from this capture with the same binary. Every lane/ name in both files is one main's copy already carried or a branch on origin; the ref demo that named the recording machine's local fix/ branches in 09-11 names the public lane/ family here instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (11)
Included review availability: Your plan provides up to 4 included reviews per hour; 0 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe change adds private rebrand-row detection and withholding to documentation generation and showcase publication. It updates captured outputs and adds accounting, mutation, trimming, and leak-detection checks. ChangesRebrand row scrubbing
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~45 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant ShowcaseCapture
participant FmtBlock
participant ExportScrub
participant PublishedTranscript
ShowcaseCapture->>FmtBlock: format stdout or stderr block
FmtBlock->>ExportScrub: pass block after display cut
ExportScrub->>PublishedTranscript: publish block with rebrand rows withheld
Merge Risk: ⚪ Minimal · up to The capture disclosures correctly account for shown, withheld, and truncated rows, so no actionable merge risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
… before regenerating docs/COMMANDS.md Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…the rankGraphTeleport seed at graph.h:3359 had moved Recorded in a ref-clean clone, because the capture's ref demos (--stray-content=lane, --eval-stray, the branch listings) read the checkout's real local refs. The clone held exactly main (2e3473f), the two lane branches main's capture already shows and origin still carries (lane/capsweep-2026-09-10, lane/contributing-sorting-2026-09-10), and the 16 release tags v0.1.0 through v0.6.0. It had no remote and was detached at the merge 45c9467. docs/COMMANDS.md was generated in the same clone from that capture and that build. Every lane/ name in both files is public: the two branches above, and lane/v1, which occurs only inside the policy id codex-lane/v1 and is already on main. The --naming-calibration block still withholds the project's own rebrand rows at the source (redhat-et#193), under its one disclosure line, and docscommandscheck (E), (F) and (G) pass. The rankGraphTeleport demo's src/graph.h seed moves from 3359 to 3362 with this PR's graph.h change; showcasecapturecheck (H) resolves it again. Recorded with TMPDIR pointed at a new, empty directory, so the run's cache starts empty and no cache state from other trees on the recording machine reaches the document. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The showcase capture's
--naming-calibrationdemo mines git history for identifier rename pairs. The largest family it finds is the project's own rebrand. Those rows name a private pre-release identifier, and every capture regenerated since the rename reprinted them.docs/COMMANDS.mdcopied them too. Nothing in the export scrub stopped them.The rule, keyed on the public side
docs/docs_commands_build.pynow defines one predicate, andtest/showcase_capture.pyand the gate both import it. A rename row is part of the rebrand when:_-separated parts,ripwire.The rule never spells the old name, and it matches the whole family exactly.
Each withheld block becomes one honest line where its first row stood:
<!-- N rename rows withheld: the project's own rebrand, which names a private pre-release identifier -->If a matching row shares a line with other output, the write refuses rather than splitting it.
What changed
COMMANDS_showcase_2026-09-05.mdCOMMANDS_showcase_2026-09-07…-09-11.mdCOMMANDS_showcase_2026-09-12.md(new)docs/COMMANDS.mddocs/COMMANDS.md: both were regenerated on this branch in a clone holding onlymain, the twolane/*branches main's capture already shows, and the publicv*tags. That keeps local branch names from reaching the document. Its lane names are identical to main's copy.Gate
test/docscommandscheck.sharms (E) and (F):pairs=, for example 14 + 6 + 48 = 68.copyRange→moveRange) and four near misses are kept unchanged. A disclosure that is off by one, or a row dropped without a disclosure, turns the gate red.Verification
gates=6 pass=6 skip=0 fail=0(showcasecapture, docscommands, ripwirepublic, namingcalibration, mdembed, readmedrift), plusargvdiffcheckon the new capture.limits_build --checkandgatecount_build --checkboth return 0.🤖 Generated with Claude Code