ELNOR REPO READER TEXT MIRROR Original path: Current Specs/DOC15/DOC15_Build_Manifest_v1.1 (1).md Source repo: /Users/OpenClaw1/Elnor/Elnor Specs Git branch: main Git commit: dbaa25962edc11ab30e8d4ca1715f9ae5bf77331 Generated: 2026-06-09T01:23:58.539Z --- # DOC15 Build Manifest v1.1 # Cognitive Infrastructure Layer — Implementation Task Sequence **Date:** March 2026 **Purpose:** Flattened build plan for coding agents. Replaces phase-based tracking. **How to use:** Coding agents read this at session start. Find the next unblocked task. Build it. Mark done. --- ## Status Key - `[ ]` Not started - `[~]` In progress - `[✓]` Complete - `[B]` Blocked (see dependency) - `[S]` Skipped (deferred to later manifest version) --- ## BLOCK A — Schema Foundation (No dependencies, start here) | # | Task | File | Done When | Est Hours | Status | |---|---|---|---|---|---| | A-01 | Create StandingOrderSchema (Zod) | `packages/contracts/src/cil-schemas.ts` | Existing standing_orders.json validates | 2h | [ ] | | A-02 | Create CorrectionSchema (Zod) | `packages/contracts/src/cil-schemas.ts` | Existing corrections.json validates | 2h | [ ] | | A-03 | Create UserProfileSchema (Zod) | `packages/contracts/src/cil-schemas.ts` | Existing user_profile.json validates | 2h | [ ] | | A-04 | Create PreferencesSchema (Zod) | `packages/contracts/src/cil-schemas.ts` | Existing preferences.json validates | 1h | [ ] | | A-05 | Create PatternsSchema (Zod) | `packages/contracts/src/cil-schemas.ts` | Existing patterns.json validates | 1h | [ ] | | A-06 | Create VocabularySchema (Zod) | `packages/contracts/src/cil-schemas.ts` | Existing vocabulary.json validates | 1h | [ ] | | A-07 | Create ContextFactsSchema | `packages/contracts/src/cil-schemas.ts` | Compiles, includes all §3.3 fields | 2h | [ ] | | A-08 | Create MatcherFieldSchema + ContextMatcherSchema | `packages/contracts/src/cil-schemas.ts` | Compiles, matches §3.4 | 2h | [ ] | | A-09 | Create CapabilityIdSchema + CapabilityAdapterSchema | `packages/contracts/src/cil-schemas.ts` | Compiles, includes error_policy | 1h | [ ] | | A-10 | Create CapabilityRegistryEntrySchema | `packages/contracts/src/cil-schemas.ts` | Compiles, includes write_mode | 1h | [ ] | | A-11 | Create ProfileDefinitionSchema | `packages/contracts/src/cil-schemas.ts` | Compiles, all fields from §3.7 | 2h | [ ] | | A-12 | Create ProfileStateSchema | `packages/contracts/src/cil-schemas.ts` | Compiles, includes dormancy fields | 1h | [ ] | | A-13 | Create TraitDefinitionSchema | `packages/contracts/src/cil-schemas.ts` | Compiles, includes hard_limits | 1h | [ ] | | A-14 | Create KnowledgePayloadSchema (all payload kinds) | `packages/contracts/src/cil-schemas.ts` | All 9 payload kinds compile | 3h | [ ] | | A-15 | Create KnowledgeNodeSchema | `packages/contracts/src/cil-schemas.ts` | Compiles with status field + retirement_policy | 2h | [ ] | | A-16 | Create LearningSignalSchema (with signal_scope, origin_system) | `packages/contracts/src/cil-schemas.ts` | Compiles, includes all R3 source_types | 2h | [ ] | | A-17 | Create SignalBatchSchema | `packages/contracts/src/cil-schemas.ts` | Compiles | 1h | [ ] | | A-18 | Create StatePatchIntentSchema (8 intent types) | `packages/contracts/src/cil-schemas.ts` | Compiles with ABORT_DISPATCH | 1h | [ ] | | A-19 | Create ContextPlanSchema | `packages/contracts/src/cil-schemas.ts` | Compiles with all R2/R3 fields | 2h | [ ] | | A-20 | Create DispatchCheckpointSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §5.8 | 2h | [ ] | | A-21 | Create OperationIntentSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §11.3 | 1h | [ ] | | A-22 | Create ResolvedOperationSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §11.4 | 2h | [ ] | | A-23 | Create ReviewOutcomeSchema (with goal_type, close_reason) | `packages/contracts/src/cil-schemas.ts` | Compiles per §6.9 | 2h | [ ] | | A-24 | Create PromptLineageSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §6.10 | 2h | [ ] | | A-25 | Create PromptCharacteristicsSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §6.11 | 1h | [ ] | | A-26 | Create ContextInspectorRecordSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §12.3 | 2h | [ ] | | A-27 | Create MaterializationPreviewResultSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §5.2A | 1h | [ ] | | A-28 | Create DOC8SignalBridgeSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §6.3A | 1h | [ ] | | A-29 | Create ProtectedNativeContextClassSchema + policy | `packages/contracts/src/cil-schemas.ts` | Compiles per §1.2A | 1h | [ ] | | A-30 | Register all CIL canonical paths | `packages/contracts/src/canonical.ts` | All §4.6 paths registered | 1h | [ ] | **Block A total: ~40 hours (1 week for a coding agent)** --- ## BLOCK B — Storage & Module Scaffolding (Depends on: A-30) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | B-01 | Create ELNOR_MEMORY/system/cil/ directory tree | Filesystem | All dirs from §4.6 exist | A-30 | 0.5h | [ ] | | B-02 | Create services/ directory in ec-service | `apps/ec-service/src/services/` | Directory exists | — | 0.5h | [ ] | | B-03 | Create dispatch/ directory in ec-service | `apps/ec-service/src/dispatch/` | Directory exists | — | 0.5h | [ ] | | B-04 | Extract memory-read helpers from server.ts | `services/memory-helpers.ts` | Existing tests pass | B-02 | 8h | [ ] | | B-05 | Extract context-assembly helpers from server.ts | `services/context-helpers.ts` | Existing tests pass | B-02 | 8h | [ ] | | B-06 | Extract learning-signal helpers from server.ts | `services/signal-helpers.ts` | Existing tests pass | B-02 | 4h | [ ] | **Block B total: ~22 hours** --- ## BLOCK C — Profile System (Depends on: A-07 through A-13, B-02) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | C-01 | Implement evaluateMatcher() | `services/profile-registry.service.ts` | Unit tests pass for all match types | A-07, A-08 | 6h | [ ] | | C-02 | Implement specificity scoring | `services/profile-registry.service.ts` | Scoring tests per §3.4 weights | C-01 | 3h | [ ] | | C-03 | Implement trait merge logic | `services/profile-registry.service.ts` | Merge tests (conflicts, hard_limits, dedup) | A-11, A-13 | 4h | [ ] | | C-04 | Implement boot-time profile validation | `services/profile-registry.service.ts` | EC refuses to start on invalid profiles | C-01, C-03 | 4h | [ ] | | C-05 | Implement boot-time capability registry validation | `services/profile-registry.service.ts` | EC refuses on capability violations | A-09, A-10 | 3h | [ ] | | C-06 | Design and write 12 initial profile JSON files | `ELNOR_MEMORY/system/cil/profiles/` | All validate against schema | A-11, C-01 | 8h | [ ] | | C-07 | Design and write 2-3 initial trait JSON files | `ELNOR_MEMORY/system/cil/traits/` | All validate against schema | A-13, C-03 | 4h | [ ] | | C-08 | Create capability_registry.json | `ELNOR_MEMORY/system/cil/capability_registry.json` | Boot validation passes | A-10, C-05 | 3h | [ ] | | C-09 | Create profile_state.json (initial state) | `ELNOR_MEMORY/system/cil/profile_state.json` | All profiles start as cold_start | A-12 | 1h | [ ] | **Block C total: ~36 hours** --- ## BLOCK D — ContextFacts & Dispatch Integration (Depends on: B-04, B-05, C-01) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | D-01 | Implement buildContextFacts() for EC dispatches | `services/context-facts-builder.ts` | Returns valid ContextFacts for panels/tasks | A-07, B-04 | 6h | [ ] | | D-02 | Implement prompt characteristics classifier | `services/prompt-classifier.ts` | Deterministic classification per §6.11 | A-25 | 4h | [ ] | | D-03 | Create dispatch orchestrator stub | `dispatch/orchestrator.ts` | Stub callable, returns pass-through | B-03, C-01, D-01 | 6h | [ ] | | D-04 | Wire orchestrator into EC panel dispatch (feature flag) | `server.ts` (minimal change) | Panel dispatch routes through stub when flag on | D-03 | 4h | [ ] | | D-05 | Wire orchestrator into EC task dispatch (feature flag) | `server.ts` (minimal change) | Task dispatch routes through stub when flag on | D-03 | 4h | [ ] | | D-06 | Implement CIL mode config (disabled/shadow/active + learning) | `services/cil-config.ts` | Config reads from settings, 6 valid states | — | 2h | [ ] | **Block D total: ~26 hours** --- ## BLOCK E — Signal Bridge & Learning Foundation (Depends on: A-16, A-17, A-28, B-06) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | E-01 | Implement DOC8 signal bridge adapter | `services/doc8-bridge.ts` | Friction events normalize to CIL signals | A-28, B-06 | 6h | [ ] | | E-02 | Implement cost firewall filter in bridge | `services/doc8-bridge.ts` | budget_exhausted/cost_spike events filtered | E-01 | 2h | [ ] | | E-03 | Implement system-scope profile assignment in bridge | `services/doc8-bridge.ts` | Non-dispatch friction → correct system profile | E-01 | 3h | [ ] | | E-04 | Implement signal batch spool (sync append per batch) | `services/signal-spool.ts` | Durable JSONL append per batch, async flush | A-17 | 4h | [ ] | | E-05 | Implement spool startup reconciliation | `services/signal-spool.ts` | Unflushed entries flushed on EC boot | E-04 | 2h | [ ] | | E-06 | Wire signal spool into post-dispatch path | `dispatch/orchestrator.ts` | Signals captured after every dispatch | D-03, E-04 | 3h | [ ] | **Block E total: ~20 hours** --- ## BLOCK F — Shadow Mode & Validation (Depends on: C-01 through C-09, D-01 through D-06, E-01 through E-06) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | F-01 | Shadow profile resolution logging | `dispatch/orchestrator.ts` | Every dispatch logs resolved profiles | D-03, D-04 | 2h | [ ] | | F-02 | Shadow ContextPlanner stub | `services/context-planner.service.ts` | Produces shadow plan, logs comparison | B-05 | 6h | [ ] | | F-03 | Context plan diff logging | `services/context-planner.service.ts` | Logs what CIL would change vs existing | F-02 | 3h | [ ] | | F-04 | Write evaluateMatcher unit tests (all predicate types) | `tests/cil/matcher.test.ts` | All match types, undefined handling, Phase 0 fields | C-01 | 4h | [ ] | | F-05 | Write profile resolution tests | `tests/cil/profile-resolution.test.ts` | Specificity, ambiguity, dormancy, tie-breaking | C-02, C-04 | 4h | [ ] | | F-06 | Write DOC8 bridge tests | `tests/cil/doc8-bridge.test.ts` | Normalization, cost firewall, system-scope | E-01 | 4h | [ ] | | F-07 | Write boot validation tests | `tests/cil/boot-validation.test.ts` | Trait conflicts, capability violations, path protection | C-04, C-05 | 4h | [ ] | | F-08 | Write signal spool tests | `tests/cil/signal-spool.test.ts` | Batch append, flush, startup reconciliation | E-04 | 3h | [ ] | | F-09 | Verify zero behavior change | Run full test suite | All existing tests pass | F-01..F-08 | 2h | [ ] | | F-10 | Verify shadow logs produce plausible results | Manual review | Profile resolution matches expected profiles | F-09 | 2h | [ ] | **Block F total: ~34 hours** --- ## BLOCK G — MemoryService & Knowledge Nodes (Depends on: A-14, A-15, F-09) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | G-01 | Implement MemoryService with in-memory index | `services/memory.service.ts` | Query returns nodes by profile + matcher | A-15, B-04 | 8h | [ ] | | G-02 | Implement authority memory adapter (read-only) | `services/memory.service.ts` | Reads standing_orders, corrections with schemas | A-01, A-02 | 4h | [ ] | | G-03 | Implement knowledge node retirement logic | `services/memory.service.ts` | Stale/low-confidence nodes retired | A-15 | 3h | [ ] | | G-04 | Implement confidence degradation (0.9 multiplier) | `services/memory.service.ts` | Negative evidence decays confidence per §4.5 | G-01 | 2h | [ ] | | G-05 | Implement contradiction detection (exact hash match) | `services/memory.service.ts` | Same applies_when hash + conflicting content detected | G-01 | 3h | [ ] | | G-06 | Bootstrap knowledge from existing friction clusters | `services/bootstrap.ts` | Initial error_pattern + routing_hint nodes generated | G-01, E-01 | 6h | [ ] | | G-07 | Write MemoryService tests | `tests/cil/memory-service.test.ts` | Query, retirement, degradation, contradiction | G-01..G-05 | 6h | [ ] | **Block G total: ~32 hours** --- ## BLOCK H — Q Dashboard CIL Screens (Depends on: G-01, F-02) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | H-01 | Create CIL API endpoints in EC | `server.ts` or new route file | /api/cil/profiles, signals, knowledge-nodes, context-plans | G-01 | 6h | [ ] | | H-02 | Create Q-backend CIL proxy endpoints | `q-backend/server.ts` | Proxies to EC CIL endpoints | H-01 | 3h | [ ] | | H-03 | Create Knowledge Node Browser component | `q-frontend/src/components/cil/KnowledgeNodeBrowser.jsx` | Shows nodes with all §12.2 elements | H-02 | 12h | [ ] | | H-04 | Create Profile List component | `q-frontend/src/components/cil/ProfileList.jsx` | Shows 12 profiles with status/maturity | H-02 | 6h | [ ] | | H-05 | Create Signal Explorer component | `q-frontend/src/components/cil/SignalExplorer.jsx` | Browse signals with filtering | H-02 | 6h | [ ] | | H-06 | Create Context Inspector drawer | `q-frontend/src/components/cil/ContextInspector.jsx` | Renders from ContextInspectorRecordSchema | H-02 | 8h | [ ] | | H-07 | Create Context Plan diff view (shadow mode) | `q-frontend/src/components/cil/ContextPlanDiff.jsx` | Side-by-side CIL vs existing | H-02, F-03 | 6h | [ ] | | H-08 | Add nightly "What Changed?" card | `q-frontend/src/components/cil/NightlyCard.jsx` | Shows after nightly run | H-02 | 4h | [ ] | | H-09 | Add inline context enhancement pill | Q frontend dispatch results | Shows "[🧠 Context: ...]" on results | H-06 | 3h | [ ] | | H-10 | Add chat coverage indicator | Q frontend chat footer | Shows "CIL coverage: panels & tasks only" | — | 1h | [ ] | | H-11 | Mount CIL components in Q dashboard routing | `QDashV11.jsx` | New tabs accessible from Learning Dashboard | H-03..H-08 | 4h | [ ] | **Block H total: ~59 hours** --- ## BLOCK I — Active CIL for Panels (Depends on: G-07, F-09, H-06) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | I-01 | Implement full ContextPlanner.plan() with sealed budget | `services/context-planner.service.ts` | Produces sealed plan respecting budget | F-02 | 12h | [ ] | | I-02 | Wire ContextPlanner to drive assembleContextCard() | `server.ts` + `services/context-helpers.ts` | Plan drives context assembly for panels | I-01, B-05 | 8h | [ ] | | I-03 | Implement knowledge node injection formatting | `services/context-planner.service.ts` | Nodes appear as §5.7 format in injection text | I-01, G-01 | 4h | [ ] | | I-04 | Implement pre-dispatch capabilities (evidence_gate, contamination_guard) | `services/capabilities/` | Guards run, emit intents | D-03 | 8h | [ ] | | I-05 | Implement post-dispatch capabilities (signal_emission) | `services/capabilities/` | Signals emitted after dispatch | D-03, E-04 | 4h | [ ] | | I-06 | Implement CIL overhead watchdog | `services/cil-watchdog.ts` | Auto-demote after 5 consecutive ceiling breaches | I-01 | 3h | [ ] | | I-07 | Implement DispatchCheckpoint creation | `dispatch/orchestrator.ts` | Checkpoint stored per dispatch | A-20, I-01 | 4h | [ ] | | I-08 | Implement nightly Phase 4 (profile maintenance) | `services/nightly/profile-maintenance.ts` | Dormancy detection, maturity tier updates | C-09 | 4h | [ ] | | I-09 | Implement nightly Phase 5 (knowledge governance) | `services/nightly/knowledge-governance.ts` | Signal aggregation, node promotion/retirement | G-01, E-04 | 8h | [ ] | | I-10 | Wire nightly CIL phases into scheduler | `nightly-scheduler.ts` | Phases 4-5 run after existing 3 phases | I-08, I-09 | 3h | [ ] | | I-11 | Stale standing order detection | `services/nightly/stale-detection.ts` | Flag standing orders unused in 30 dispatches | G-02 | 3h | [ ] | | I-12 | Context utilization detection | `services/capabilities/context-utilization.ts` | Post-dispatch keyword check on injected nodes | I-05 | 4h | [ ] | **Block I total: ~65 hours** --- ## BLOCK J — Operation Compiler (Depends on: I-01, A-21, A-22) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | J-01 | Implement Operation Compiler core | `services/operation-compiler.ts` | Intent → ContextFacts → profiles → memory → resolved | A-21, A-22, G-01 | 10h | [ ] | | J-02 | Create "Ask Elnor" suggestion card API | EC endpoint | Returns ResolvedOperation for UI rendering | J-01 | 4h | [ ] | | J-03 | Create "Advise" mid-process API | EC endpoint | Returns advice for active workflow | J-01 | 4h | [ ] | | J-04 | Add "Ask Elnor" button to panel setup UI | Q frontend | Pill button triggers suggestion card | J-02 | 6h | [ ] | | J-05 | Add suggestion card component | Q frontend | Renders ResolvedOperation per §11.6 | J-02 | 6h | [ ] | | J-06 | Implement suggestion interaction signals | `services/signal-helpers.ts` | Apply/Edit/Dismiss emit learning signals | J-05, E-04 | 3h | [ ] | **Block J total: ~33 hours** --- ## BLOCK K — Review Outcome & Prompt Learning (Depends on: E-04, A-23, A-24) | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | K-01 | Implement ReviewOutcome capture at panel close | EC command handler | ReviewOutcomeSchema stored on close | A-23 | 4h | [ ] | | K-02 | Add novelty + starred fields to finding judgment UI | Q frontend | 3 radio buttons + star button on findings | — | 4h | [ ] | | K-03 | Implement prompt lineage capture | `services/prompt-lineage.ts` | PromptLineageSchema attached to room/panel turns | A-24 | 6h | [ ] | | K-04 | Implement prompt characteristics classifier | `services/prompt-classifier.ts` | Deterministic classification per §6.11 | A-25 | 4h | [ ] | | K-05 | Add ReviewOutcome aggregation to nightly Phase 5 | `services/nightly/knowledge-governance.ts` | Outcomes aggregated by config tuple | K-01, I-09 | 4h | [ ] | | K-06 | Add prompt lineage effectiveness scoring to nightly | `services/nightly/knowledge-governance.ts` | Per-layer scores computed from judgments | K-03, I-09 | 6h | [ ] | **Block K total: ~28 hours** --- ## BLOCK L — Signal Valuation Framework (Depends on: A-15, G-01, I-09) *(R4 new)* | # | Task | File | Done When | Dep | Est | Status | |---|---|---|---|---|---|---| | L-01 | Create BetaConfidenceSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §7.2 | — | 1h | [ ] | | L-02 | Create SignalWeightRegistrySchema + default weight table | `packages/contracts/src/cil-schemas.ts` + `ELNOR_MEMORY/system/cil/signal_weights.json` | All 26 signal types weighted per §7.3 | — | 3h | [ ] | | L-03 | Create ContextChangeEventSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §7.4 | — | 1h | [ ] | | L-04 | Create PoolingConfigSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §7.5 | — | 1h | [ ] | | L-05 | Create DualWindowConfidenceSchema | `packages/contracts/src/cil-schemas.ts` | Compiles per §7.6 | — | 1h | [ ] | | L-06 | Implement Beta distribution update logic | `services/signal-valuation.ts` | Alpha/beta updated from weighted signals with diminishing returns | L-01, L-02 | 6h | [ ] | | L-07 | Implement hierarchical category pooling | `services/signal-valuation.ts` | Effective confidence computed with pooling per §7.5 | L-04, L-06 | 8h | [ ] | | L-08 | Implement context-change detection | `services/context-change-detector.ts` | Model version, standing order, profile config changes detected | L-03 | 6h | [ ] | | L-09 | Implement rolling window divergence detection | `services/signal-valuation.ts` | Divergence flagged when recent window differs >15% from cumulative | L-05, L-06 | 4h | [ ] | | L-10 | Wire Beta updates into nightly Phase 5 | `services/nightly/knowledge-governance.ts` | Full §7.7 process runs every night | L-06, L-07, L-08, I-09 | 6h | [ ] | | L-11 | Implement confidence tier computation | `services/signal-valuation.ts` | Tiers (VERY LIMITED through VERY STRONG) per §7.9 | L-06 | 2h | [ ] | | L-12 | Update Knowledge Node Browser for Beta-aware display | `q-frontend/src/components/cil/KnowledgeNodeBrowser.jsx` | Shows evidence breakdown, pooling indicator, confidence tier | L-11, H-03 | 8h | [ ] | | L-13 | Update suggestion cards for per-recommendation confidence | `q-frontend/src/components/cil/SuggestionCard.jsx` | Each recommendation shows its own confidence tier | L-11, J-05 | 4h | [ ] | | L-14 | Implement user_node_confirm / user_node_doubt signal emission | `services/signal-helpers.ts` | Browser ⭐/👎 actions add virtual observations | L-06, H-03 | 3h | [ ] | | L-15 | Write Beta distribution unit tests | `tests/cil/beta-confidence.test.ts` | Update, pooling, decay, divergence all tested | L-06..L-09 | 6h | [ ] | | L-16 | Write signal weight integration tests | `tests/cil/signal-weights.test.ts` | All 26 signal types correctly weighted, diminishing returns verified | L-06 | 4h | [ ] | **Block L total: ~64 hours** --- ## Updated Summary | Block | Description | Hours | Dependencies | |---|---|---|---| | A | Schema Foundation | 40h | None | | B | Storage & Module Scaffolding | 22h | A-30 | | C | Profile System | 36h | A-07..A-13, B-02 | | D | ContextFacts & Dispatch Integration | 26h | B-04, B-05, C-01 | | E | Signal Bridge & Learning Foundation | 20h | A-16..A-28, B-06 | | F | Shadow Mode & Validation | 34h | C, D, E complete | | G | MemoryService & Knowledge Nodes | 32h | A-14, A-15, F-09 | | H | Q Dashboard CIL Screens | 59h | G-01, F-02 | | I | Active CIL for Panels | 65h | G-07, F-09 | | J | Operation Compiler | 33h | I-01, A-21, A-22 | | K | Review Outcome & Prompt Learning | 28h | E-04, A-23, A-24 | | L | Signal Valuation Framework | 64h | A-15, G-01, I-09 | | **Total** | | **459h** | | **Critical path:** A → B → D → F → I (CIL active for panels) **Parallel path:** A → B → E (signal bridge can proceed alongside profiles) **UI path:** H can start once G-01 and F-02 are done **Estimated calendar time with one coding agent under human review:** - Blocks A-F (scaffolding + shadow): 3-4 weeks - Blocks G-I (active CIL): 3-4 weeks - Blocks H, J, K (UI + Operation Compiler + prompt learning): 3-4 weeks (partially parallel) - **Total: 8-12 weeks to full Phase 2** --- *End of DOC15 Build Manifest v1.1*