# 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.