D1
Partial Failure Handling
The pipeline has 4 external dependencies (FTP, Mermaid API, Slack, Playwright). Currently, any single failure blocks the entire run. How should partial failures be handled?
A) Halt on any failure
Simple, predictable. No partial states. But Slack outage blocks artifact delivery.
B) Graceful degradation
FTP + Mermaid are critical (halt). Slack + Playwright are non-critical (warn, continue). Matches operational reality.
C) Full retry queue
Most robust — auto-recovery for all failures. But requires queue infrastructure (Redis/similar).
D2
Handoff Manifest Requirement
Phase 10.1 writes _handoff.json to each engagement workspace. Should this be required for all engagements, or just new ones?
A) Required for all
Retroactively backfill all 18 existing engagements. Complete coverage but more upfront work.
B) Required for new only
All new CSA runs must write _handoff.json. Existing engagements backfilled optionally.
C) Optional for all
_handoff.json is available but never required. Maximum flexibility, minimum consistency.
D3
Flywheel Version Numbering
When the feedback flywheel generates new artifact versions, how should versions be numbered? This affects URL paths and dashboard display.
A) Sequential (v1, v2, v3)
Current pattern. Simple URL paths (/briefing/v2/). Already established in HHE Tier Refactor and SecondActSociety RAG v2.
B) Date-based (YYYY-MM-DD)
Chronologically sortable. But breaks existing URL conventions and dashboard patterns.
C) Hybrid (v1-2026-03-07)
Both version and date. Most information but longest URL paths.
D4
Quality Thresholds: Flywheel vs. Fresh Run
When should the system recommend a flywheel iteration (v{N+1}) vs. a completely fresh CSA pipeline run with new context?
A) QA score only
Simple: QA >= 90 = flywheel eligible. Ignores whether client actually responded.
B) Score + age
QA >= 90 AND less than 14 days old. Stale engagements get fresh runs.
C) Score + decisions resolved %
QA >= 90 AND 50%+ decisions resolved. Below 50% resolution after 14+ days = fresh run. Most signal-driven.
D5
Dashboard Generation Strategy
The CSA Dashboard (index.html) is manually maintained per Phase 11. At 18 projects and growing, should it be auto-generated?
A) Full auto-generation
Scan folders, read manifests, generate entire HTML. Zero manual work but limited customization.
B) Manual maintenance
Current approach. Full control over summaries and badges. Does not scale past ~25 projects.
C) Hybrid manifest-driven
Each engagement has _manifest.json. Generator reads manifests but preserves manual summary/status overrides. Best of both.