Add architecture review findings and address documentation issues

Review of all ADR documents (001-007) and peripheral architecture docs
identified 3 critical, 10 warning, and 7 suggestion issues.

Addressed in this commit:
- W-1: Add draft qualifier to ADR-002 reference to incremental exploration
- W-2: Add Alternatives Considered section to ADR-001
- W-3: Add Document Lifecycle section to README.md (draft/stable/deprecated)
- W-4: Clarify includeCompleted semantics (only 'completed' status triggers exclusion)
- W-5: Document file I/O runtime constraints in frontmatter.md
- W-6: Add ADR reference to architecture.md redirect
- W-7: Verify CVE-2025-64718 (confirmed real, improved description)
- W-9: Convert workspace-absolute paths to relative/monorepo references
- S-7: Add future ADR-008 note to incremental-update-exploration.md

Critical issues (C-1, C-2, C-3) and remaining warnings (W-8, W-10, S-4, S-5)
were addressed by a parallel agent in a prior commit.

All 16 review tasks created and resolved.
This commit is contained in:
2026-04-26 09:41:05 +00:00
parent 4244c054b7
commit e592caed57
23 changed files with 652 additions and 17 deletions

View File

@@ -0,0 +1,26 @@
---
id: architecture/c-2-qualitydegradation-naming
name: Fix qualityDegradation semantic inversion
status: completed
depends_on: []
created: 2026-04-26T09:10:23.809702955Z
modified: 2026-04-26T09:10:23.809703479Z
scope: narrow
risk: high
---
# Description
**Review ref**: C-2 (Critical)
**Files affected**: `docs/architecture/schemas.md`, `docs/architecture/cost-benefit.md`
The field `qualityDegradation` is described as "how much upstream failure bleeds through" with "0.0 = no propagation, 1.0 = full propagation." But the propagation formula in cost-benefit.md uses `(1 - qualityDegradation)`, meaning 0.9 = 90% quality retained (low bleeding), not 90% degradation. The name and description are semantically inverted.
Resolve one of three ways:
1. **Preferred**: Rename field to `qualityRetention` (0.9 = 90% quality retained, high retention, low bleeding).
2. Invert the semantics so high values = high degradation (use `qualityDegradation` directly in formula, not `1 - qualityDegradation`), and change default from 0.9 to 0.1.
3. Keep the name but add an explicit "Note on naming" section documenting the inversion: "Despite the name, `qualityDegradation` represents quality *retention*."
This must be decided before implementation because it affects the schema, the propagation formula, the DependencyEdge default, and all consumer code.
**Source**: `/docs/reviews/architecture-review-2026-04-26.md` C-2