chore: gitignore reports/ and settle its contradictory contract - #80
Conversation
post-merge-systemize said never commit reports/; triage-friction-log said git-track it. .gitignore matched neither -- it ignored state/ but not reports/ -- so the first rule was unenforced and left a permanently untracked reports/ in every git status. Observed during the #78 sweep. Resolved toward ignored: the report is derived (after a sweep lands every proposal is a tracker issue and every source entry is verbatim in the archive), it grows one file per run with no doc_budgets tripwire, and state/ is already ignored on identical logic. - .gitignore: add reports/ - init.sh: add_ignore_line "reports/" so adopters get it too - triage-friction-log.md: amend the Step 6 contract and the DM template's "also pushed in next branch" line to match post-merge-systemize
|
Warning Review limit reached
Next review available in: 50 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Review gate: deliberately waived (second time this session)CodeRabbit never reviewed this diff. Its check reports
What was decidedThe operator waived the independent-review requirement for this PR. The prior waiver on No review receipt was recorded. A receipt would flip What CI actually coveredThe green here is not merely "tests passed" — the jobs map onto exactly what this diff
Also verified by hand
|
Correction: the "tests were not run locally" claim in this PR body is wrongThe PR body and the waiver comment above both state:
That is false. The full suite runs locally and always could have: How the wrong conclusion was reachedTwo probes were tried — The merged diff is unaffected — CI ran the same suites and passed, and the suite passes Why this is worth a correction rather than a shrugThis is the failure mode #54 exists for — a verification claim that names a command Two real defects this surfaced
Both are being routed to the friction log for the next triage sweep. |
Session shipped #78 (13 un-graduated entries -> 8 issues, friction log 190 -> 50 lines) and #80 (gitignore reports/, settling the contradiction filed as #79). Five friction entries, two at H. First: make test runs the full 372-test suite in 22s and nothing in the repo points at it, which is how a false "tests were not run locally" claim reached a merged PR body. Second: the wrap-up branch pattern collides on a same-date session, and gh pr create then opened #81 against the stale remote branch -- a diff that would have reverted both of the day's merges. #81 closed unmerged; the stale branch left intact because its commits are not ancestors of main. Also the Makefile comment describing a pre-push test gate that does not exist, the triage skill defaulting to a draft PR that CodeRabbit skips, and two more instances of a rate-limited CodeRabbit reporting pass. Archive sweep ran at --keep 4 (403 -> 319 lines, one block moved). The default --keep 6 no-opped on 5 blocks -- a fourth occurrence of #74. Independent review waived under the operator's existing docs-only scope; no review receipt recorded.
Settles the contradiction filed as #79.
Closes #79
The problem
Two shipped skills gave opposite contracts for the same directory:
post-merge-systemize.md:286— "commit only the doc/skill/config paths you changed — neverreports/,state/, or data files"triage-friction-log.md:442— "Thereports/triage_<today>.mdreport is kept (git-tracked alongside other reports, no automatic cleanup)"And
.gitignorematched neither — it ignoredstate/but notreports/. Sopost-merge-systemize's rule was unenforced: following it correctly left a permanentlyuntracked
reports/in everygit status. Observed throughout the #78 triage sweep,where the report was held out of the commit rather than silently introduce a
reports/convention into a repo that ships to adopters.
Resolution — toward ignored
entry is verbatim in the friction-log archive. Nothing in the report is unrecoverable.
narrative path in the kit has a
doc_budgetstripwire; a trackedreports/would bethe sole exception — Principle docs: step-by-step parallel-sessions how-to #1 violated by design.
state/is already ignored on identical logic, includinginit.sh:731appendingit for adopters. The report is scratch from the same pipeline run.
reports/becomes inherited structure nobody askedfor — the The cp -r quickstart can't distinguish kit-owned from adopter-owned files #18 problem in miniature.
Changes
.gitignorereports/, with the reasoning inlineinit.shadd_ignore_line "reports/"so adopters get it too.claude/commands/triage-friction-log.mdVerification
?? reports/no longer appears ingit status.bash -n init.shpasses.kit_doctor: 25 unchanged, 0 differ, 0 missing, 0 unknown — neitherinit.shnor.claude/commands/*.mdis manifest-tracked, and.gitignoreis explicitlyADOPTER_OWNED, so no manifest regeneration was needed.ruff check .passes.pytestis not installed in this environment; CIinstalls it. This diff touches no Python (one shell script, one markdown file, one
gitignore), so the suite is unaffected. Deferring to CI rather than claiming a pass.
Not done here
The report captures what the LLM proposed versus what was filed — on a run where the
operator skips or rewrites items, that delta is genuine provenance now living only in an
ignored file. #79 records the suggestion to surface proposed/filed/skipped counts in the
graduation marker instead, where it would actually be read. Left out of this PR as a
separate concern.