Summary
Modify continuous-improvement-analyst agent to emit findings to a structured finding store (instead of direct issue filing), and create a cross-session collector that groups findings by root cause and severity. This decouples signal capture from immediate issue creation.
Implementation Approach
- C1 — Modify
plugins/autonomous-dev/agents/continuous-improvement-analyst.md: Replace 7 direct filing instructions (lines 86, 276, 299, 320, 323, 335, 403) with append_finding() calls. Emit fields: severity ({info, warning, error}), root_cause_tag (existing CI check taxonomy), title, evidence, file_refs, session_id, ts. Keep human-readable ISSUE-CANDIDATE table in report. NO immediate-file tier.
- C2a — Create
plugins/autonomous-dev/lib/cia_finding_store.py (~80 lines): append_finding(record) — atomic append to .claude/logs/findings/YYYY-MM.jsonl, mode 0600. Fail-open: finding still appears in CIA report if write fails.
- C2b — Extend
plugins/autonomous-dev/lib/runtime_data_aggregator.py (~40 lines): collect_cia_findings(findings_dir: Path, window_days=90) -> List[AggregatedSignal]. Group by (root_cause_tag, title-token cluster via issue_triage_analyzer.extract_title_tokens + cluster_within_tag). Track frequency + distinct session_ids. Severity mapping {info: 0.33, warning: 0.66, error: 1.0} per AggregatedSignal.severity 0.0-1.0 contract (line 83). findings_dir REQUIRED absolute Path (no CWD default — worktree safety). Decay = window mechanism only.
- Tests:
tests/unit/lib/test_cia_finding_store.py (10: append/0600/atomic/fail-open/collect/grouping/window/distinct-sessions/worktree-CWD-resolution/severity-contract).
Acceptance Criteria
Part of macro-first plan (.claude/plans/macro-first-continuous-improvement.md). Blocks the promotion-path issue.
Plugin Version: 3.50.0 (c41558b)
Summary
Modify continuous-improvement-analyst agent to emit findings to a structured finding store (instead of direct issue filing), and create a cross-session collector that groups findings by root cause and severity. This decouples signal capture from immediate issue creation.
Implementation Approach
plugins/autonomous-dev/agents/continuous-improvement-analyst.md: Replace 7 direct filing instructions (lines 86, 276, 299, 320, 323, 335, 403) withappend_finding()calls. Emit fields:severity({info, warning, error}),root_cause_tag(existing CI check taxonomy),title,evidence,file_refs,session_id,ts. Keep human-readable ISSUE-CANDIDATE table in report. NO immediate-file tier.plugins/autonomous-dev/lib/cia_finding_store.py(~80 lines):append_finding(record)— atomic append to.claude/logs/findings/YYYY-MM.jsonl, mode 0600. Fail-open: finding still appears in CIA report if write fails.plugins/autonomous-dev/lib/runtime_data_aggregator.py(~40 lines):collect_cia_findings(findings_dir: Path, window_days=90) -> List[AggregatedSignal]. Group by (root_cause_tag, title-token cluster viaissue_triage_analyzer.extract_title_tokens+cluster_within_tag). Track frequency + distinct session_ids. Severity mapping {info: 0.33, warning: 0.66, error: 1.0} per AggregatedSignal.severity 0.0-1.0 contract (line 83). findings_dir REQUIRED absolute Path (no CWD default — worktree safety). Decay = window mechanism only.tests/unit/lib/test_cia_finding_store.py(10: append/0600/atomic/fail-open/collect/grouping/window/distinct-sessions/worktree-CWD-resolution/severity-contract).Acceptance Criteria
Part of macro-first plan (.claude/plans/macro-first-continuous-improvement.md). Blocks the promotion-path issue.
Plugin Version: 3.50.0 (c41558b)