Skip to content

feat(report): summarize uncertainty without dropping scoped evidence - #114

Merged
dnlrsls merged 1 commit into
mainfrom
feat/audit-review-summary
Oct 19, 2026
Merged

dnlrsls merged 1 commit into
mainfrom
feat/audit-review-summary

Conversation

@dnlrsls

@dnlrsls dnlrsls commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Linked issue

Closes #6

Follow-up to the already completed human/JSON CLI contract. The issue remains closed; its approval label was explicitly authorized for this follow-up.

PR type

  • Bug fix
  • New feature
  • Documentation only
  • Code refactoring
  • Maintenance/tooling
  • Breaking change

Summary

  • Add deterministic human-only review groups for exact (rule_id, explanation), counting records rather than confirmed defects.
  • Keep every original scoped finding, ID, evidence record, diagnostic and limitation; grouping does not establish shared root causes or upgrade UNKNOWN.
  • Preserve canonical JSON and empty-findings human bytes; apply the same terminal-control escaping to the new summary.

Changes

Surface Change
internal/cli/cli.go Add the sorted review summary before the unchanged original report body.
internal/cli/review_summary_test.go Public Run-boundary grouping, ordering, control escaping, JSON and empty-report checks.
cmd/ci-trust/review_summary_test.go Exact public audit/report streams, lossless body suffix, canonical replay and fixture immutability.
cmd/ci-trust/e2e_test.go, bootstrap_test.go Update only intended human expectations; retain existing helper definitions and raw-body assertions.
docs/cli.md Explain record counts, full details and unchanged JSON semantics.

Test plan

  • Focused CLI/public tests observed genuine valid-fixture RED then GREEN; independent Unit B checks passed.
  • Independent raw-artifact comparisons verified normal/monorepo audit/report/bootstrap/cold-verify JSON, complete old bodies, exact exits/stderr and fixture hashes.
  • Final stacked tree exactly matches the previously reviewed source with passing full Go suite/vet/build; no new producer/schema/API behavior in this slice.
  • The parent repository-boundary slice separately passed its standalone full suite/vet before publication.

Remote native-host CI must verify this exact head. Historical captures are supporting evidence, not new remote execution. Optional Python inspection was unavailable and not retried; authorized direct comparisons passed. Native assessment was unassessable, not approval; independent verification ran.

Contributor checklist

  • Linked an approved issue and selected exactly one matching type:* PR label.
  • Tests/docs accompany behavior; Conventional Commit messages, no Co-Authored-By trailers.
  • Shellcheck / agent-skill testing: N/A, no shell scripts or skills changed.
  • No private cards, raw pilot reports, local paths or external target evidence uploaded.

Chain Context

Field Value
Chain Offline audit scope and readable uncertainty
Tracker PR Not needed: stacked PRs selected
Position 2 of 2
Base main after parent #113 merged
Depends on #113
Follow-up None
Review budget 357 changed lines / 400
Starts at Corrected repository-boundary and bootstrap behavior
Ends with Lossless grouped human summaries across existing report consumers
main (includes merged #113)
 📍 feat/audit-review-summary (this PR)

Includes presentation, tests and docs only. Excludes discovery changes, broader copied-directory policy, runtime execution and releases. Revert this unit independently. Review-only: no automatic merge, rebase, squash or branch deletion; retarget after a later authorized parent merge commit.

Risk: item 3 (shared human renderer across audit/report/bootstrap/cold verify).

Integration update

Parent #113 merged as 2295248. This PR now targets main; the source head is unchanged and the review remains the 357-line summary-only slice. Existing exact-head checks are retained; no new CI run is claimed merely because of retargeting. Final main CI will be verified after integration.

Scope: offline analysis only; no execution, dependency, CI or release changes. Tests and docs travel with this behavior unit. Combined working-tree full Go suite, vet and 80-call public differential passed; independent committed-source verification follows. Risk: item 3 (shared snapshot/report consumers).
(cherry picked from commit b02ab74c4cad47799e1e5dbcdf966cc8aa5017d7)
@dnlrsls dnlrsls added the type:feature Feature source change label Oct 19, 2026
@dnlrsls
dnlrsls changed the base branch from fix/audit-repository-boundaries to main October 19, 2026 17:20
@dnlrsls
dnlrsls merged commit c6af9ec into main Oct 19, 2026
3 checks passed
@dnlrsls dnlrsls mentioned this pull request Oct 19, 2026
12 of 19 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature Feature source change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P0] Deliver read-only audit and report CLI with human and JSON output

1 participant