Commit Graph
307 Commits
Author SHA1 Message Date
robbond fc06ff02e4 experiment: rerun structural action contract live 2026-08-12 08:26:58 +01:00
robbond 4de871092f docs: record structural action guard cleanup 2026-08-12 08:17:28 +01:00
robbond bd3c7d59ae fix(graph): make structural action contract authoritative 2026-08-12 08:15:41 +01:00
robbond c899ad620c experiment: validate structural action contract live 2026-08-12 08:04:41 +01:00
robbond 1b3bbd59aa docs: record structural action contract implementation 2026-08-12 07:29:28 +01:00
robbond 6aef806845 feat(graph): add structuralActionRequired contract (57J.67)
- Add structuralActionRequired field to graphUpdateSchema (optional boolean nullable)
- Validate declaration consistency in validateGraphUpdate():
  - true requires meaningful mutation (addedNodes/updatedNodes/addedEdges)
  - false permits intentional no-op when userSupportedMeaning populated
  - null/absent with meaning → reject
  - true/false mismatch on output shape → reject
  - preserve legacy no-op guard for non-contract paths
- Update prompt-builder: add field to required list, insert contract section between rules and Additional Guidance with two mandatory sentences
- 50 new tests: schema validation (4), prompt builder content checks (10), utils contract matrix (10), plus 26 existing suite migrations

All 197 graph tests pass.
2026-08-12 07:26:26 +01:00
robbond 5f9e8ebe33 experiment: finalize semantic action contract semantics 2026-08-12 06:30:40 +01:00
robbond 51da4b973f experiment: define semantic action contract placement 2026-08-12 06:23:21 +01:00
robbond 9425e7b2d6 experiment: define semantic action contract 2026-08-12 06:13:15 +01:00
robbond d7cb343838 experiment: diagnose semantic-to-mutation action ownership 2026-08-12 05:53:58 +01:00
robbond f022d6f4ad experiment: rerun equivalent uncertainty identity with hardened capture 2026-08-12 05:48:18 +01:00
robbond 47509d307b docs: record accepted-update capture hardening 2026-08-11 19:43:11 +01:00
robbond bf959bb9a0 tooling: retain accepted update experiment evidence 2026-08-11 19:42:43 +01:00
robbond 929486c354 experiment: validate equivalent uncertainty identity live 2026-08-11 19:30:08 +01:00
robbond 2927509ca5 experiment: validate selected-question contract live 2026-08-11 19:15:51 +01:00
robbond 3baa77eb72 docs: record selected-question contract alignment 2026-08-11 18:51:51 +01:00
robbond bf1f219256 prompt: require candidate question for new unknowns 2026-08-11 18:51:22 +01:00
robbond a8732288eb docs: record selected-question ownership diagnosis 2026-08-11 18:49:51 +01:00
robbond f0e0fd54de experiment: diagnose selected-question ownership 2026-08-11 18:45:00 +01:00
robbond f25b1f550e experiment: validate equivalent uncertainty reuse live 2026-08-11 18:29:02 +01:00
robbond eb524d08e1 experiment: validate uncertainty identity live 2026-08-11 18:02:11 +01:00
robbond a476431048 docs: record uncertainty identity clarification 2026-08-11 17:47:45 +01:00
robbond b8e6745c15 prompt: distinguish uncertainty identity from topical overlap 2026-08-11 17:47:12 +01:00
robbond f0cf85d2b6 experiment: diagnose uncertainty identity vs relatedness 2026-08-11 17:41:23 +01:00
robbond 19c00f3bf3 experiment: test structured-fidelity multi-turn progress 2026-08-11 17:34:54 +01:00
robbond 5947ccb642 experiment: validate structured semantic fidelity live 2026-08-11 17:18:59 +01:00
robbond f156bf5ef8 docs: record structured semantic fidelity implementation 2026-08-11 16:46:30 +01:00
robbond 7d06cd3c47 reasoning: use structured semantic fidelity contract 2026-08-11 16:45:00 +01:00
robbond b6a232ff6f experiment: choose structured fidelity migration 2026-08-11 16:17:55 +01:00
robbond f330421294 experiment: assess structured semantic fidelity boundary
- Experiment 57J.49: read-only architecture diagnosis showing EXISTING STRUCTURE IS PARTIAL
- All classification enums (supportCategory) and resolution enums (resolutionGuidance) already exist in production schema
- Gap is population (prompt says leave null if unsure) + enforcement (no enum constraint on Zod fields)
- Corrected 57J.48 overstatement of SUFFICIENT → PARTIAL sufficiency in handoff
2026-08-11 15:04:47 +01:00
robbond a2c790ee80 experiment: diagnose uncertainty fidelity false positive 2026-08-11 14:56:15 +01:00
robbond 174e581c23 experiment: convergence-test uncertainty action selection 2026-08-11 14:35:50 +01:00
robbond 94ca1b92f7 docs: experiment 57J.46 record and handoff update 2026-08-11 14:15:50 +01:00
robbond a5dd9d3f1a prompt: add existing-first uncertainty fallback
Add one explicit action-order rule in Additional Guidance for when
rule #6 applies to explicitly unresolved uncertainty:

