docs(architecture): dissolve OQ-09's self-referential deferral
- OQ-09 resolved closed-by-default (deny-unlisted), decided on risk asymmetry in hand, not on a first deployment the crate itself must create; named reopen condition instead of a parked wait - delete oq-09-ops-visibility-tracker.md (watch-task for an event the crate itself gates — never collapses) - fix doc-lifecycle circularity: externally-owned OQs no longer block a spec's `reviewed` promotion - gc-and-namespaces: "until a consumer names a requirement" reframed as re-entry via a new ADR, not a parked question - README: state the corollary explicitly — facts this crate must create (its own first deployment/consumer) are never deciding inputs Verified: full-text sweep for stale OQ-09 deferral/tracker references comes up clean across docs/ and tasks/.
This commit is contained in:
1 parent
4b5009d85a
commit
b18521a0e6
6 files changed
+75
-103
No files matched your search
+23
-18
@@ -1,6 +1,6 @@
|
||||
---
|
||||
status: draft
|
||||
last_updated: 2026-10-01
|
||||
last_updated: 2026-10-02
|
||||
---
|
||||
|
||||
# alkblobs — Architecture
|
||||
@@ -54,25 +54,30 @@ there — not inherited as hedges:
|
||||
## Open Questions
|
||||
|
||||
Tracked in [open-questions.md](open-questions.md). The Phase 0 register
|
||||
(OQ-BL-01..06) is promoted there with its resolutions; three questions
|
||||
(OQ-BL-01..06) is promoted there with its resolutions; two questions
|
||||
remain parked — OQ-07/OQ-08 externally-owned (alkgit seam mapping,
|
||||
alkfs intake; carried for visibility, gating nothing here) and OQ-09
|
||||
(ops namespace-visibility default, `deferred(scope)` until the first
|
||||
embedded ops deployment). **Deferral policy (the "Schrödinger's code"
|
||||
rule):** a *decision this crate needs before shipping* may not be
|
||||
deferred on a dependency that is itself waiting for this crate to
|
||||
exist. Two parking kinds remain legitimate: `deferred(scope)` on a
|
||||
deciding fact that exists independently of this crate, and
|
||||
externally-owned questions (how a consumer maps onto this crate) that
|
||||
gate no decision here — full definitions in the header of
|
||||
[open-questions.md](open-questions.md).
|
||||
alkfs intake; carried for visibility, gating nothing here). OQ-09
|
||||
(namespace-visibility default) resolved closed-by-default. **Deferral
|
||||
policy (the "Schrödinger's code" rule):** a *decision this crate needs
|
||||
before shipping* may not be deferred on a dependency that is itself
|
||||
waiting for this crate to exist. Two parking kinds remain legitimate:
|
||||
`deferred(scope)` on a deciding fact that exists independently of this
|
||||
crate, and externally-owned questions (how a consumer maps onto this
|
||||
crate) that gate no decision here — full definitions in the header of
|
||||
[open-questions.md](open-questions.md). A corollary worth restating,
|
||||
because it recurs: a fact this crate must create (its own first
|
||||
deployment, its own first consumer) is never a deciding input —
|
||||
decisions stand on evidence in hand, and future needs reopen via named
|
||||
requirements, not via waiting.
|
||||
|
||||
## Lifecycle
|
||||
|
||||
Spec docs: `draft` → `reviewed` → `stable` → `deprecated`. A doc moves
|
||||
`reviewed` when every open question it references resolves and an
|
||||
architecture review pass clears it; `stable` when implementation
|
||||
verifies against it; `deprecated` when superseded (kept for reference).
|
||||
ADRs use a separate status set (Accepted | Proposed | Deprecated |
|
||||
Superseded), defined per ADR file. This tree is in `draft` pending the
|
||||
first architecture review cycle.
|
||||
`reviewed` when every *crate-owned* open question it references
|
||||
resolves and an architecture review pass clears it — externally-owned
|
||||
OQs (OQ-07/OQ-08) gate nothing here by definition and do not block the
|
||||
lifecycle; their outcomes arrive through their owners' processes.
|
||||
`stable` when implementation verifies against it; `deprecated` when
|
||||
superseded (kept for reference). ADRs use a separate status set
|
||||
(Accepted | Proposed | Deprecated | Superseded), defined per ADR file.
|
||||
This tree is in `draft` pending the first architecture review cycle.
|
||||
Reference in new issue
Block a user