Critical fixes:
- Rename qualityDegradation → qualityRetention across all docs
(semantically inverted: 0.9 meant 90% quality RETAINED, not 90%
degradation). Updated schemas, graph-model, cost-benefit, ADRs.
- Add TaskInput → TaskGraphNodeAttributes transformation section
to graph-model.md, documenting how Nullable(Optional) input fields
map to Optional graph attributes
- Fix DuplicateEdgeError fields: source/target → prerequisite/dependent
to match the established edge direction convention
- Fix resolveDefaults signature: Partial<TaskGraphNodeAttributes>
→ Partial<...> & Pick<TaskGraphNodeAttributes, 'name'> to
require the name field
- Move Nullable helper definition before its first use in schemas.md
- Fix 'construction never throws' contradiction: rephrase to
'construction enforces uniqueness, not data quality'
- Define all 6 enum value sets in schemas.md (previously only
TaskScope and TaskRisk were explicit)
- Add EvConfig parameter table with defaults and semantics
- Document WorkflowCostOptions.limit parameter
- Add construction error handling table to graph-model.md
- Add graph.raw mutation safety warning to api-surface.md
- Update build-distribution.md error class list to include
DuplicateNodeError and DuplicateEdgeError
The 751-line architecture.md violated the SDD process modular documentation
target (~500 lines). It also had duplicate TaskGraph class definitions (one
monolith, one decomposed) that directly contradicted each other, and embedded
consumer-specific tool dispatch mappings that belong in downstream projects.
Changes:
- Split into 8 focused documents + 7 ADR records + redirect page
- Removed the monolithic TaskGraph class (kept only decomposed version)
- Moved CLI→plugin dispatch mapping out (belongs in plugin architecture)
- Extracted implementation code (frontmatter splitter, findCycles, DAG
propagation) into WHAT/WHY descriptions per architect role spec
- Added proper ADR format for all resolved design decisions
- Fixed review issues: C_fail mapping, DuplicateNodeError/DuplicateEdgeError
types, ValidationError/GraphValidationError definitions, mutation error
handling contract, enum naming convention, validation timing clarification