docs: experiment 57J.43 record and handoff update

This commit is contained in:
2026-08-11 13:23:14 +01:00
parent 359ccc4ba9
commit 45d7b96827
2 changed files with 102 additions and 0 deletions
+30
View File
@@ -721,3 +721,33 @@ Provider-agnostic concern: YES — CONTRACT LEVEL
Smallest correction boundary: Two Additional Guidance bullets (~10 words total) at lines ~132 of prompt-builder.js must be removed or conditioned on rule #6 not triggering. Text-preservation-only tests do not prove prompt coherence.
Configured Ollama: none used. Production code changed: NO. Prompt changed: NO. Tests changed: NO. Dev server disturbed: NO.
### Experiment 57J.43 — Remove Surviving Semantic-Only/No-Op Prompt Conflict
**Objective:** Apply the smallest proven correction from 57J.42: replace two Additional Guidance bullets that conflicted with rule #6's MUST rule, plus add one clarifying bullet and seven focused tests. Bounded prompt-contract task only. Not solving update-vs-add action selection.
**Production changes:**
- `lib/graph/prompt-builder.js` — Replaced two conflicting Additional Guidance bullets (line ~131-132):
- Old: "If the answer does not justify a change, return empty arrays for every category." → Now conditioned on rule #6 not applying.
- Old: "Use answerMeaning to preserve the answer's direct meaning even when the graph change remains unresolved." → Replaced with explicit semantic-fidelity vs structural-mutation separation.
- Added: Edge-connection requirement for new unknown nodes (clarifying bullet, consistent with existing rule #13a).
- `tests/graph/prompt-builder.test.js` — Added 7 focused tests covering all seven required coverage areas.
**What this guarantees:**
1. Empty-array permission is explicitly subordinate to rule #6 — MUST vs PERMIT contradiction eliminated.
2. `answerMeaning` can no longer substitute for graph mutation per the corrected bullet text.
3. All existing contracts preserved: duplicate avoidance, genuinely-new-concepts protection, fidelity/inference separation, traceability, update/refine preference.
**What is intentionally left unresolved:**
1. Action selection under rule #6 (update vs add) — confirmed ambiguous by 57J.42.
2. Live production validation — requires next experiment pass.
**Test results:**
- prompt-builder.test.js: 22/22 pass (7 new + 15 pre-existing)
- utils.test.js: 68/68 pass
- apply-proposal.test.js: 64/64 pass
- Total: 154 tests, 0 failures
**Classification: E — IMPLEMENTATION COMPLETE (prompt correction only)**
Configured Ollama: none used. Production code changed: prompt + tests only. Dev server disturbed: NO.