CSA Pipeline System Specification

Decision Capture — 5 architectural decisions

2026-03-07 Internal

0 of 5 decisions captured

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.
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.
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.

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.
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.