v1.6.0: harden audit comment ingestion - #1107
Conversation
|
Note Automatic reviews are paused because your team has used its included automatic processing for this billing period (headroom scales with your seat count). You can still comment "Gitar review" to run one anytime, and automatic reviews resume on their own by October 1. Add seats for more headroom. Code Review ✅ Approved🟡 Medium risk · Broad bounded comment-ingestion changes alter audit, labeling, and gate behavior Hardens audit comment ingestion by adding a bounded, payload-aware history reader with per-response/item/page/aggregate budgets, page size adaptation, terminal page validation, and duplicate ID detection. Recognizes lineage controls only as exact standalone HTML comments outside fenced Markdown to prevent false positives from literal marker names in prose. All audit, lineage, gate, workflow, packaging, and release tests pass. No issues found. OptionsDisplay: compact → Counting what did not apply, without listing it. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
Claude audit (merge-authority lane)Head SHA: |
69ca09f to
084d649
Compare
|
Code Mower notice: previously audited head |
Claude audit (merge-authority lane)Head SHA: |
|
Code Mower notice: previously audited head |
Claude audit (merge-authority lane)Head SHA: |
|
Code Mower notice: previously audited head |
|
Code Mower notice: previously audited head |
Claude audit (merge-authority lane)Head SHA: |
Audit consumers previously decoded GitHub comment history through the 256 KiB private-context path, while the generated gate used an unbounded slurp. A sufficiently long audit history could therefore fail closed inconsistently or consume unbounded data, and literal marker names in prose or Markdown examples could be mistaken for lineage controls.
This change adds one bounded, payload-aware history reader for local audits, hosted labelers, lane status, gate health, and the generated gate. It adapts page size by restarting at page 1, enforces per-response/item/page/aggregate budgets, proves a terminal page, and rejects duplicate or changed IDs across a stable reread. It also recognizes lineage controls only as exact standalone HTML comments outside fenced Markdown, while malformed controls from trusted authorities still fail closed.
Validation:
550 passed, 2074 subtests passedacross the affected audit, lineage, gate, workflow, packaging, and release suitesCloses #1104