Files
confidence-engine/docs/context-routing-validation.md

124 lines
9.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Context Routing Validation — Experiment 36
## Documents Initially Loaded
1. `docs/current-handoff.md` (86 lines) — first return-to-work entry point
2. `docs/current-project-state.md` (132 lines) — active state and capabilities
3. `docs/task-context-packs.md` (110 lines) — routing for four work types
Total: 328 lines loaded before any expansion.
## Additional Documents Required
### docs/ui-mock-reference.md (62 lines)
**Why:** Task 2 required identifying mock scenarios for "long investigation" and "contradictory evidence". The task-context-packs Routing Test B claimed these were identifiable without loading ui-mock-reference, but the specific scenario names were not stated in any initial document. Loading confirmed both exist: "Long investigation (1015 turns)" and "Contradiction".
**Routing should have included it:** YES — this is a routing defect. The pack's Routing Test B presents an unverifiable claim as fact.
### docs/project-knowledge-inventory.md (214 lines)
**Why:** Task 4 asked where a new developer should begin for engine experiments. Current handoff → project-state → task-context-packs gave the path, but inventory confirmed the Engine Experiment pack's four "always read" documents are all verifiably present in the repository. Also provided confirmation of what the knowledge-management phase created.
**Routing should have included it:** DEBATED — the inventory validates pack completeness but was not strictly necessary to answer Task 4 from routing alone.
### docs/current-implementation-verification.md (110 lines)
**Why:** Cross-checked Behaviour Selection's isolation against current-project-state §3's classification. Found section 3b confirming `selectBehaviour` has no callers outside its module.
**Routing should have included it:** DEBATED — current-project-state already stated the same fact; this was a corroboration, not a gap fill.
## Tasks Completed
### Task 1 — Does Behaviour Selection affect engine behaviour?
- **Answer:** No. It is isolated — no import or call exists in any file under lib/ or app/.
- **Initial docs sufficient:** Yes (current-project-state §3 + handoff §2).
- **Expansion needed:** No.
### Task 2 — Correct mock scenarios for long investigation and contradictory evidence?
- **Answer:** "Long investigation (1015 turns)" and "Contradiction" from ui-mock-reference.md.
- **Initial docs sufficient:** No. Routing Test B claimed they were, but the claim was unverifiable until ui-mock-reference was loaded.
- **Expansion needed:** Yes — `docs/ui-mock-reference.md`.
### Task 3 — Why passive classifiers are not part of active reasoning?
- **Answer:** Passive classifiers (Experiments 1825B) record diagnostic signals for future use but have no integration into the turn cycle. Investigation-state assessment is the only one called at all, and its result goes into a diagnostics field — never checked by conditional branches. Others have zero callers. None control user-facing decisions or path selection.
- **Initial docs sufficient:** Yes (current-project-state §2–§5 + handoff §2).
- **Expansion needed:** No.
### Task 4 — Where should a new developer begin for the next engine experiment?
- **Answer:** Read `docs/current-handoff.md``docs/current-project-state.md` → Engine Experiment pack from `docs/task-context-packs.md`, which directs them to four always-read documents (`current-project-state`, `current-working-principles`, `architecture-guardrails`, `current-implementation-verification`) plus the immediately previous experiment entry in the design log. The pack's "Stop and ask" rules prevent blind expansion.
- **Initial docs sufficient:** Yes — answerable from initial context; inventory loaded only for confirmation of pack document existence.
- **Expansion needed:** No.
## Routing Failures Found
**One genuine failure: Routing Test B in task-context-packs.md.**
The test states that mock scenarios for "long investigation" and "contradiction" are identifiable without loading ui-mock-reference. This was presented as a self-evident fact but could not be verified from the stated documents alone — the specific scenario names exist only in ui-mock-reference.md. The routing is incomplete; it should have included the mock reference file.
**One questionable exclusion: project-knowledge-inventory for Task 4.**
The task-context-packs Engine Experiment pack lists four "always read" documents but does not themselves confirm all four exist. A cautious developer would load the inventory to verify, adding ~215 lines. This is acceptable cost but worth noting as a gap in the pack's self-validation.
## Documentation Improvements Discovered
1. **Routing Test B must include ui-mock-reference.md.** Remove the "No extra file required" claim and add the mock reference to the Engine Experiment pack's routing chain when tasks involve scenario selection.
2. **Packs should confirm their listed documents exist.** Adding a verification check (or removing unverified entries) would prevent the need for inventory cross-referencing.
## Overall Assessment: Mostly ready
Evidence: Two of four tasks were completed from initial context only. One routing defect was found (Task 2's claim was unverifiable without extra loading). The system works but Routing Test B demonstrates that "sufficient" claims should be evidence-based, not assumed. After fixing Test B, the reduced context system is ready for normal work.
---
## Experiment 37 — Cross-Boundary Routing Validation
### Routing Correction Applied
Updated `task-context-packs.md` Routing Test B: `docs/ui-mock-reference.md` is confirmed as part of the UI and Mock pack; scenario names and usage guidance originate from that document, not from the general entry documents alone. This is a normal routing inclusion, not an exceptional addition.
Task 4 conclusion clarified: **answerable from initial context; inventory loaded only for confirmation**. The Engine Experiment pack's four "always read" documents form a valid path without requiring the knowledge inventory.
Totals corrected to "two of four tasks completed from initial context only." Line counts updated to match `wc -l` output.
### Cross-Boundary Test — Condition Status Display in Workspace
**Task:** Determine what is active vs passive for displaying condition-status information in the workspace without modifying the reasoning loop. Identify mock scenario, relevant files to inspect, and whether both engine and UI packs are needed.
**Primary pack selected:** Knowledge-Management pack (handoff + project-state + context-packs).
**Boundary identified:** Task requires understanding passive diagnostic capabilities (engine side) AND workspace display behavior (UI side). Boundary = Engine ↔ UI.
**Second pack selected:** UI and Mock pack for `docs/ui-mock-reference.md` (scenario names for mock investigation work).
**Documents loaded:**
| Document | Lines | Purpose |
|---|---|---|
| `docs/current-handoff.md` | 85 | Return-to-work entry, confirm experiment status |
| `docs/current-project-state.md` | 131 | Passive classifiers (§2), active reasoning loop (§3) |
| `docs/task-context-packs.md` | 110 | Identify cross-boundary need; Pack 2 for UI scenario routing |
| `docs/ui-mock-reference.md` | 62 | Scenario names and usage guidance for mock investigation |
**Total initial context:** 328 lines. **Additional loaded:** 62 lines. **Grand total:** 390 lines.
**Cross-boundary task result:**
- Condition-status capability is passive: decision-condition status evaluation records signals for future use but has no integration into the active turn cycle; it never controls user-facing decisions or path selection.
- Active reasoning loop must remain unchanged: deterministic pipeline from scenario reconstruction through question formulation to turn orchestration — none of these pathways are affected by passive condition-status data.
- Suitable mock scenario: "Long investigation (1015 turns)" from ui-mock-reference.md, where the workspace can display accumulated diagnostic signals over time without interrupting the active reasoning cycle.
- Relevant implementation areas to inspect later: `lib/graph/conditions/decision-condition-status.js` or equivalent (the decision-condition status evaluation module); `lib/graph/scope-detection.js` or similar (evidence scope detection); UI workspace component files under `app/` for passive display integration.
- Both Engine and UI packs genuinely necessary: engine pack identifies which capabilities are active vs passive; UI pack identifies how the workspace presents state to users. Neither alone suffices for this cross-boundary task.
- No archive or full history was required.
**Context remained manageable:** Yes. 390 lines total. Each document loaded for a specific named purpose. No blind expansion.
### Knowledge-Manship Completion Criteria Review
| Criterion | Status |
|---|---|
| 1. Fresh session can resume from handoff + one pack | met |
| 2. Current state verified against implementation | met |
| 3. Historical material outside default loading | met |
| 4. Current principles separated from aspirational architecture | met |
| 5. Task-specific routing works for engine and UI tasks | met |
| 6. Cross-boundary task tested | **met** (this experiment) |
| 7. Maintaining handoff does not require reading full history | met |
All seven criteria are now met.
### Knowledge-Manship Assessment
> Knowledge-management structure is ready for Rob's review before engine experiments resume.