1. First check whether an existing unresolved node already represents
   the same uncertainty.
2. If so, update/refine that existing structure rather than creating
   a duplicate.
3. If no such node exists, add a new unknown that directly represents
   the unresolved uncertainty.
4. Do not use an edge alone to represent a previously unrepresented
   uncertainty.

14 focused prompt tests verify: existing-first ordering, reuse path,
fallback-to-add, related-node-insufficient, edge-only-prohibited,
possibleInference separation, resolution path preserved, duplicate
contract preserved, scope uncertainty-only, fidelity/traceability
preserved, noop validator untouched, no semantic classifier added.
2026-08-11 14:12:42 +01:00
robbond 96b855b8e7 experiment: choose structural action-selection rule 2026-08-11 14:01:42 +01:00
robbond acd1928ebb experiment: validate conflict-free mutation prompt live 2026-08-11 13:36:03 +01:00
robbond 45d7b96827 docs: experiment 57J.43 record and handoff update 2026-08-11 13:23:14 +01:00
robbond 359ccc4ba9 prompt: remove semantic-only mutation conflict 2026-08-11 13:22:29 +01:00
robbond 0c477adea9 experiment: diagnose structural-mutation prompt compliance 2026-08-11 13:15:27 +01:00
robbond 6aea0bd90c experiment: isolate semantic-to-mutation contract live 2026-08-11 13:09:51 +01:00
robbond 39217b6b65 experiment: validate semantic-to-mutation contract live 2026-08-11 13:01:54 +01:00
robbond 712c0c4998 docs: experiment 57J.39 record and handoff update 2026-08-11 12:32:39 +01:00
robbond 6adcd817e1 reasoning: require structural progress for supported meaning 2026-08-11 12:32:03 +01:00
robbond 3b868b266e experiment: choose semantic-to-mutation contract fix 2026-08-11 12:03:16 +01:00
robbond 77f5ea26d4 experiment: locate semantic-to-mutation contract gap 2026-08-11 11:56:36 +01:00
robbond b341c9cf2f experiment: rerun guarded multi-turn progress cleanly 2026-08-11 11:41:51 +01:00
robbond 4998de54d2 tooling: enforce no-retry live experiment harness 2026-08-11 11:32:19 +01:00
robbond 06f67da1b4 experiment: observe guarded multi-turn progress 2026-08-11 10:50:05 +01:00
robbond bda3abf893 experiment: classify captured answer-meaning strengthening 2026-08-11 10:19:19 +01:00
robbond a00f7b170d experiment: inspect rejected proposal live variance 2026-08-11 10:03:35 +01:00