tasks: Phase 2 decomposition — 12-task dependency graph for v1

tasks/architecture/:
- oq-promotion-sync (planning): back-pointers from the phase-0 ledger
  + AGENTS.md to the promoted OQ tracker (the convergence checklist's
  final half)
- oq-tn-14-tracker: the Safe-Exit external-trigger tracker task for
  OQ-TN-14 (unix/stdio placement; [external-trigger, deferred-oq],
  risk trivial, level research per the two-halves rule)

tasks/tunnels/ (the implementation graph, 8 generations):
- crate-init: module skeleton per overview.md's module map
- params: TunnelParams + open-op spec (ADR-001 wire-stable surface)
- wire-codec: frame_datagram/DatagramReader + the 8 POC-pinned test
  families (ADR-003)
- producer-open-op: establisher (dial, plan flow R-01) + pump handler
  (pump_bidi inline R-02) + registration; POC-ported integration tests
- consumer-session: TunnelSession (open/adopt, data planes, teardown
  matrix — ADR-005); generalizes the reverse POC's ReverseTunnel
- producer-listen: the listen establisher + AcceptQueue contract
  (ADR-004 shape 2)
- local-socket-halves: the local feature (TCP/UDP/unix halves
  functions; truncation fail-loud per OQ-TN-13; unix ships per
  OQ-TN-14's lean-yes, stdio deferred)
- review-core-crates: review-injection point before the downstream
  tasks build on the high-risk producer/consumer shapes
- end-to-end-suite: 6 suites / >=20 tests consolidating both POC
  suites against the public API (the spec's executable form)
- review-impl: the phase-gate review (wire/API/conventions/docs sync;
  findings doc per the alkhttp/alkcall house pattern)

Graph verified with taskgraph: 12 tasks valid, no cycles, 8
generations; critical path = oq-promotion-sync -> crate-init ->
params -> wire-codec -> producer-open-op -> consumer-session ->
review-core-crates -> review-impl; risk concentrated in the two
session tasks (both POC-validated); parallel groups available at
generations 1 and 6
This commit is contained in:
2026-09-07 19:07:20 +00:00
parent bd7d1ad8ec
commit 69498b79cc
12 changed files with 1051 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
---
id: architecture/oq-promotion-sync
name: Sync AGENTS.md + phase-0 ledger pointers to the promoted OQ ledger (planning)
status: pending
depends_on: []
scope: single
risk: trivial
impact: project
level: planning
tags: [architecture, phase-1, oq]
---
## Description
Phase 1 promoted the Phase 0 OQ ledger into `docs/architecture/open-questions.md`
(OQ-TN-01..14) and split OQ-TN-11/13 into resolved halves (ADR-001/ADR-003).
The older ledgers still describe pre-Phase-1 states in two places:
1. `docs/research/phase-0-findings.md` — the OQ sections (OQ-TN-01..10) should
carry one-line "promoted to `docs/architecture/open-questions.md` as OQ-TN-NN"
pointers so a reader landing in the research doc finds the live tracker (the
convergence checklist's last unchecked item says "promoted ... with statuses" —
the promotion exists; the back-pointer is the missing half).
2. `AGENTS.md` — the "Architecture Context" section says `docs/architecture/`
"will hold the authoritative spec (Phase 1 of the SDD process)... It does not
exist yet". That is now stale: the spec exists (ADR-001..006 + 4 spec docs +
BAST + OQ tracker). Update the paragraph to point at the real directory and
adjust the "read it before non-trivial changes once it exists" line.
## Work
- phase-0-findings.md: add a promotion note at the top of the Open Questions
section (and one line under the convergence checklist's final item) pointing
at `docs/architecture/open-questions.md`; mark the checklist item done.
- AGENTS.md: rewrite the `docs/architecture/` bullet to the present tense
(spec exists; read it before non-trivial changes; ADRs 001..006 are
Accepted; the OQ tracker is authoritative for open questions).
## Verification
- [ ] phase-0-findings.md has the promotion pointer; the checklist's final
item is checked
- [ ] AGENTS.md architecture-context paragraph reflects the existing spec
- [ ] No other stale "does not exist yet" language anywhere in AGENTS.md or
docs/
## Out of scope
- Any change to the OQ statuses themselves (that is the tracker's job now)
## References
- docs/architecture/open-questions.md (the promoted ledger)
- docs/sdd_process.md §Safe Exit (the two-halves rule for deferrals)
## Notes
> Agent fills during implementation.
## Summary
> Agent fills this on completion.