tasks(arch): adopt taskgraph for architecture work — blocker tasks for deferred OQs, level mapping, status fixes

Establishes the tasks/architecture/ blocker-task half of the Safe Exit
protocol. Each deferred OQ now has an external-trigger tracker task
representing its unblocking condition, and the OQ's Blocked on field names
the tracker task ID — closing the gap where the deferral field existed but
the task-graph half was unenforced.

Changes:
- Add 6 external-trigger tracker tasks for the deferred OQs (OQ-09, 10, 32,
  41, 44, 46) under tasks/architecture/, tagged [external-trigger, deferred-oq]
- Add structured Blocked on field to OQ-09 and OQ-10 (previously used legacy
  'deferred' status with the reason in the Resolution prose); index now
  surfaces all 6 deferred OQs with concrete conditions, no placeholders
- Document the architecture-task level mapping (level: implementation for
  ADRs/specs, decomposition for spec-to-ADR breakdown, planning for backlog
  seeding, research/review direct fits) and the deferred-OQ blocker-task
  pattern in docs/sdd_process.md
- Mark architecture/safe-exit-blocker-task-mechanism and
  architecture/oq-09-10-blocking-conditions completed (implemented by this pass)
- Fix 4 pre-existing ADR-050 implementation tasks: status: done → completed
  (taskgraph enum is 'completed', not 'done') — taskgraph validate now passes
  for all 100 tasks
This commit is contained in:
glm-5.2 committed 2026-07-06 16:34:01 +00:00
1 parent e6062230f9
commit df5d04af1d
16 files changed
+440 -14

No files matched your search

@@ -1,12 +1,13 @@
---
id: architecture/oq-09-10-blocking-conditions
name: Add explicit Blocked on conditions to OQ-09 (WASM) and OQ-10 (Git Adapter)
status: pending
status: completed
depends_on: []
scope: narrow
risk: low
impact: component
level: decomposition
tags: [convention]
---
## Description
@@ -39,8 +40,20 @@ Either:
The decision content stays unchanged — this is a metadata-structure fix, not a
re-resolution.
## Summary
Completed alongside `architecture/safe-exit-blocker-task-mechanism`. Added a
structured `Blocked on:` field to both OQ-09 and OQ-10 in their per-OQ files,
each pointing at its new external-trigger tracker task
(`architecture/oq-09-wasm-server-use-case`,
`architecture/oq-10-git-adapter-spec`). Kept the legacy `deferred` status
rather than reframing to `deferred(scope)` — the distinction is no longer
load-bearing now that both have explicit blocking conditions and tracker
tasks. The `open-questions.md` Deferred/Blocked section now surfaces all six
deferred OQs with concrete conditions inline — no placeholders remain.
## Verification
The "Deferred / Blocked" section of `docs/architecture/open-questions.md` should
show a concrete blocking condition for OQ-09 and OQ-10 instead of the "no
The "Deferred / Blocked" section of `docs/architecture/open-questions.md`
shows a concrete blocking condition for OQ-09 and OQ-10 instead of the "no
explicit blocking condition recorded" placeholder.