Implement CG-012 static report synthesis in @clawguard/reports#6
Open
Implement CG-012 static report synthesis in @clawguard/reports#6
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
CG-012to produce a deterministic static report synthesis that combines local static scanner output with ClawHub and VirusTotal enrichment and makes a persisted, human-readable record for CLI/notifications.Description
@clawguard/reports:synthesizeStaticReport,persistSynthesizedStaticReport,renderStaticSummary, andrenderStaticReport, which validate scan/report consistency, merge threat-intel verdicts, deriveReportSummary, and produce plain-language rationale and markdown output.storage.persistStaticReport,storage.writeJsonArtifact, andstorage.writeArtifact, and emitreport-jsonandreport-markdownartifacts for navigable evidence.packages/reports/src/index.test.tsthat cover merging enrichment, enrichment caveats in rendered output, and persistence call sequencing.packages/reports/package.jsonandtsconfig.jsonto depend on@clawguard/storage, add atestscript, addtsxas a dev dependency, and update docs (docs/clawguard-ticket-breakdown.mdanddocs/clawguard-development-plan.md) to markCG-012complete and refresh the milestone snapshot.Testing
pnpm installsuccessfully and thenpnpm build, with an initial type mismatch fixed and a successful full workspace build after adjustments.pnpm typechecksuccessfully across the workspace with no new type errors reported.pnpm --filter @clawguard/reports testand all@clawguard/reportstests passed; the new tests exercise synthesis, rendering, and persistence wiring.pnpm test; the workspace test run shows the new reports tests passing but an existing, unrelated discovery test failed (buildSkillSnapshot returns read-failed when a file cannot be read), so the overall suite did not fully pass.Codex Task