Files
alknet/tasks/architecture/oq-10-git-adapter-spec.md
T
glm-5.2 df5d04af1d 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
2026-07-06 16:34:01 +00:00

2.3 KiB

id, name, status, depends_on, scope, risk, impact, level, tags
id name status depends_on scope risk impact level tags
architecture/oq-10-git-adapter-spec External trigger — speccing alknet-git (resolve OQ-10 when that crate is specified, not deferred past it) pending
single trivial component research
external-trigger
deferred-oq

Description

External-trigger tracker for OQ-10 (Git Adapter Scope — Smart Protocol Only or Full Server?). This is not actionable work — it tracks when the alknet-git crate is being specified, at which point OQ-10 must be resolved (not deferred past it).

Trigger condition

The alknet-git crate is being specified. The OQ's Resolution text already states: "Resolve this when speccing alknet-git, not deferred past it." The two sub-questions:

  1. Git adapter scope — start with git smart protocol over QUIC streams; ERC721 integration and full server capabilities are additive.
  2. Composability fork — whether git operations are registered in the OperationRegistry and callable via env.invoke(), or only available as raw smart protocol on alknet/git. The path of least resistance (raw smart protocol only) forecloses agent composition of git operations; to make git composable, a call-protocol projection (a set of HandlerRegistration bundles wrapping git operations behind the registry) must be built alongside or instead of the raw handler.

What unblocking looks like

When alknet-git is specced:

  1. Mark this task status: completed.
  2. Move OQ-10 from deferred to open, then resolve it as part of the alknet-git spec pass (the Resolution text is explicit: do not defer past the spec).

Why this is a task, not just an OQ field

OQ-10 predates the formalized deferred(scope) + blocking-condition pattern and lacked a structured Blocked on: field (it used the legacy deferred status with the deferral reason in the Resolution prose). This task formalizes the blocking condition and gives the OQ a machine-readable presence in the task graph.

Verification

This task is "completed" when alknet-git is being specced and OQ-10 has been moved to open (then resolved as part of that spec pass).