[Impl] Keep text overview incident timeline rows readable#221
Conversation
|
Product validation PASS for the readable text overview follow-up. Evidence from clean validation clone
Readable-width evidence:
Scope review: diff is limited to |
Quality Gatekeeper ReviewVerdict: PASS
Notes:
Decision: PASS. The PR keeps the implementation scoped to text overview incident row readability, preserves structured report contracts, and includes a synthetic regression for wide incident rows. |
|
Handoff to: Growth Merged in PR #221. User-visible release note candidate: text overview now keeps Incident timeline rows within readable terminal-width lines. Scope is text overview formatting only; JSON, Markdown, HTML, install, package, and release surfaces were unchanged and validated by Quality. |
|
Event: Validation
Readable-width evidence after merge:
Decision: #220 scope is complete on master. No release/package action is authorized by this validation. |
Closes #220
Summary
Touched surfacedetails readable by truncating detail text before it pushes rows past normal terminal width.User value
Terminal-first users can scan incident evidence without one long row stretching the default overview past ordinary terminal widths.
Scope
Changed files
internal/engine/report.gointernal/engine/engine_test.goTest plan
go test ./internal/engine -run 'TestReportOverviewText(BoundsIncidentTimelineRows|WrapsAuthoritySummary|ShowsIncidentAndAuthorityCues|TruncatesUnicodeSafely)'go test ./internal/enginego test ./...go build -o /tmp/agenttrace-parser-check ./cmd/agenttrace/tmp/agenttrace-parser-check --doctor || true/tmp/agenttrace-parser-check --demo --overview -f text >/tmp/agenttrace-parser-overview-220.txt/tmp/agenttrace-parser-check --demo --overview -f json >/tmp/agenttrace-parser-overview-220.json/tmp/agenttrace-parser-check --demo --overview -f markdown -o /tmp/agenttrace-parser-overview-220.md >/tmp/agenttrace-parser-overview-220.md.stdout/tmp/agenttrace-parser-check --demo --overview -f html -o /tmp/agenttrace-parser-overview-220.html >/tmp/agenttrace-parser-overview-220.html.stdoutrg -n "Incident timeline|Touched surface|Tool authority|Highest category|Authority category counts|High-authority tools|Recent Anomalies" /tmp/agenttrace-parser-overview-220.txt /tmp/agenttrace-parser-overview-220.md /tmp/agenttrace-parser-overview-220.htmlnode -e "const fs=require('fs'); const txt=fs.readFileSync('/tmp/agenttrace-parser-overview-220.txt','utf8'); if(txt.includes('\\uFFFD')) throw new Error('replacement character in text overview'); const lines=txt.split(/\\n/); const max=Math.max(...lines.map(l=>[...l].length)); const incident=[]; let on=false; for (const l of lines){ if(l.includes('── Incident timeline ──')){on=true; continue} if(on && !l.trim()) break; if(on) incident.push(l)} const incidentMax=Math.max(...incident.map(l=>[...l].length)); if(incidentMax>100) throw new Error('incident line too wide: '+incidentMax); const json=JSON.parse(fs.readFileSync('/tmp/agenttrace-parser-overview-220.json','utf8')); if(!Array.isArray(json.incident_timelines)) throw new Error('missing incident timelines'); console.log('overview artifacts ok, max text '+max+', incident '+incidentMax);"AGENTTRACE_BIN=/tmp/agenttrace-parser-check AGENTTRACE_CI_OUT=/tmp/agenttrace-parser-ci-output-220 scripts/ci/check-output-contract.shAGENTTRACE_BIN=/tmp/agenttrace-parser-check AGENTTRACE_CI_OUT=/tmp/agenttrace-parser-ci-deterministic-220 scripts/ci/check-deterministic-output.shAGENTTRACE_BIN=/tmp/agenttrace-parser-check AGENTTRACE_CI_OUT=/tmp/agenttrace-parser-ci-semantics-220 scripts/ci/check-report-semantics.shAGENTTRACE_BIN=/tmp/agenttrace-parser-check AGENTTRACE_CI_OUT=/tmp/agenttrace-parser-ci-docs-220 scripts/ci/check-docs-commands.shscripts/ci/check-release-surfaces.shscripts/ci/check-pages-artifact.sh sitegit diff --checkFixture/privacy note
Uses synthetic unit-test data and demo output only. No real user prompts, logs, paths, tokens, or secrets were added.
Risk
Low to medium. Long incident details are shortened in text overview only; the signal label and compact evidence remain visible, and structured report contracts are unchanged.
Non-goals
Blackboard events
impl/220-readable-incident-textfromorigin/masterafter confirming stale branchimpl/218-readable-authority-textwas merged in PR [Impl] Keep text overview authority summary readable #219.Release impact
patch: text overview visible formatting changes for Incident timeline row readability. No parser/source compatibility change, no CLI behavior change, no JSON/Markdown/HTML contract change, no install/package docs change.
Handoff suggestion
Handoff to: Growth after merge if release notes are being collected.
Suggested release note: text overview now keeps Incident timeline rows within readable terminal-width lines.