3.1 KiB
3.1 KiB
7. UNRESOLVED_QUESTIONS.md
These questions are intentionally unresolved. Codex must not silently turn temporary assumptions into permanent architecture.
| ID | Question | Status | Temporary V1 position | Blocking? | Revisit trigger |
|---|---|---|---|---|---|
| UQ-001 | Exact split of Work into Goal/Task/Decision modules |
RESEARCH | One canonical Work owner for V1 | No | Contract churn/co-change/consistency pressure |
| UQ-002 | Artifact metadata as separate module vs platform service | PROPOSED | Keep separate semantic owner if persistence begins | No | First large artifact integration |
| UQ-003 | Exact NATS subject taxonomy | DEFERRED | Define only subjects required by skeleton | No | First durable cross-owner event |
| UQ-004 | Exact Temporal workflow topology | DEFERRED | Temporal adapter behind Continuity; canonical prospective state outside | No | WS-002 implementation |
| UQ-005 | gRPC vs another remote transport for internal calls | DEFERRED | Contracts language-neutral; choose simplest baseline during remote drill | No | WS-004 |
| UQ-006 | Extent of canonical event archive vs per-owner transition history | RESEARCH | Do not event-source everything; retain meaningful events/outbox | No | Replay/recovery requirements emerge |
| UQ-007 | Formal policy engine technology | LATER | Deterministic typed Authority/Commit rules in Go V1 | No | Policy complexity outgrows code safely |
| UQ-008 | Vector store implementation | LATER | Search indexes derived; no foundation dependency | No | Epistemic retrieval slice |
| UQ-009 | Redis requirement | LATER | Optional cache only; correctness must not depend on it | No | Performance evidence |
| UQ-010 | Full Identity merge/split production workflow | EXTENSION_POINT | IDs/lineage schema must not preclude it; test simplified correction later | No | Multi-source identity pressure |
| UQ-011 | Portfolio/Trajectory/Responsibility primitives promotion | RESEARCH | Not Core V1 | No | Repeated distinct lifecycle/authority need |
| UQ-012 | Self-development automation | LATER | Development Control Plane external/manual-governed | No | Foundation + safe change/recovery mature |
| UQ-013 | Multi-user organization governance | LATER | Actor/Principal/Scope designed generally; expose single-user V1 if desired | No | Actual shared workspace requirement |
| UQ-014 | Canonical wire codec longevity | RESEARCH | Versioned schema/envelope; initial protobuf acceptable, not eternal identity | No | First non-Go module or major semantic migration |
| UQ-015 | Exact data retention/privacy policy engine | RESEARCH | Store scope/provenance/sensitivity hooks; implement concrete policies per product deployment | No | Product/legal requirements |
7.1 Spec-gap protocol
If implementation encounters a semantically material unknown not listed here, Codex emits a SpecificationGap with:
- exact scenario;
- current contract insufficiency;
- smallest temporary safe behavior if one exists;
- whether work can continue independently;
- proposed alternatives without choosing permanent architecture.
No architecture gap is solved by creating an unowned table, generic JSON object, cross-module direct read/write, or hidden provider-specific field.