Skip to content

feat(analyze): one analysis command; serve/investigate/report share the run - #27

Merged
efij merged 1 commit into
mainfrom
feat/analyze-orchestration
Sep 2, 2026
Merged

feat(analyze): one analysis command; serve/investigate/report share the run#27
efij merged 1 commit into
mainfrom
feat/analyze-orchestration

Conversation

@efij

@efij efij commented Sep 2, 2026

Copy link
Copy Markdown
Owner

See CHANGELOG [Unreleased]. RCA: analysis stages were separate order-dependent commands; serve showed 'run X and reload'; triage re-normalized and wiped corroboration states. Fix: internal/analysis orchestrates every stage once; consumers Ensure() it. No feature removed — single-stage commands stay as aliases/scripting. Verified: analysis tests (all stage files, states + findings preserved, renormalize invalidates), serve/report tests updated, binary E2E: analyze --endpoint → 6 findings; triage re-run keeps CONTRADICTED and correlation findings; serve extras populated; report reflects states. go test -race green.

…he run

- internal/analysis: Run() orchestrates normalize (only when missing/stale),
  endpoint + shell-history correlation before detection, streaming detections,
  rule packs, MCP audit (+ gateway), provenance; writes detections/{findings,
  mcp-audit,provenance,corroboration,analysis}.json de-duplicated and
  severity-sorted; earlier correlation results survive re-analysis unless the
  overlay is re-parsed; Stale()/Ensure() for consumers.
- cli: `analyze` (triage = alias) with --endpoint/--shell-history/--gateway-*/
  --rules/--honeytokens/--renormalize/--json; serve, investigate, report call
  analysis.Ensure and render the persisted run; help text regrouped by
  workflow step in plain language.
- serve UI: empty extras sections hidden; message no longer tells the user to
  run other commands.
- tests: all stages produce their files; states and correlation findings kept
  across re-runs; renormalize invalidates; Ensure no-op; sorted output.
- docs: README four-step quick start, CHANGELOG; version 0.13.0-dev.
@efij
efij force-pushed the feat/analyze-orchestration branch from 514cfdd to 396b3a4 Compare September 2, 2026 21:25
@efij
efij merged commit 3f0c756 into main Sep 2, 2026
5 checks passed
@efij
efij deleted the feat/analyze-orchestration branch September 2, 2026 21:29
@efij efij mentioned this pull request Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant