Files
alktunnels/tasks/architecture/oq-tn-12-tracker.md
T
glm-5.3-flash 0ceecf582b docs: remove em dashes from repo prose and forbid them going forward
- Rewrote the remaining em dashes outside docs/reviews/ (preserved as
  historical record, matching the alktty precedent): tests/ (313),
  fuzz/ (34 plus one shell comment), tasks/ (671 plus 12 kept in
  fences), docs/research + sdd_process + plans (525 plus 25 in
  fences), docs/architecture/overview.md fence labels (13), README,
  CHANGELOG, AGENTS.md, fuzz/README.md (176), and the
  .opencode/agents prompts (110)
- Rewrote fenced content too: ASCII tree and module-map label
  separators, Rust snippet comments, and template placeholders; wire
  data, JSON/BAST examples, and transcripts survive verbatim
- Rewrote 6 assert/expect message literals in tests/ and 2 format
  strings in fuzz/shared/src; no test data changed
- Added Project Convention 18: no em dashes in prose (doc comments,
  markdown including docs/ and tasks/, agent prompts, commit
  messages); fence content rule, en-dash clause rule, and the
  no-spaced-hyphen prohibition follow alktty's convention 15

Follows 6b20924 (src doc comments) and cd0afe0 (docs/architecture).

Verification: cargo test (141 pass); cargo clippy --all-targets -D
warnings; cargo fmt --check; cargo doc --no-deps; wasm check and
clippy for wasm32-unknown-unknown with -D warnings; em dash grep over
the repo returns matches only in docs/reviews/
2026-11-03 14:12:46 +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-tn-12-tracker OQ-TN-12 follow-through: hub re-produce composition helper (deferred scope) pending
single trivial isolated research
architecture
external-trigger
deferred-oq
hub
producer
consumer

Description

OQ-TN-12 is deferred(scope) (open-questions.md): the hub re-produce composition helper: whether a crate that re-produces a tunnel resource it consumes (a hub proxy: consumer + register_openable on the same connection) needs a composition helper from this crate, or assembles from the public producer/consumer surface as-is. ADR-004 resolved the substrate inversion point to "no trait, halves functions"; the re-produce half has no concrete consumer yet, so the decision is deferred until one exists.

This task is the machine-readable half of the deferral (per docs/sdd_process.md §Deferred OQs and the blocker-task half): it tracks whether the unblocking condition has arrived. It is not implementation work and blocks nothing.

The unblocking condition: a concrete hub-proxy consumer, i.e. a crate that re-produces a consumed tunnel resource (the reverse POC's hub is the seed shape minus re-export: consumer + register_openable on the same connection, without exercising re-export).

Work

  • Re-read OQ-TN-12 + ADR-004 at triage; confirm no hub-proxy consumer has materialized (if one has, the OQ transitions deferred(scope) → open and the composition-helper decision runs as its own task).

Verification

  • Tracked (this file existing and being reviewed at triage time IS the tracking mechanism; no code or doc change is expected unless the unblocking condition above arrives)

Out of scope

  • Deciding the composition-helper question itself (runs as a new architecture task once the condition arrives)
  • Building a hub proxy (the condition is a consumer existing, not us building one)

References

  • docs/architecture/open-questions.md OQ-TN-12 (the deferral + Blocked-on condition)
  • docs/architecture/decisions/004-no-backend-trait.md (the no-trait resolution this deferral rides on)
  • docs/sdd_process.md §Deferred OQs and the blocker-task half

Notes

Agent fills during implementation.

Summary

Agent fills this on completion.