6.6 KiB
6.6 KiB
2. DECISION_CONSOLIDATION_V1.md
2.1 Purpose
This inventory separates accepted decisions from explored ideas. Statuses are normative:
- ACCEPTED_V1 — implementation may rely on it now.
- EXTENSION_POINT_V1 — foundation must not block it; no full implementation required.
- LATER — explicitly excluded from current implementation scope.
- RESEARCH — unresolved; Codex must not choose a permanent answer silently.
- REJECTED_V1 — do not implement this approach in V1.
2.2 Accepted foundation decisions
| ID | Decision | Status | Implementation consequence |
|---|---|---|---|
| FD-001 | Assistant ≠ LLM/model/provider/process | ACCEPTED_V1 | Cognitive providers are replaceable capabilities. |
| FD-002 | Extractable Modular Architecture | ACCEPTED_V1 | Deploy together when useful, design bounded components separately. |
| FD-003 | One PostgreSQL cluster may host V1, but canonical owners use separate schemas/roles | ACCEPTED_V1 | DB ACL physically prevents cross-owner writes. |
| FD-004 | Cross-owner FK/trigger business logic forbidden by default | ACCEPTED_V1 | Relations use semantic IDs/contracts/projections. |
| FD-005 | NATS/Temporal/Redis are implementation mechanisms, not semantic sources of truth | ACCEPTED_V1 | Canonical event/prospective state survives their loss. |
| FD-006 | Major cross-boundary contracts are remote-capable | ACCEPTED_V1 | In-process and remote adapters satisfy same contract tests. |
| FD-007 | No mandatory microservice-per-noun | ACCEPTED_V1 | Semantic modules and deployment runtimes are independent mappings. |
| FD-008 | Commit/Executor is an early physical isolation boundary | ACCEPTED_V1 | External credentials and mutation authority are not globally available. |
| FD-009 | Model output produces candidates/proposals, never direct canonical mutation | ACCEPTED_V1 | Typed semantic validation and commit gates. |
| FD-010 | Canonical event/outbox pattern for cross-owner durable reactions | ACCEPTED_V1 | Owner-local ACID + outbox; no distributed ACID assumption. |
| FD-011 | Prospective Memory canonicalized outside Temporal | ACCEPTED_V1 | Reminder/wake/commitment state rebuilds after workflow-engine loss. |
| FD-012 | Identity, Principal, Scope and Authority are separate concepts | ACCEPTED_V1 | Strong typed IDs and explicit command envelopes. |
| FD-013 | Goal/Task/Action/Outcome are distinct | ACCEPTED_V1 | Task completion does not imply goal/outcome success. |
| FD-014 | Situation binds request to project/workspace/environment via runtime context, not keywords | ACCEPTED_V1 | Focus Isolation Suite is foundational acceptance test. |
| FD-015 | Unknown and conflict states preserved | ACCEPTED_V1 | No premature boolean/default collapse. |
| FD-016 | Bitemporal-capable history model | ACCEPTED_V1 | Separate event/observed/valid/recorded semantics where relevant. |
| FD-017 | Canonical history append/supersede rather than retroactive semantic rewrite | ACCEPTED_V1 | Historical replay can reconstruct what was known then. |
| FD-018 | Development through Codex requires Development Commit Gate | ACCEPTED_V1 | Task authority + CI/ACL/architecture checks precede merge. |
| FD-019 | Architecture is executable | ACCEPTED_V1 | Critical rules need compiler/linter/ACL/test/observability enforcement. |
| FD-020 | V1 uses explicit boring typed mechanisms over meta-frameworks/DSLs | ACCEPTED_V1 | No generic entity engine/universal workflow DSL. |
| FD-021 | Contract/state ownership precedes DDL/protobuf | ACCEPTED_V1 | Schema is derived from semantic contracts. |
| FD-022 | Walking Skeleton before broad subsystem implementation | ACCEPTED_V1 | Foundation validated vertically, not through stub zoo. |
| FD-023 | Stronger future model is candidate, not automatic replacement | ACCEPTED_V1 | Eval/shadow/canary/promotion lifecycle. |
| FD-024 | Architecture boundaries are hypotheses and may split/merge | ACCEPTED_V1 | Stable IDs/lineage; topology migration supported. |
| FD-025 | Critical deterministic invariants are not delegated to free-form LLM judgment | ACCEPTED_V1 | Fuzzy cognition proposes; deterministic gates enforce. |
2.3 Extension points that must be preserved now
| ID | Topic | Status | V1 requirement |
|---|---|---|---|
| EP-001 | Portfolio/Trajectory engines | EXTENSION_POINT_V1 | Core goal/project/event model must permit later orchestration. |
| EP-002 | Responsibilities/Risks/Opportunities/ControlLoops | EXTENSION_POINT_V1 | Semantic namespaces/lifecycles extensible; no full engines required. |
| EP-003 | Self-development/self-migration | EXTENSION_POINT_V1 | Architecture/change provenance and replacement paths exist; autonomous self-editing absent. |
| EP-004 | Collective/global learning | EXTENSION_POINT_V1 | Knowledge provenance/scope prevents unsafe future promotion. |
| EP-005 | Multi-user/organization federation | EXTENSION_POINT_V1 | Actor/Principal/Scope not hardcoded to single user. |
| EP-006 | Robotics/edge realtime control | EXTENSION_POINT_V1 | Capability/authority model supports out-of-process bounded controllers. |
| EP-007 | Alternate coding agents | EXTENSION_POINT_V1 | Codex Task Packet provider-neutral; Codex adapter first. |
| EP-008 | Semantic generation migration | EXTENSION_POINT_V1 | Version/schema IDs and migration framework exist; no universal ontology engine. |
2.4 Explicit V1 non-goals
The following are LATER or RESEARCH, not implementation requirements for Foundation V1:
- autonomous production self-modification;
- autonomous installation of arbitrary plugins/components;
- global collective learning between unrelated users;
- Kubernetes requirement;
- custom consensus protocol;
- custom database or event-bus implementation;
- full robotics stack;
- universal ontology/DSL engine;
- one service per semantic noun;
- complete multi-tenant enterprise federation;
- training custom foundation models as part of V1;
- perfect global causal graph;
- general autonomous portfolio optimization of human life;
- fully autonomous Codex development swarm.
2.5 Rejected V1 approaches
- REJECTED: “Start as free modular monolith and split later.”
- REJECTED: giant shared domain model/package.
- REJECTED: cross-module joins because “same DB for now”.
- REJECTED: event-sourcing everything by default.
- REJECTED: microservices for every primitive.
- REJECTED: direct LLM→tool→world mutation path.
- REJECTED: Temporal workflow as canonical future obligation.
- REJECTED: vector DB/Redis/model memory as canonical knowledge.
- REJECTED: generic
entity(type,payload jsonb)as primary Core model. - REJECTED: implicit global utility score for all goals.
- REJECTED: relying on Codex remembering architecture from previous sessions.