From 235fd95f0d7b16107f21c8541039fdb0ea4d59bd Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:10:26 +0000 Subject: [PATCH 01/11] docs(protocol): move deferred technical decisions out of protocol/07 (CP-22) Section B of protocol/07 was a register of deferred technical decisions (repository topology, state serialisation, skill architecture, release workflow). Those are project decisions, not protocol semantics, and T-03 was the only reason the normative layer named a harness. This is known finding KF-2. The protocol is only edited through accepted change proposals, so the move goes through a new one, CP-22, recorded in docs/review/disposition.md as accepted on 2026-09-22 (owner decision to resolve KF-2 through a change proposal) and done for v0.2.1. Approach: - T-01..T-10 move verbatim into the new docs/technical-decisions.md, with a short note on what the register is and where it came from. - T-01 (project name) is marked decided on 2026-09-14 and points at examples/naming-decision.md. No other deferred decision is decided. - protocol/07 keeps a one-line pointer where section B was. Sections A, C, D and E keep their letters so existing anchors stay valid. - KF-2 is removed from docs/known-findings.md, and its entry is removed from tools/known-findings.txt, since the lint finding no longer exists. - Inbound references are updated: the CHANGELOG Unreleased entry, the identifier table in docs/provenance.md (T-nn gets its own row, CP-22 is added), research/hypothesis-register.md, the CAP-05 "derives from" line in capabilities/catalogue.md, and the README count of open findings reported by the lint (two to one). Alternatives considered: - Re-lettering C/D/E to B/C/D: rejected, it breaks inbound anchors and goes beyond the proposal's scope. - Deleting section B without a pointer: rejected, readers following older references to section B would find nothing. - Deciding other T-items in the same change: out of scope. Tested: - tools/boundary_lint.py exits 0 with one known finding (06:114, KF-1) and no new findings. The 07 finding is gone. - A scripted comparison shows the moved text is byte-identical to the old section B, except for the T-01 decided line. - protocol/07 has no "## B." heading and no T- entries. - A relative-link and anchor check over all tracked Markdown reports no broken links. Risks: the owner still has to confirm the CP-22 acceptance at merge. The heading of protocol/07 still reads v0.2 until the v0.2.1 consolidation updates it. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- CHANGELOG.md | 1 + README.md | 2 +- capabilities/catalogue.md | 2 +- docs/known-findings.md | 7 ----- docs/provenance.md | 5 ++-- docs/review/disposition.md | 8 ++++++ docs/technical-decisions.md | 30 +++++++++++++++++++++ protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md | 25 +---------------- research/hypothesis-register.md | 2 +- tools/known-findings.txt | 1 - 10 files changed, 46 insertions(+), 37 deletions(-) create mode 100644 docs/technical-decisions.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 37bc316..6fb688d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ Protocol versions are recorded here with the changed rule, the observation that ## Unreleased +- **Protocol (towards v0.2.1), CP-22:** section B of `protocol/07`, the register of deferred technical decisions `T-01`–`T-10`, moved to [`docs/technical-decisions.md`](docs/technical-decisions.md), and `T-01` (project name) is marked decided. *Observation:* known finding KF-2 — the register holds project decisions, not protocol semantics, and it was the only reason the normative layer named a harness. *Still hypothesis:* nothing new; no other deferred decision is decided by the move. KF-2 is closed. - Research references checked against publisher and index records, with unconfirmed fields marked; review record, change-proposal disposition, hypothesis register and analogy records published (see `docs/review/`, `research/`). --- diff --git a/README.md b/README.md index 0d031e3..6e777d0 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ The study closest to this protocol's target task — LLM support for problem fra > earnedshape is a bet that the **design of the interaction** — not the presence of the AI — decides the outcome. The bet is plausible, unproven, and the project is built so that it can lose. -Every source the research synthesis relies on is listed and checked in [`research/REFERENCES.md`](research/REFERENCES.md), including where the support is thinner than the wording. Open findings against this baseline, including two reported by the project's own lint against its own protocol, are in [`docs/known-findings.md`](docs/known-findings.md). +Every source the research synthesis relies on is listed and checked in [`research/REFERENCES.md`](research/REFERENCES.md), including where the support is thinner than the wording. Open findings against this baseline, including one reported by the project's own lint against its own protocol, are in [`docs/known-findings.md`](docs/known-findings.md). ## Contributing diff --git a/capabilities/catalogue.md b/capabilities/catalogue.md index d2f5f77..4b6e443 100644 --- a/capabilities/catalogue.md +++ b/capabilities/catalogue.md @@ -59,7 +59,7 @@ ### CAP-05 · Deferred decision register **class** enforcement · **depends on** CAP-01 -**derives from** protocol §14, `07_DECISIONS_AND_OPEN_QUESTIONS` §B +**derives from** protocol §14, the deferred-decision register (`07_DECISIONS_AND_OPEN_QUESTIONS` §B up to v0.2, now [`docs/technical-decisions.md`](../docs/technical-decisions.md)) **required** A deliberately deferred question is recorded with its reason and the point at which it should be decided, and remains retrievable until resolved. **must emit** `deferral.recorded`, `deferral.resolved` **eval L1** Deferrals visible in the transcript but absent from the register; resolved questions never closed. diff --git a/docs/known-findings.md b/docs/known-findings.md index a5df946..393bb72 100644 --- a/docs/known-findings.md +++ b/docs/known-findings.md @@ -12,13 +12,6 @@ The rule is about citation provenance, not about one product. A technology-indep **Status:** open. The protocol is not edited without an accepted change proposal, and this one has not been through that process. -## KF-2 · `protocol/07` section B does not belong in the protocol - -`T-03` names a specific harness as a candidate for the first binding. Taken alone this is a naming issue; the real finding is a layering one. Section B of `07` is a register of **deferred technical decisions** — repository topology, state serialisation, skill architecture, release workflow. Those are project decisions, not protocol semantics, and their presence is the only reason the normative layer names a harness at all. - -**Proposed fix:** move section B out of `protocol/` into project documentation, leaving `07` with protocol decisions and open protocol questions. -**Status:** open, and the more consequential of the two. - ## KF-3 · `research/` states some claims more strongly than their sources support The citation check of September 2026 ([`research/REFERENCES.md`](../research/REFERENCES.md)) found every cited work (a few bibliographic fields remain unconfirmed and are marked there), and found that several items under "strongly supported" in `research/01` §2, and a few statements in `research/02`, rest on practitioner literature, a single study, or the project's own inference. The clearest cases: *language and model can co-evolve* (method literature only), *AI is valuable for articulation, search, synthesis and critique* (articulation and drafting are supported, synthesis rests on one preprint, search and critique are not covered), and *human situated input is epistemically special* (a normative reading of requirements research). diff --git a/docs/provenance.md b/docs/provenance.md index eb3aa33..49aa0fd 100644 --- a/docs/provenance.md +++ b/docs/provenance.md @@ -46,10 +46,11 @@ Files here sometimes cite these by number, for example "doc 10" or `09`. | IDs | Meaning | Defined in | |---|---|---| -| `D-nn`, `T-nn`, `P-nn`, `E-nn` | protocol decisions, deferred technical decisions, open protocol questions, evaluation questions | [`protocol/07`](../protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md); `T-11`–`T-13` were proposed in the [adversarial review](review/2026-09-adversarial-review-v0.2.md) | +| `D-nn`, `P-nn`, `E-nn` | protocol decisions, open protocol questions, evaluation questions | [`protocol/07`](../protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md) | +| `T-nn` | deferred technical decisions (project decisions, not protocol semantics) | [`docs/technical-decisions.md`](technical-decisions.md), section B of `protocol/07` up to v0.2; `T-11`–`T-13` were proposed in the [adversarial review](review/2026-09-adversarial-review-v0.2.md) | | `CAP-nn` | capabilities | [`capabilities/catalogue.md`](../capabilities/catalogue.md) | | `F-nn` | findings of the adversarial review | [`docs/review/`](review/2026-09-adversarial-review-v0.2.md) §3 | -| `CP-nn` | change proposals, `CP-01`–`CP-15` from the review, `CP-16`–`CP-21` from executing CP-10 | [`docs/review/disposition.md`](review/disposition.md) | +| `CP-nn` | change proposals, `CP-01`–`CP-15` from the review, `CP-16`–`CP-21` from executing CP-10, `CP-22` from known finding KF-2 | [`docs/review/disposition.md`](review/disposition.md) | | `HYP-nnn` | unified hypothesis register | [`research/hypothesis-register.md`](../research/hypothesis-register.md) | | `KF-n` | known findings against the published baseline | [`docs/known-findings.md`](known-findings.md) | | `M-nn`, `M1`–`M8`, `G1`–`G7`, `L1`–`L10`, `AP-nn`, `SC-n`, `EV-n`, "Phase n" | codes inside the Case 01 retrospective: method hypotheses, method elements, guidelines, lessons, anti-patterns | unpublished | diff --git a/docs/review/disposition.md b/docs/review/disposition.md index a0eb0f8..66ec38e 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -58,6 +58,14 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co None applied. CP-18 would add `CAP-16` to the catalogue. +### Proposals from known findings + +| CP | Proposal | Disposition | Where | +|---|---|---|---| +| CP-22 | resolve known finding KF-2: move `protocol/07` section B (deferred technical decisions `T-01`–`T-10`) out of the protocol into project documentation, and mark `T-01` (project name) decided | **accepted** 2026-09-22 (owner decision to resolve KF-2 through a change proposal); **done** for v0.2.1 | [`docs/technical-decisions.md`](../technical-decisions.md); `protocol/07` keeps a one-line pointer where section B was | + +CP-22 changes where the register lives, not what it says: no deferred decision other than `T-01` is decided by it, and sections A, C, D and E of `protocol/07` are unchanged. With section B gone, `protocol/07` no longer names a harness. + ## 3. Priority findings from doc 09 §4 | Finding | Status | diff --git a/docs/technical-decisions.md b/docs/technical-decisions.md new file mode 100644 index 0000000..b01e21c --- /dev/null +++ b/docs/technical-decisions.md @@ -0,0 +1,30 @@ +# Deferred technical decisions + +> **What this is:** the project's register of technical decisions deliberately left open — repository topology, first reference harness, state serialisation, skill architecture, review surface, evaluator, release workflow, concept storage. They decide how the project is built, not what the protocol requires, so they live in project documentation rather than in `protocol/`. +> **Where it came from:** section B of [`protocol/07`](../protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md) up to v0.2, moved here by change proposal CP-22 ([disposition](review/disposition.md)), which resolved known finding KF-2. The entries and their IDs are unchanged, except that `T-01` is now marked decided. `T-11`–`T-13` were proposed in the [adversarial review](review/2026-09-adversarial-review-v0.2.md) and are not listed here. + +## Register + +### T-01 — Final project/repository name +**Decided** 2026-09-14: *earnedshape*. The commitment and the overruled challenge are recorded in [`examples/naming-decision.md`](../examples/naming-decision.md). + +### T-02 — Monorepo vs multiple repos + +### T-03 — First reference harness +Claude Code remains a strong candidate, not a normative commitment. + +### T-04 — State serialization + +### T-05 — Skill/hook/agent architecture + +### T-06 — Review/handoff UI + +### T-07 — Automated evaluator architecture + +### T-08 — Public release workflow + +### T-09 — Concept/shared-language storage +Separate registry vs integrated state vs implicit memory. + +### T-10 — Visible terminology provenance +Whether Human/AI/External origin should be shown. diff --git a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md index 8cb83a3..59eecf1 100644 --- a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md +++ b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md @@ -81,30 +81,7 @@ Tentative structure can appear early across frames, concepts, terms and solution --- -## B. Deferred technical decisions - -### T-01 — Final project/repository name - -### T-02 — Monorepo vs multiple repos - -### T-03 — First reference harness -Claude Code remains a strong candidate, not a normative commitment. - -### T-04 — State serialization - -### T-05 — Skill/hook/agent architecture - -### T-06 — Review/handoff UI - -### T-07 — Automated evaluator architecture - -### T-08 — Public release workflow - -### T-09 — Concept/shared-language storage -Separate registry vs integrated state vs implicit memory. - -### T-10 — Visible terminology provenance -Whether Human/AI/External origin should be shown. +> Former section B, the deferred technical decisions `T-01`–`T-10`, is now [`docs/technical-decisions.md`](../docs/technical-decisions.md) (change proposal CP-22): they are project decisions, not protocol semantics. --- diff --git a/research/hypothesis-register.md b/research/hypothesis-register.md index ed93270..cb5ed96 100644 --- a/research/hypothesis-register.md +++ b/research/hypothesis-register.md @@ -45,7 +45,7 @@ The `evidence` column is the honest one: it says what the claim actually rests o | HYP-024 | An in-session halt heuristic prevents unproductive continuation | hypothesis | **dropped from v0.2** | SC-3, AP-09 | — | yes — CP-17 | | HYP-025 | Recorded dissent predicts later reopenings | hypothesis | new, from CP-05 | — | CAP-06 | yes — the one predictive test available at n=1 | -Open **questions** (`P-01..P-14`, `E-01..E-08`) and deferred **technical decisions** (`T-01..T-13`: `T-01..T-10` in `protocol/07`, `T-11..T-13` proposed in the adversarial review) keep their existing IDs and are not folded in: they are not claims, and merging them would recreate the confusion this register removes. `07` should link here rather than restate. +Open **questions** (`P-01..P-14`, `E-01..E-08`) and deferred **technical decisions** (`T-01..T-13`: `T-01..T-10` in [`docs/technical-decisions.md`](../docs/technical-decisions.md), section B of `protocol/07` up to v0.2; `T-11..T-13` proposed in the adversarial review) keep their existing IDs and are not folded in: they are not claims, and merging them would recreate the confusion this register removes. `07` should link here rather than restate. ## Three findings from building it diff --git a/tools/known-findings.txt b/tools/known-findings.txt index 728a9f9..5e53052 100644 --- a/tools/known-findings.txt +++ b/tools/known-findings.txt @@ -2,4 +2,3 @@ # Each entry is explained in docs/known-findings.md. Removing an entry is a fix; # adding one is a decision that should carry a reason in that document. protocol/06_OPEN_SOURCE_AND_PROJECT_PRINCIPLES.md:114: R1 -protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md:91: R1 From a58d9a6b9bc9c471fd9f9a8c9bbb7c6da8622b17 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:12:54 +0000 Subject: [PATCH 02/11] docs(protocol): declare the scope, define modes as objectives, state one commitment ladder (CP-14, CP-02, CP-04) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit First commit of the v0.2.1 consolidation. It brings the protocol text in line with three change proposals that docs/review/disposition.md had accepted and deferred to v0.2.1. Each edit traces to the proposal text in docs/review/2026-09-adversarial-review-v0.2.md §5. CP-14, the configuration assumption. protocol/01 §1 gains a "Declared scope" subsection: one human, one AI, single-threaded discovery ending in a handoff to a separate implementation context. It lists the known untested extensions (teams, multiple stakeholders, discovery inside an existing system, continuous discovery->delivery) and says that evidence from multi-party settings is a transfer into this configuration, not direct support for it. CP-02, the mode names. This applies option (b) from the proposal: the names PROBLEM_EXPLORATION, SOLUTION_EXPLORATION and CONVERGENCE stay. 01 §5 and 02 §1 now say that a mode names the dominant learning objective of the moment, never a phase, and that switches are expected many times per session. Option (a) would have renamed the modes to EXPAND/CONVERGE with a focus attribute. It was rejected because 02, the capability catalogue and the evidence cases already use the current names, and the proposal itself names (b) as the low-cost option. CP-04, the tentativeness devices. 01 §3 now calls Progressive Commitment the protocol's one tentativeness ladder, with a typed instantiation for each kind of object. It also adds the ladder's one presentation rule: render status honestly, so exploratory structure must not carry convergence rhetoric. §6 is marked as guidance under that rule rather than a separate device, and it keeps its exploration/convergence distinction, as the proposal requires. 02 §7 says its decision and shared-language dimensions are the state encoding of the same ladder. The catalogue's "Mode tracking" absence note no longer points to an open CP-02. The three disposition rows now read "done in v0.2.1" and name the section each change landed in. The headings still read v0.2; a later commit in this consolidation changes the version. Tested: the boundary lint exits 0 (1 known, 0 new). Risk: the owner still has to confirm the option (b) reading of CP-02 at merge. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- capabilities/catalogue.md | 2 +- docs/review/disposition.md | 6 ++--- protocol/01_PROTOCOL_V0.2.md | 27 +++++++++++++++++++++- protocol/02_INTERACTION_AND_STATE_MODEL.md | 6 +++-- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/capabilities/catalogue.md b/capabilities/catalogue.md index 4b6e443..c9720aa 100644 --- a/capabilities/catalogue.md +++ b/capabilities/catalogue.md @@ -183,5 +183,5 @@ Before an irreversible normalization, record what source-grounded information is ## What is deliberately absent - **Adaptive routing / the five-factor router.** Untested as a router, and there is no event that would show it fired. Adding a capability for it now would manufacture the appearance of a mechanism. -- **Mode tracking.** The mode taxonomy is under an open change proposal (CP-02); building a capability on a taxonomy that may be renamed is premature. +- **Mode tracking.** CP-02 was applied in v0.2.1 without renaming: a mode names the dominant learning objective of the moment, not a phase. Nothing in the catalogue depends on tracking it, so no capability is defined. - **Turn economics.** Depends entirely on whether `turn.recorded` is reachable. Phase 1 decides whether this is a capability or a demoted hypothesis. diff --git a/docs/review/disposition.md b/docs/review/disposition.md index 66ec38e..3b3f34c 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -28,9 +28,9 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP | Proposal | Disposition | Where | |---|---|---|---| | CP-01 | adversarial challenge as a convergence gate | **accepted** | drafted as `CAP-10`; protocol edit pending v0.2.1 | -| CP-02 | remove problem/solution split from mode names | **deferred to v0.2.1** | phase 0 deliberately defines no mode capability, so nothing depends on the outcome | +| CP-02 | remove problem/solution split from mode names | **done in v0.2.1** (option b: modes keep their names) | `protocol/01` §5, `02` §1 | | CP-03 | enumerated anchor-risk events instead of a self-judged trigger | **accepted** | drafted as `CAP-14`, whose L1 measurability depends on the list existing | -| CP-04 | collapse the four tentativeness devices into one ladder | **deferred to v0.2.1** | editorial; no capability depends on it | +| CP-04 | collapse the four tentativeness devices into one ladder | **done in v0.2.1** | `protocol/01` §3 (one ladder, one presentation rule), §6 demoted to guidance, `02` §7 named as its state encoding | | CP-05 | recorded-disagreement object | **accepted** | drafted as `CAP-06` | | CP-06 | define the commitment act | **accepted** | drafted as `CAP-04`, including the required payload | | CP-07 | reinstate disconfirming evidence in `research/` | **done** | `research/01` §2A + correction in §2, with an amendment note recording the change | @@ -40,7 +40,7 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP-11 | Core/Extended split + one hypothesis register | **done** | Core/Extended in `phase0/capabilities/catalogue.md`; register in `proposals/CP-11-hypothesis-register.md`, `HYP-001..025` over five legacy ID spaces | | CP-12 | conformance definition + minimal trace | **executed as a draft** | `phase0/observation-model/` and `phase0/capabilities/CONFORMANCE.md` | | CP-13 | redesign evaluation for n=1 | **deferred to v0.2.1** | phase 0 supplies the trace it would need; the redesign itself is untouched | -| CP-14 | declare the configuration assumption | **deferred to v0.2.1** | one paragraph in `protocol/01` §1 | +| CP-14 | declare the configuration assumption | **done in v0.2.1** | `protocol/01` §1, "Declared scope" | | CP-15 | context-scope concept status; move turn economics to binding guidance | **deferred** | `CAP-11` inherits the unresolved context-scope question and says so | **All four outstanding accepted proposals are now done** (CP-07, CP-09, CP-10, CP-11). Five remain deferred to a v0.2.1 consolidation pass (CP-02, CP-04, CP-08, CP-13, CP-14), and executing CP-10 produced six new ones. *[Note added on publication: the table above defers six proposals, four of them to v0.2.1 (CP-02, CP-04, CP-13, CP-14) and two without a target version (CP-08, CP-15).]* diff --git a/protocol/01_PROTOCOL_V0.2.md b/protocol/01_PROTOCOL_V0.2.md index 77422ba..2a88dc6 100644 --- a/protocol/01_PROTOCOL_V0.2.md +++ b/protocol/01_PROTOCOL_V0.2.md @@ -19,6 +19,21 @@ The protocol supports a human working with AI from an ambiguous starting point t Implementation itself is a separate work mode. +### Declared scope + +The protocol assumes one configuration: + +> **one human, one AI, single-threaded discovery, terminating in a handoff to a separate implementation context.** + +Everything in this protocol is written for that configuration and its evidence comes from it. Known untested extensions: + +- teams; +- multiple stakeholders; +- discovery inside an existing system; +- continuous discovery→delivery. + +Evidence imported from multi-party settings is a transfer into this configuration and should be named as one, not read as direct support. + --- ## 2. Governing principle @@ -55,7 +70,7 @@ Human engagement should remain deliberate where the process depends on: > **AI may externalize tentative structure early, but a useful proposal must remain distinguishable from an accepted model commitment.** -This principle applies across the discovery: +This is the protocol's one tentativeness ladder. It applies across the discovery, with one typed instantiation per kind of object: ### Frames `possible frame → working frame → accepted frame for current horizon` @@ -80,6 +95,12 @@ plausible abstraction Fluency is not commitment. +One presentation rule governs every instantiation: + +> **Render status honestly: exploratory structure must not carry convergence rhetoric.** + +§6 is guidance on applying that rule; `02` §7 is the state encoding of the same ladder. Neither is a separate device. + --- ## 4. Five high-value human contributions @@ -165,6 +186,8 @@ AI may recommend and challenge. It must not silently commit on the human's behal ## 5. Discovery modes +A mode names the **dominant learning objective of the moment**, never a phase. Problem and solution co-evolve (§7), so mode switches are expected many times in a session, and returning to an earlier mode is normal rather than a regression. + ### `PROBLEM_EXPLORATION` Goal: @@ -221,6 +244,8 @@ Do not silently convert recommendation into decision or working language into im ## 6. Structure for exploration vs structure for convergence +*Guidance under §3's presentation rule, not a separate device.* + AI structure is useful in two different ways. ### Structure for exploration diff --git a/protocol/02_INTERACTION_AND_STATE_MODEL.md b/protocol/02_INTERACTION_AND_STATE_MODEL.md index af7d7fd..5dda0be 100644 --- a/protocol/02_INTERACTION_AND_STATE_MODEL.md +++ b/protocol/02_INTERACTION_AND_STATE_MODEL.md @@ -6,11 +6,13 @@ Do not compress all interaction into one taxonomy. -### Discovery Mode — Where are we? +### Discovery Mode — What is the dominant learning objective right now? - `PROBLEM_EXPLORATION` - `SOLUTION_EXPLORATION` - `CONVERGENCE` +A mode is the dominant learning objective of the moment, not a phase (`01` §5). Expect many switches per session. + ### Interaction Move — What cognitive move is useful? - `ELICIT` - `REFLECT` @@ -264,7 +266,7 @@ This is a semantic candidate, not a fixed serialization contract. ## 7. Three distinct status dimensions -Do not confuse them. +Do not confuse them. The decision/commitment and shared-language dimensions are the state encoding of the Progressive Commitment ladder (`01` §3), not a separate mechanism. ### Epistemic status - Evidence From 208e701df069fa93b846c3a360226d01573cef17 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:13:45 +0000 Subject: [PATCH 03/11] docs(protocol): add the challenge condition, review typology, timing and return leg (CP-01, CP-16, CP-20) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CP-01 was accepted after review, but the protocol text was left for v0.2.1: convergence could still be declared on a model nobody had tried to break. protocol/01 §13 now lists that as a convergence condition: the current model has survived at least one deliberate attempt to break it, by a party or context independent of the pair that built it. Three related gaps in the same mechanism are closed alongside it: - Review typology (CP-01): exploration, adversarial and verification review, and spike, each answering a different question, so a review can say which kind it is. §15 now states that it is the release instance of the §13 mechanism, not a separate one. - When to review (CP-20): review when the model is coherent, concrete enough to attack and still cheap to change. The open question on review timing, dropped when v0.2 moved the trigger to release, is reinstated as protocol/07 P-15. - Closing the review loop (CP-16): fix only the named blockers, keep a resolution log, run a narrow verification review of those blockers only, and end with a ready or not-ready verdict. A verification pass must not reopen the product. The README drops its "protocol text follows in v0.2.1" note on challenge before convergence. CAP-10 now derives from CP-01, CP-16, CP-20 and protocol §13. docs/review/disposition.md records CP-01 as done in v0.2.1, and the CP-16..CP-21 table gains Disposition and Where columns: the owner's acceptance of 2026-09-22 for all six, and done in v0.2.1 for CP-16 and CP-20. The item's seed named "CP-10 (challenge before convergence)"; CP-10 is the already-done Case 01 disposition table, so the seed is read as CP-01's content. Alternative considered: a new top-level section for the typology. Rejected because it would renumber §14 and §15 and break inbound references; subsections of §13 keep the numbering stable. Tested: tools/boundary_lint.py exits 0 (1 known, 0 new). Risks: the owner confirms the recorded acceptances of CP-16..CP-21 at merge. The "None applied" sentence under the CP-16..CP-21 table is now stale and is updated in a later commit once all six are in. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- README.md | 2 +- capabilities/catalogue.md | 2 +- docs/review/disposition.md | 18 ++++++------ protocol/01_PROTOCOL_V0.2.md | 31 ++++++++++++++++++++- protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md | 3 ++ 5 files changed, 44 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 6e777d0..3484a0c 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ A protocol that forces the two apart: - **The commitment act** — a commitment exists only with its rejected alternative, its rationale, and the condition under which it should be reopened. Anything else is a draft, however confident it sounds. - **Decision rights** — what the AI may do alone, what it may draft, what it may only advise on, and what stays with the human. - **Meaning before commitment** — a term the AI coins starts as a candidate. Fluent vocabulary is not shared understanding until it has been tested against cases. -- **Challenge before convergence** — a model is not ready to commit to until it has survived a deliberate attempt to break it. (Accepted after review; the protocol text follows in v0.2.1.) +- **Challenge before convergence** — a model is not ready to commit to until it has survived a deliberate attempt to break it. The governing rule is inverted from most AI tooling: it optimises for the **next valuable human contribution**, not for the completeness of the AI's answer. diff --git a/capabilities/catalogue.md b/capabilities/catalogue.md index c9720aa..687dc56 100644 --- a/capabilities/catalogue.md +++ b/capabilities/catalogue.md @@ -99,7 +99,7 @@ ### CAP-10 · Adversarial challenge before convergence **class** enforcement · **depends on** CAP-06 -**derives from** change proposal CP-01; Case 01 Phase 9, G6, L4, M-03; Case 02 E-02-20 +**derives from** change proposals CP-01, CP-16, CP-20; protocol §13; Case 01 Phase 9, G6, L4, M-03; Case 02 E-02-20 **required** Before a high-impact commitment, the current model has survived one deliberate attempt to break it, by a party or context independent of the pair that built it. Findings are recorded as challenges; a narrow verification pass confirms the named blockers are closed. **must emit** `adversarial_review.completed`, plus `challenge.raised` per finding **eval L1** Commitments made with no preceding review event; reviews with no recorded findings (a review that finds nothing is usually a review that did not happen). diff --git a/docs/review/disposition.md b/docs/review/disposition.md index 3b3f34c..e96660f 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -27,7 +27,7 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP | Proposal | Disposition | Where | |---|---|---|---| -| CP-01 | adversarial challenge as a convergence gate | **accepted** | drafted as `CAP-10`; protocol edit pending v0.2.1 | +| CP-01 | adversarial challenge as a convergence gate | **accepted**; **done in v0.2.1** | drafted as `CAP-10`; protocol text in `protocol/01` §13 (challenge condition, review typology) and §15 | | CP-02 | remove problem/solution split from mode names | **done in v0.2.1** (option b: modes keep their names) | `protocol/01` §5, `02` §1 | | CP-03 | enumerated anchor-risk events instead of a self-judged trigger | **accepted** | drafted as `CAP-14`, whose L1 measurability depends on the list existing | | CP-04 | collapse the four tentativeness devices into one ladder | **done in v0.2.1** | `protocol/01` §3 (one ladder, one presentation rule), §6 demoted to guidance, `02` §7 named as its state encoding | @@ -47,14 +47,14 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co ### New proposals from CP-10 -| CP | Proposal | Priority | -|---|---|---| -| CP-16 | close the review loop: repair leg, resolution log, scoped re-review | high | -| CP-17 | an in-session stop heuristic | high | -| CP-18 | information-loss gate, generalized beyond terminology | high | -| CP-19 | reuse gate before architecture | medium | -| CP-20 | review timing on cost-of-change; reinstate the dropped open question | medium | -| CP-21 | classify counterexamples local vs structural; define saturation | medium | +| CP | Proposal | Priority | Disposition | Where | +|---|---|---|---|---| +| CP-16 | close the review loop: repair leg, resolution log, scoped re-review | high | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "Closing the review loop" | +| CP-17 | an in-session stop heuristic | high | **accepted** 2026-09-22 (owner) | — | +| CP-18 | information-loss gate, generalized beyond terminology | high | **accepted** 2026-09-22 (owner) | — | +| CP-19 | reuse gate before architecture | medium | **accepted** 2026-09-22 (owner) | — | +| CP-20 | review timing on cost-of-change; reinstate the dropped open question | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "When to review"; open question reinstated as `07` P-15 | +| CP-21 | classify counterexamples local vs structural; define saturation | medium | **accepted** 2026-09-22 (owner) | — | None applied. CP-18 would add `CAP-16` to the catalogue. diff --git a/protocol/01_PROTOCOL_V0.2.md b/protocol/01_PROTOCOL_V0.2.md index 2a88dc6..87e01ed 100644 --- a/protocol/01_PROTOCOL_V0.2.md +++ b/protocol/01_PROTOCOL_V0.2.md @@ -414,12 +414,39 @@ Convergence is justified when: - critical assumptions were tested or explicitly accepted; - high-impact terminology has enough shared meaning for current decisions; - further exploration has diminishing expected information value; -- uncertainty remains visible. +- uncertainty remains visible; +- the current model has survived at least one deliberate attempt to break it, by a party or context independent of the pair that built it. A useful sequence: `compare → expose uncertainty → challenge → decide → commit` +### Review typology + +Four kinds of review, each answering a different question: + +- **exploration review** — what perspective is missing? +- **adversarial review** — where does the model break? +- **verification review** — are the named blockers actually closed? +- **spike** — how does the external world actually behave? + +The challenge condition above is an adversarial review. §15 is the release instance of the same mechanism, not a separate one. + +### When to review + +Run the adversarial review when the model is **coherent, concrete enough to attack, and still cheap to change**. Waiting until release is later, easier to skip, and makes every finding more expensive. Whether this timing actually beats a pre-release review is an open question (`07` P-15). + +### Closing the review loop + +A review is not finished when its findings are written down. The return leg: + +1. fix only the named blockers; +2. record a resolution log: each blocker, what was done, or why it stays open; +3. run a narrow **verification review** that checks those blockers and nothing else; +4. end with a verdict: **ready** or **not ready**. + +The verification pass must not reopen the product. A second review that brainstorms new directions is a new exploration, and should be named as one. + --- ## 14. Discovery completion @@ -445,6 +472,8 @@ Readiness means: ## 15. Whole-baseline review before stable/public release +This is the release instance of the adversarial review in §13; the review typology, timing rule and return leg there apply here too. + Before treating a protocol/discovery baseline as stable for public release: - run independent adversarial review; diff --git a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md index 59eecf1..802e47d 100644 --- a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md +++ b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md @@ -121,6 +121,9 @@ What should count as sufficient shared meaning? ### P-14 — Intentional ambiguity When should a concept remain explicitly unresolved? +### P-15 — Review timing +Does an adversarial review triggered when the model is coherent, concrete enough to attack and still cheap to change catch more material problems, at lower cost, than one run before release? Reinstated in v0.2.1 (CP-20) after it was dropped when v0.2 moved the trigger to release. + --- ## D. Evaluation questions From de2941b29cf4f6eff53ec2061f45f88129f2935e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:14:26 +0000 Subject: [PATCH 04/11] docs(protocol): add the stop signal, reuse check and counterexample classification (CP-17, CP-19, CP-21) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Applies three change proposals the owner accepted on 2026-09-22, as recorded in docs/review/disposition.md. CP-19, §11 "Reuse check before architecture": the Analogy Boundary Check covers borrowed ideas, but nothing covered borrowed components. The new gate asks, at the point of decision, whether the critical part already exists externally and actually works, and says to spike before designing around it when the answer is uncertain. §14's external-contract readiness check follows it but does not replace it. CP-21, §12 "Counterexamples": each counterexample is classified as local (the model survives with a bounded fix) or structural (frame, boundaries or core concepts change). Counterexample work is saturated when new counterexamples cause mostly local changes; a structural one after apparent saturation reopens convergence. CP-17, §13 "Stop signal": five in-session symptoms of a discovery that keeps running without producing anything (hypothetical future features, options only decidable in code, settled decisions restated, artifacts re-sorted, no new evidence or decisions), and the decision to take when they dominate: converge, hand off with the open points deferred, or name the uncertainty that justifies continuing. 05's No-New-Evidence Reopenings measures the same failure after the fact, too late to act on. All three are subsections, so section numbers and inbound references stay stable. The disposition rows for CP-17, CP-19 and CP-21 now record them as done in v0.2.1, with the section. Tested: boundary lint exits 0 (1 known, 0 new); wording traced to the proposal texts. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- docs/review/disposition.md | 6 +++--- protocol/01_PROTOCOL_V0.2.md | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/docs/review/disposition.md b/docs/review/disposition.md index e96660f..ef2d358 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -50,11 +50,11 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP | Proposal | Priority | Disposition | Where | |---|---|---|---|---| | CP-16 | close the review loop: repair leg, resolution log, scoped re-review | high | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "Closing the review loop" | -| CP-17 | an in-session stop heuristic | high | **accepted** 2026-09-22 (owner) | — | +| CP-17 | an in-session stop heuristic | high | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "Stop signal" | | CP-18 | information-loss gate, generalized beyond terminology | high | **accepted** 2026-09-22 (owner) | — | -| CP-19 | reuse gate before architecture | medium | **accepted** 2026-09-22 (owner) | — | +| CP-19 | reuse gate before architecture | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §11, "Reuse check before architecture" | | CP-20 | review timing on cost-of-change; reinstate the dropped open question | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "When to review"; open question reinstated as `07` P-15 | -| CP-21 | classify counterexamples local vs structural; define saturation | medium | **accepted** 2026-09-22 (owner) | — | +| CP-21 | classify counterexamples local vs structural; define saturation | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §12, "Counterexamples" (classification and saturation) | None applied. CP-18 would add `CAP-16` to the catalogue. diff --git a/protocol/01_PROTOCOL_V0.2.md b/protocol/01_PROTOCOL_V0.2.md index 87e01ed..eae253a 100644 --- a/protocol/01_PROTOCOL_V0.2.md +++ b/protocol/01_PROTOCOL_V0.2.md @@ -388,6 +388,14 @@ When importing a prior framework, product or method: A useful analogy may still become a fixation source if its operating assumptions are silently imported. +### Reuse check before architecture + +The Analogy Boundary Check covers borrowed *ideas*. Borrowed *components* need their own gate, at the point of decision rather than at the end: + +> **Does the critical part already exist externally, and does it actually work?** + +If the answer is uncertain, spike before designing around it (§13, review typology). §14's "material external contracts are verified or deliberately deferred" is the readiness check that follows; it does not replace this gate. + --- ## 12. Divergence rules @@ -402,6 +410,15 @@ During deliberate divergence: - expose competing models, not synonym lists; - compare before ranking. +### Counterexamples + +Classify every counterexample when it arrives: + +- **local** — the model survives with a bounded fix; +- **structural** — the model's frame, boundaries or core concepts have to change. + +Counterexample work is **saturated** when new counterexamples cause mostly local changes. Saturation is evidence for convergence (§13); a structural counterexample after apparent saturation reopens it. + --- ## 13. Convergence and commitment @@ -447,6 +464,18 @@ A review is not finished when its findings are written down. The return leg: The verification pass must not reopen the product. A second review that brainstorms new directions is a new exploration, and should be named as one. +### Stop signal + +A discovery can keep running while producing nothing. Check for these symptoms during a session, not only afterwards: + +- new turns mainly add hypothetical future features; +- options are debated that can only be decided in code; +- settled decisions are restated; +- artifacts are re-sorted rather than changed; +- no new evidence and no new decisions appear. + +When they dominate, stop and decide: converge (this section), hand off with the open points deferred (§14), or name the specific uncertainty that justifies continuing. `05` §3's No-New-Evidence Reopenings measures the same failure after the fact, which is too late to act on. + --- ## 14. Discovery completion From 27070f216a5b5bac3985606a7094ba4061982805 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:15:17 +0000 Subject: [PATCH 05/11] docs(protocol): generalize the information-loss check and specify CAP-16 (CP-18) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change proposal CP-18 (accepted by the owner on 2026-09-22) generalizes the information-loss gate beyond terminology. Until now the protocol only protected source expressions from being overwritten (04 §4). Case 01 showed the same loss happens whenever source-grounded information is normalized in any other way, and that the general form carries over to any system that ingests and transforms external information. Protocol text: - protocol/01 §9 gains "Information-loss check before normalization". Before source-grounded information is irreversibly normalized (merged, summarised, mapped onto a schema, renamed or discarded), record what is discarded and what reconstructing it would cost. When the cost is high and the information may still matter, keep a source reference instead. - protocol/04 §4 now says it is the terminology instance of that rule. The proposal takes the form of a capability, so CAP-16 moves from Reserved to Extended in capabilities/catalogue.md, with required, must emit, eval L1, eval L2 and falsified-by. The Reserved section now says that no identifier is reserved. capabilities/CONFORMANCE.md gains a CAP-16 row (ext, every cell "?"). The observation model gains the extended event kind normalization.recorded with the proposal's payload (discarded, reconstruction_cost). The CP-18 row in docs/review/disposition.md records it as done in v0.2.1 and names the sections. CAP-16 is Extended rather than Core because the Core/Extended split (CP-11) is still a proposal and nothing in Core depends on this capability. Lint rule R3 only requires Core capabilities in the matrix, so the lint passes with either classification. Tested: boundary lint exits 0 (1 known, 0 new). That includes R2 (every CAP-nn reference resolves) and R3 (every Core capability appears in the conformance matrix). Risk: a new extended event kind changes the observation model. It is part of the v0.2.1 version bump in the same consolidation and is named in the changelog. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- capabilities/CONFORMANCE.md | 1 + capabilities/catalogue.md | 16 ++++++++++------ docs/review/disposition.md | 2 +- protocol/01_PROTOCOL_V0.2.md | 9 +++++++++ protocol/04_SHARED_LANGUAGE_POLICY.md | 2 ++ .../observation-model/02-event-vocabulary.md | 1 + 6 files changed, 24 insertions(+), 7 deletions(-) diff --git a/capabilities/CONFORMANCE.md b/capabilities/CONFORMANCE.md index 3b7c484..1a6c5f1 100644 --- a/capabilities/CONFORMANCE.md +++ b/capabilities/CONFORMANCE.md @@ -32,6 +32,7 @@ Three separate questions per cell, never collapsed: | CAP-13 probe + debrief | ext | enf | ? | ? | ? | ? | ? | ? | | CAP-14 independent position | ext | enf | ? | ? | ? | ? | ? | ? | | CAP-15 analogy record | ext | enf | ? | ? | ? | ? | ? | ? | +| CAP-16 information-loss gate | ext | enf | ? | ? | ? | ? | ? | ? | `CC` = Claude Code · `GPT` = a ChatGPT surface, which one to be decided. diff --git a/capabilities/catalogue.md b/capabilities/catalogue.md index 687dc56..75e041a 100644 --- a/capabilities/catalogue.md +++ b/capabilities/catalogue.md @@ -167,16 +167,20 @@ **falsified by** Records are produced and no import error is ever caught by one. **note** The protocol does not currently apply this to its own imports (finding F-18). The capability should be exercised on those four first — the cheapest possible test, on material already at hand. Done by hand as change proposal CP-09: [`research/analogy-records.md`](../research/analogy-records.md) — each of the four records produced a finding, none of them cosmetic. +### CAP-16 · Information-loss gate +**class** enforcement · **depends on** CAP-01 +**derives from** protocol §9 (information-loss check before normalization), change proposal CP-18; `04_SHARED_LANGUAGE_POLICY` §4; Case 01 G3, AP-05, L3, L7, M-05 +**required** Before source-grounded information is irreversibly normalized — merged, summarised, mapped onto a schema, renamed or discarded — a record states what is being discarded and what reconstructing it would cost. +**must emit** `normalization.recorded` +**eval L1** Irreversible normalizations of source material with no record. +**eval L2** Whether information later found missing had been recorded as discarded, and whether its recorded reconstruction cost was realistic. +**falsified by** Records are produced and no discarded information is ever needed again, while the recording cost is visible. + --- ## Reserved -An identifier is allocated the moment a proposal depends on it, so that it cannot be reused while the proposal is open. A reservation is not a specification. - -### CAP-16 · Information-loss gate -**status** reserved, not specified · **class** enforcement · **from** change proposal CP-18 -Before an irreversible normalization, record what source-grounded information is being discarded and what reconstructing it would cost. v0.2 has this only for terminology; Case 01 identified the general form as transferable to any system that ingests and transforms external information. -**would emit** `normalization.recorded {discarded, reconstruction_cost}` +An identifier is allocated the moment a proposal depends on it, so that it cannot be reused while the proposal is open. A reservation is not a specification. No identifier is currently reserved. --- diff --git a/docs/review/disposition.md b/docs/review/disposition.md index ef2d358..b06cdcf 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -51,7 +51,7 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co |---|---|---|---|---| | CP-16 | close the review loop: repair leg, resolution log, scoped re-review | high | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "Closing the review loop" | | CP-17 | an in-session stop heuristic | high | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "Stop signal" | -| CP-18 | information-loss gate, generalized beyond terminology | high | **accepted** 2026-09-22 (owner) | — | +| CP-18 | information-loss gate, generalized beyond terminology | high | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §9, "Information-loss check before normalization"; `CAP-16` specified in the catalogue (Extended); `normalization.recorded` added to the extended event kinds | | CP-19 | reuse gate before architecture | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §11, "Reuse check before architecture" | | CP-20 | review timing on cost-of-change; reinstate the dropped open question | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "When to review"; open question reinstated as `07` P-15 | | CP-21 | classify counterexamples local vs structural; define saturation | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §12, "Counterexamples" (classification and saturation) | diff --git a/protocol/01_PROTOCOL_V0.2.md b/protocol/01_PROTOCOL_V0.2.md index eae253a..a53f180 100644 --- a/protocol/01_PROTOCOL_V0.2.md +++ b/protocol/01_PROTOCOL_V0.2.md @@ -342,6 +342,15 @@ The AI should distinguish: See `04_SHARED_LANGUAGE_POLICY.md`. +### Information-loss check before normalization + +Preserving source expressions (`04` §4) is one instance of a general rule. Whenever source-grounded information is about to be irreversibly normalized — merged, summarised, mapped onto a schema, renamed or discarded — first record: + +- what is being discarded; +- what it would cost to reconstruct it later. + +If the reconstruction cost is high and the information may still matter, keep a reference to the source instead of discarding it. + --- ## 10. Research behavior diff --git a/protocol/04_SHARED_LANGUAGE_POLICY.md b/protocol/04_SHARED_LANGUAGE_POLICY.md index a3b45c2..3c81635 100644 --- a/protocol/04_SHARED_LANGUAGE_POLICY.md +++ b/protocol/04_SHARED_LANGUAGE_POLICY.md @@ -66,6 +66,8 @@ Source language is evidence about how the problem is currently understood. It is not automatically the final canonical vocabulary. +This section is the terminology instance of the general information-loss check before normalization (`01` §9). + --- ## 5. AI naming as proposal diff --git a/protocol/observation-model/02-event-vocabulary.md b/protocol/observation-model/02-event-vocabulary.md index b3cde57..0bb4e96 100644 --- a/protocol/observation-model/02-event-vocabulary.md +++ b/protocol/observation-model/02-event-vocabulary.md @@ -88,6 +88,7 @@ Not required for conformance. Each corresponds to a mechanism the protocol curre | `concept.tested_in_use` | `concept_id`, `scenario_ref`, `outcome` | the scenario gate | | `research.delta_recorded` | `question`, `result`, `decision_impact`, `new_uncertainty` | research model delta | | `analogy.recorded` | `source`, `original_problem`, `transferable`, `non_transferable` | analogy boundary check | +| `normalization.recorded` | `discarded`, `reconstruction_cost` | information-loss check before normalization | | `human_position.elicited` | `trigger`, `contribution_type`, `before_ai_output` | the human-first signal | | `probe.debriefed` | `probe_id`, `learning_ref`, `assumption_changed`, `disposition` | probe debrief | | `adversarial_review.completed` | `scope`, `reviewer_kind`, `findings`, `blocking` | the adversarial gate | From 5b9167c522d56ed248ab99915beeac08d2a90b0e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:16:33 +0000 Subject: [PATCH 06/11] docs(protocol): make pre-registered predictions the primary evaluation instrument and add one evidence scale (CP-13, CP-08) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Evaluation in protocol/05 was built around run-level signals and a cross-run Pareto comparison. Evidence arrives one case at a time, so at n=1 there is no population to compare against, and a dashboard of signals invites conclusions nobody committed to in advance. CP-13 (accepted, deferred to v0.2.1) asked for an evaluation design that works at n=1. CP-13: - §2 becomes "Primary instrument: pre-registered predictions": per case at most five hypotheses with IDs from the hypothesis register, each with a predicted observable and a falsification criterion. Conclusions are drawn only against these predictions. The two quality gates stay; cross-run Pareto comparison becomes a diagnostic until several comparable cases exist. - §3 becomes "Always-on measures and optional diagnostics": cold-start handoff blockers, decision explainability on three sampled decisions, and trace-derived state-integrity defects are taken on every run. The other signals keep their headings as an explicitly optional diagnostic catalogue. - §8's learning loop starts with pre-registration; §9 restates Keep/Investigate/Revert as rules over the pre-registered predictions; §11's Case 03 instrumentation lists the pre-registered predictions. - Section numbers are unchanged, so inbound references (01 §13 stop signal, CAP-09's "05 §3", CAP-02's "05 §11") still resolve. CP-08 (previously recorded as deferred; accepted by the owner on 2026-09-22): - New §12 "Evidence strength: one scale, two columns" separates observation clarity (clear / partial / inferred) from evidential weight (strong / moderate / weak / contested). Clarity never raises weight, so a clearly observed pattern in one self-authored, dependent case is still weak evidence. - Existing ledgers get an added column and a dated note; recorded judgements are never rewritten. This is the proposal's own risk mitigation. - research/01 §1 gains one sentence: its labels predate the rule, are kept as written and read as evidential weight, with KF-3 as the list of known over-statements. - The evidence ledgers are not published here, so relabelling Case 02's ledger is recorded in the disposition as still outstanding in the evidence layer. The disposition rows for CP-13 and CP-08 are updated to match. Alternatives considered: - Renumbering 05 to put the new instrument first and move the old gates later. Rejected: it breaks inbound section references. - Relabelling research/01 in place. Rejected: it overlaps KF-3's separate narrowing pass. Tested: boundary lint exits 0 (1 known, 0 new). Risks: the scale values are a first definition and may need adjusting once applied to a ledger. The owner confirms CP-08's acceptance at merge. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- docs/review/disposition.md | 4 +- protocol/05_EVALUATION_AND_LEARNING.md | 66 ++++++++++++++----- .../01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md | 2 + 3 files changed, 55 insertions(+), 17 deletions(-) diff --git a/docs/review/disposition.md b/docs/review/disposition.md index b06cdcf..a087ca6 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -34,12 +34,12 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP-05 | recorded-disagreement object | **accepted** | drafted as `CAP-06` | | CP-06 | define the commitment act | **accepted** | drafted as `CAP-04`, including the required payload | | CP-07 | reinstate disconfirming evidence in `research/` | **done** | `research/01` §2A + correction in §2, with an amendment note recording the change | -| CP-08 | one evidence-strength scale, two columns | **deferred** | evidence-layer edit, lower urgency than the publication decision it serves | +| CP-08 | one evidence-strength scale, two columns | **accepted** 2026-09-22 (owner); **done in v0.2.1** in the protocol text | `protocol/05` §12 (one scale, observation clarity and evidential weight); `research/01` §1 points to it. Adding the second column to Case 02's ledger belongs to the unpublished evidence layer and is still outstanding there | | CP-09 | analogy records for the protocol's own four imports | **done** | `proposals/CP-09-analogy-records.md` — four records, four findings, two of them not reconstructable from the pack | | CP-10 | Case 01 method disposition table | **done** | `proposals/CP-10-case01-method-disposition.md` — 62 elements: 26 kept, 18 transformed, 18 dropped, **0 object-level**. Six new proposals arise (CP-16..CP-21) | | CP-11 | Core/Extended split + one hypothesis register | **done** | Core/Extended in `phase0/capabilities/catalogue.md`; register in `proposals/CP-11-hypothesis-register.md`, `HYP-001..025` over five legacy ID spaces | | CP-12 | conformance definition + minimal trace | **executed as a draft** | `phase0/observation-model/` and `phase0/capabilities/CONFORMANCE.md` | -| CP-13 | redesign evaluation for n=1 | **deferred to v0.2.1** | phase 0 supplies the trace it would need; the redesign itself is untouched | +| CP-13 | redesign evaluation for n=1 | **done in v0.2.1** | `protocol/05` §2 (pre-registered predictions as the primary instrument), §3 (three always-on measures, the rest an optional diagnostic catalogue), §9 (Keep/Investigate/Revert over predictions), §11 | | CP-14 | declare the configuration assumption | **done in v0.2.1** | `protocol/01` §1, "Declared scope" | | CP-15 | context-scope concept status; move turn economics to binding guidance | **deferred** | `CAP-11` inherits the unresolved context-scope question and says so | diff --git a/protocol/05_EVALUATION_AND_LEARNING.md b/protocol/05_EVALUATION_AND_LEARNING.md index e1d4ffb..0eee98a 100644 --- a/protocol/05_EVALUATION_AND_LEARNING.md +++ b/protocol/05_EVALUATION_AND_LEARNING.md @@ -19,7 +19,15 @@ Do not optimize one composite score. --- -## 2. Quality gates + Pareto comparison +## 2. Primary instrument: pre-registered predictions + +Evidence arrives one case at a time. At n=1 there is no population to compare against, so a run-level metric dashboard cannot be the primary instrument. Before each case, pre-register: + +- **hypotheses** — at most five per case, each with a stable ID from the hypothesis register; +- **predicted observable** — what the run should show if the hypothesis holds; +- **falsification criterion** — what the run would show if it does not. + +A conclusion is drawn only against these predictions. What was not predicted may be recorded as an observation for the next case, but it is not evidence for or against a hypothesis in this one. ### Gate 1 Discovery/handoff quality must remain acceptable. @@ -27,27 +35,26 @@ Discovery/handoff quality must remain acceptable. ### Gate 2 Human understanding/agency must not materially deteriorate. -Then compare: -- state integrity; -- convergence; -- workload; -- active human time; -- process overhead. +The two gates still apply to every case. Cross-run Pareto comparison of state integrity, convergence, workload, active human time and process overhead becomes possible once several comparable cases exist; until then it is a diagnostic, not the verdict. A faster protocol is not better if it produces more product rediscovery or weaker human ownership. --- -## 3. Core run-level signals +## 3. Always-on measures and optional diagnostics + +Three measures are cheap enough to take on every run, whatever was pre-registered: ### Cold-Start Handoff Blockers Can a fresh implementation context proceed using only the final discovery baseline? ### Decision Explainability Coverage -Can the human explain consequential decisions, alternatives, trade-offs and uncertainty without the original AI? +Can the human explain consequential decisions, alternatives, trade-offs and uncertainty without the original AI? Sample three consequential decisions per run. ### State-Integrity Defects -Lost decisions, contradictions, stale assumptions, missing provenance/status. +Lost decisions, contradictions, stale assumptions, missing provenance/status — derived from the trace, not from recollection. + +The signals below form an **optional diagnostic catalogue**. Use one when a pre-registered hypothesis needs it; none of them is required. ### Useful Breadth before Commitment Materially distinct frames/solution mechanisms considered before high-impact commitment. @@ -144,7 +151,8 @@ Decision rule: ## 8. Learning loop ```text -real run +pre-registered predictions +→ real run → mostly automatic measurement → short AAR → protocol hypothesis @@ -158,14 +166,16 @@ real run ## 9. Keep / Investigate / Revert +Rules over the pre-registered predictions of §2, not over a cross-run comparison. Both gates of §2 must hold for **Keep**. + ### Keep -Quality stable/improving; agency stable; defects/effort improve. +The predicted observable appeared, the falsification criterion was not met, and the always-on measures (§3) did not get worse. ### Investigate -Efficiency improves but breadth, understanding, defective-AI resistance or semantic consistency declines. +The prediction held, but an always-on measure or a diagnostic used for this hypothesis moved the wrong way — for example breadth, understanding, defective-AI resistance or semantic consistency declined. ### Revert -Major blockers, discovery reopenings, understanding loss or systematic state/concept defects increase. +The falsification criterion was met, or a gate of §2 failed: major handoff blockers, discovery reopenings, understanding loss or systematic state/concept defects. --- @@ -212,9 +222,35 @@ Preferably instrument it **before** the discovery begins: - protocol version; - model/harness version; - active state mechanism; -- selected hypotheses; +- pre-registered hypotheses, predicted observables and falsification criteria (§2); - lightweight telemetry; - AAR; - planned cold-start handoff test. The goal is to move from retrospective inference toward prospective evidence. + +--- + +## 12. Evidence strength: one scale, two columns + +Every evidence record in this project uses one vocabulary for strength, and keeps two things apart that a single column conflates. + +### Observation clarity +How clearly was this seen in this case? + +- `clear` — directly observed and recorded; +- `partial` — observed, but incompletely or only in part of the case; +- `inferred` — reconstructed after the fact. + +### Evidential weight +What does it license for the protocol? + +- `strong` — independent, replicated or peer-reviewed support; +- `moderate` — one independent study, or consistent support from several weaker sources; +- `weak` — practitioner literature, a single dependent or self-authored case, or the project's own inference; +- `contested` — the evidence points in different directions. + +Observation clarity never raises evidential weight: a clearly observed pattern in one self-authored, dependent case is still `weak` evidence for the protocol. + +Existing evidence ledgers are not rewritten to fit. The second column is **added**, with a dated note, and the original judgements stay as they were recorded. + diff --git a/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md b/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md index 5908523..4a1f23a 100644 --- a/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md +++ b/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md @@ -24,6 +24,8 @@ The current baseline is informed by: None of these alone validates the full protocol. +Strength labels in this file predate the one-scale rule of [`protocol/05`](../protocol/05_EVALUATION_AND_LEARNING.md) §12 and are kept as written; read them as statements of *evidential weight*. Known over-statements are listed in [`docs/known-findings.md`](../docs/known-findings.md) (KF-3). + --- ## 2. Strongly supported directions From 05157d480b8e500ab906aec64a777eede71ebb65 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:18:11 +0000 Subject: [PATCH 07/11] docs(protocol): mark the protocol v0.2.1 and record the consolidation This is the last commit of the v0.2.1 consolidation. The earlier commits applied the accepted change proposals to the protocol text. This one gives that text a version number and brings the records into line with it. Version marking: the headings of protocol/01-07 and the status line of all 11 protocol files, including protocol/observation-model/, now read v0.2.1. The file names stay as they are. 01_PROTOCOL_V0.2.md keeps its name so that inbound links keep working. README, docs/overview.md and CITATION.cff (version "0.2.1") match. CHANGELOG: a new "v0.2.1 - consolidation of accepted change proposals (not yet tagged)" section has one row per applied proposal (CP-01, 02, 04, 08, 13, 14, 16-22). Each row gives the changed rule, the observation behind it (a review finding or a Case 01 code) and what is still hypothesis. The earlier CP-22 bullet under Unreleased moves into this section. A migration note for the observation model records one extended kind, normalization.recorded. No run has been recorded under the old vocabulary, so no comparability is lost. A "What did not happen" paragraph says what this version does not do: - The review planned a smaller v0.2.1. This one is larger because CP-16-21 bring back Case 01 mechanisms, none of which has been tested. - CP-15 is still deferred. - KF-1 and KF-3 are still open. - The Core/Extended split is still only a proposal. Records brought into line: - docs/review/disposition.md: two summary sentences no longer matched the table rows ("None were applied", "Five remain deferred"). Each gets a dated update note, and the original wording stays. The CP-16-21 table now says "All six applied in v0.2.1". The priority-findings table is updated for F-02 and F-09. - docs/provenance.md: the timeline gains a 22 Sep 2026 v0.2.1 row. - docs/known-findings.md: KF-3's proposed fix no longer calls itself "a v0.2.1 pass". That work is not part of this consolidation. - protocol/05: a stray trailing blank line left by the previous commit is removed. No tag is created. Tagging is the owner's decision. Tested: python3 tools/boundary_lint.py . exits 0 (1 known, 0 new). The line number of the known entry in 06 has not changed, because the banner edits keep line counts the same. Every observation in the changelog was checked against the review's finding titles and the proposal texts. Risks: at merge, the owner still has to confirm the recorded acceptances and decide whether to tag protocol/v0.2.1. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- CHANGELOG.md | 24 ++++++++++++++++++- CITATION.cff | 2 +- README.md | 2 +- docs/known-findings.md | 2 +- docs/overview.md | 2 +- docs/provenance.md | 1 + docs/review/disposition.md | 10 ++++---- protocol/01_PROTOCOL_V0.2.md | 4 ++-- protocol/02_INTERACTION_AND_STATE_MODEL.md | 4 ++-- protocol/03_DECISION_RIGHTS_AND_AUTONOMY.md | 4 ++-- protocol/04_SHARED_LANGUAGE_POLICY.md | 4 ++-- protocol/05_EVALUATION_AND_LEARNING.md | 5 ++-- .../06_OPEN_SOURCE_AND_PROJECT_PRINCIPLES.md | 4 ++-- protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md | 4 ++-- protocol/observation-model/01-run-record.md | 2 +- .../observation-model/02-event-vocabulary.md | 2 +- .../observation-model/03-fidelity-levels.md | 2 +- .../04-recording-boundaries.md | 2 +- 18 files changed, 51 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fb688d..66208a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,29 @@ Protocol versions are recorded here with the changed rule, the observation that ## Unreleased -- **Protocol (towards v0.2.1), CP-22:** section B of `protocol/07`, the register of deferred technical decisions `T-01`–`T-10`, moved to [`docs/technical-decisions.md`](docs/technical-decisions.md), and `T-01` (project name) is marked decided. *Observation:* known finding KF-2 — the register holds project decisions, not protocol semantics, and it was the only reason the normative layer named a harness. *Still hypothesis:* nothing new; no other deferred decision is decided by the move. KF-2 is closed. +## v0.2.1 — consolidation of accepted change proposals (not yet tagged) + +v0.2.1 applies the change proposals that were accepted but not yet in the protocol text. It adds no proposal of its own; each change traces to one proposal, and [`docs/review/disposition.md`](docs/review/disposition.md) records where each landed. File names are unchanged; headings and status lines read v0.2.1. + +| Proposal | Changed rule | Observation that motivated it | Still hypothesis | +|---|---|---|---| +| CP-01 | `01` §13: convergence requires the model to have survived one deliberate attempt to break it, by a party or context independent of the pair that built it; a review typology (exploration, adversarial, verification, spike); §15 is the release instance of the same mechanism | review finding F-02; Case 01's broad-review-then-narrow-verification sequence | whether findings are material rather than cosmetic (`CAP-10`) | +| CP-02 | `01` §5, `02` §1: a mode names the dominant learning objective of the moment, never a phase (option b; names unchanged) | finding F-01: the mode names separated problem and solution, which `01` §7 forbids | — | +| CP-04 | `01` §3: Progressive Commitment is the one tentativeness ladder, with one presentation rule; §6 becomes guidance; `02` §7 is its state encoding | finding F-07: four overlapping tentativeness devices | — | +| CP-08 | `05` §12: one evidence-strength scale, split into observation clarity and evidential weight | finding F-11: two incompatible evidence-strength vocabularies | the scale values are a first definition | +| CP-13 | `05` §2, §3, §9, §11: pre-registered predictions (at most five per case) are the primary instrument; three always-on measures; the other signals are optional diagnostics; Keep/Investigate/Revert over predictions | findings F-09 (evaluation cannot run at the available sample size), F-13 | whether the three always-on measures predict rework | +| CP-14 | `01` §1: declared scope (one human, one AI, single-threaded, ending in a handoff) and known untested extensions | findings F-14, F-16, F-21 | everything outside the declared scope | +| CP-16 | `01` §13: the review's return leg — fix named blockers, resolution log, narrow verification, ready/not-ready verdict | Case 01's convergence record | whether the return leg shortens convergence | +| CP-17 | `01` §13: an in-session stop signal with five symptoms | Case 01's premature "we're done" moments | whether the symptoms are noticed in time | +| CP-18 | `01` §9: information-loss check before any irreversible normalization; `CAP-16`; extended event kind `normalization.recorded` | Case 01: the terminology rule's general form | whether recorded losses are ever needed again (`CAP-16`) | +| CP-19 | `01` §11: reuse check for borrowed components before architecture | Case 01 G1, EV-1: nothing covered borrowed components, only borrowed ideas | — | +| CP-20 | `01` §13: review when the model is coherent, attackable and still cheap to change; the timing question reinstated as `07` P-15 | v0.2 moved the trigger to release without a stated reason | P-15 itself | +| CP-21 | `01` §12: counterexamples classified local or structural; saturation when new ones cause mostly local changes | Case 01's counterexample method, dropped in v0.2 | whether saturation predicts a stable model | +| CP-22 | `07` section B (deferred technical decisions `T-01`–`T-10`) moved to [`docs/technical-decisions.md`](docs/technical-decisions.md); `T-01` marked decided | known finding KF-2: project decisions in the normative layer, and the only reason it named a harness | — | + +**Observation model.** One extended event kind, `normalization.recorded`, is added. Under the vocabulary's own rule a new kind is a version bump; this is it, and it is the migration note. No run has been recorded yet, so no comparability is lost. + +**What did not happen.** The adversarial review's own plan for v0.2.1 (its §7, W1) expected a *smaller* normative document. This consolidation is larger: CP-16 to CP-21 add mechanisms that Case 01 had and v0.2 dropped, and none of them is tested yet. CP-15 remains deferred. KF-1 and KF-3 remain open. The Core/Extended split (CP-11) is still a proposal in the catalogue, not a protocol decision. - Research references checked against publisher and index records, with unconfirmed fields marked; review record, change-proposal disposition, hypothesis register and analogy records published (see `docs/review/`, `research/`). --- diff --git a/CITATION.cff b/CITATION.cff index 71fbccd..0b5a4dd 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -9,7 +9,7 @@ repository-code: "https://github.com/kschlt/earnedshape" license: - MIT - CC-BY-4.0 -version: "0.2" +version: "0.2.1" keywords: - human-ai-collaboration - human-in-the-loop diff --git a/README.md b/README.md index 3484a0c..fc9da7a 100644 --- a/README.md +++ b/README.md @@ -80,4 +80,4 @@ Every source the research synthesis relies on is listed and checked in [`researc The scarcest contribution is evidence, not features — especially a discovery where the protocol cost more than it returned. See [`CONTRIBUTING.md`](CONTRIBUTING.md). -Prose is CC BY 4.0, code is MIT ([`docs/licensing.md`](docs/licensing.md)). Protocol `v0.2`; protocol and adapter maturity are versioned separately. "Human–AI Discovery Protocol", still the heading of [`protocol/01_PROTOCOL_V0.2.md`](protocol/01_PROTOCOL_V0.2.md), is the earlier working title; the protocol is now called earnedshape. +Prose is CC BY 4.0, code is MIT ([`docs/licensing.md`](docs/licensing.md)). Protocol `v0.2.1`; protocol and adapter maturity are versioned separately. "Human–AI Discovery Protocol", still the heading of [`protocol/01_PROTOCOL_V0.2.md`](protocol/01_PROTOCOL_V0.2.md), is the earlier working title; the protocol is now called earnedshape. diff --git a/docs/known-findings.md b/docs/known-findings.md index 393bb72..1de12cc 100644 --- a/docs/known-findings.md +++ b/docs/known-findings.md @@ -16,7 +16,7 @@ The rule is about citation provenance, not about one product. A technology-indep The citation check of September 2026 ([`research/REFERENCES.md`](../research/REFERENCES.md)) found every cited work (a few bibliographic fields remain unconfirmed and are marked there), and found that several items under "strongly supported" in `research/01` §2, and a few statements in `research/02`, rest on practitioner literature, a single study, or the project's own inference. The clearest cases: *language and model can co-evolve* (method literature only), *AI is valuable for articulation, search, synthesis and critique* (articulation and drafting are supported, synthesis rests on one preprint, search and critique are not covered), and *human situated input is epistemically special* (a normative reading of requirements research). -**Proposed fix:** a v0.2.1 pass over `research/01` §2 that moves these items out of "strongly supported" or narrows their wording, with the change recorded here and in the changelog. +**Proposed fix:** a pass over `research/01` §2 (not part of the v0.2.1 consolidation) that moves these items out of "strongly supported" or narrows their wording, with the change recorded here and in the changelog. **Status:** open. The claims are marked in place and listed in full in `REFERENCES.md`; the wording itself is unchanged until that pass. ## What this file is not diff --git a/docs/overview.md b/docs/overview.md index 6f0d2da..a3292fe 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -37,4 +37,4 @@ Curated synthesis, including a standing section for evidence *against* the premi ## Maturity -Protocol maturity and adapter maturity are tracked separately and move at different speeds. Today: protocol `v0.2`, no adapter, no instrumented run, conformance matrix empty. The honest summary is that the specification layer exists and nothing has been tested. +Protocol maturity and adapter maturity are tracked separately and move at different speeds. Today: protocol `v0.2.1`, no adapter, no instrumented run, conformance matrix empty. The honest summary is that the specification layer exists and nothing has been tested. diff --git a/docs/provenance.md b/docs/provenance.md index 49aa0fd..beb326c 100644 --- a/docs/provenance.md +++ b/docs/provenance.md @@ -14,6 +14,7 @@ This repository was derived on 14 September 2026 from a private working reposito | 10–14 Sep 2026 | **Phase 0**: observation model, capability catalogue, conformance matrix, boundary lint; four change proposals executed | [`protocol/observation-model/`](../protocol/observation-model/), [`capabilities/`](../capabilities/), [`research/hypothesis-register.md`](../research/hypothesis-register.md), [`research/analogy-records.md`](../research/analogy-records.md) | | 14 Sep 2026 | Name decided, this repository derived | [`examples/naming-decision.md`](../examples/naming-decision.md) | | from 14 Sep 2026 | **Phase 1** planned: feasibility spikes on what can be observed | [`docs/phase-1-feasibility.md`](phase-1-feasibility.md) | +| 22 Sep 2026 | **Protocol v0.2.1**: the accepted change proposals applied to the protocol text | [`CHANGELOG.md`](../CHANGELOG.md), [`docs/review/disposition.md`](review/disposition.md) | Cases 01 and 02 and the v0.1/v0.2 baseline were produced with ChatGPT-family models and a deep-research tool; the review and Phase 0 were done with Claude in Claude Code. The same person is practitioner, protocol author, evidence analyst and evaluator throughout — the central threat to validity the review names. diff --git a/docs/review/disposition.md b/docs/review/disposition.md index a087ca6..4a8f0b4 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -23,7 +23,7 @@ ## 2. Change-proposal disposition -Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains correct — the protocol is untouched. What follows is where each now stands. +Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains correct — the protocol is untouched. What follows is where each now stands. *[Update, 22 September 2026: protocol v0.2.1 applies CP-01, CP-02, CP-04, CP-08, CP-13 and CP-14 to the protocol text; the rows below say where each landed.]* | CP | Proposal | Disposition | Where | |---|---|---|---| @@ -43,7 +43,7 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP-14 | declare the configuration assumption | **done in v0.2.1** | `protocol/01` §1, "Declared scope" | | CP-15 | context-scope concept status; move turn economics to binding guidance | **deferred** | `CAP-11` inherits the unresolved context-scope question and says so | -**All four outstanding accepted proposals are now done** (CP-07, CP-09, CP-10, CP-11). Five remain deferred to a v0.2.1 consolidation pass (CP-02, CP-04, CP-08, CP-13, CP-14), and executing CP-10 produced six new ones. *[Note added on publication: the table above defers six proposals, four of them to v0.2.1 (CP-02, CP-04, CP-13, CP-14) and two without a target version (CP-08, CP-15).]* +**All four outstanding accepted proposals are now done** (CP-07, CP-09, CP-10, CP-11). Five remain deferred to a v0.2.1 consolidation pass (CP-02, CP-04, CP-08, CP-13, CP-14), and executing CP-10 produced six new ones. *[Note added on publication: the table above defers six proposals, four of them to v0.2.1 (CP-02, CP-04, CP-13, CP-14) and two without a target version (CP-08, CP-15).]* *[Update, v0.2.1: CP-02, CP-04, CP-08, CP-13 and CP-14 are done; CP-15 is the only proposal from the review still deferred.]* ### New proposals from CP-10 @@ -56,7 +56,7 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP-20 | review timing on cost-of-change; reinstate the dropped open question | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §13, "When to review"; open question reinstated as `07` P-15 | | CP-21 | classify counterexamples local vs structural; define saturation | medium | **accepted** 2026-09-22 (owner); **done in v0.2.1** | `protocol/01` §12, "Counterexamples" (classification and saturation) | -None applied. CP-18 would add `CAP-16` to the catalogue. +All six applied in v0.2.1. CP-18 added `CAP-16` to the catalogue as an Extended capability. ### Proposals from known findings @@ -70,11 +70,11 @@ CP-22 changes where the register lives, not what it says: no deferred decision o | Finding | Status | |---|---| -| F-02 no adversarial gate | addressed by CP-01 → `CAP-10`; protocol text unchanged | +| F-02 no adversarial gate | addressed by CP-01 → `CAP-10`; protocol text in `protocol/01` §13 since v0.2.1 | | F-22 commitment act undefined | addressed by CP-06 → `CAP-04` | | F-25 no conformance definition | addressed by CP-12 → phase 0, as a draft | | F-08 no declared core | addressed by CP-11 → Core/Extended proposal in the catalogue | -| F-09 evaluation undecidable at n=1 | **open** — CP-13 deferred | +| F-09 evaluation undecidable at n=1 | addressed by CP-13 in v0.2.1 (`protocol/05` §2, §3, §9); untested until a pre-registered case runs | | F-10 / F-11 curated layer drops counter-evidence | **closed** — CP-07 applied to `research/01` | ## 4. Corrections applied after the branch review diff --git a/protocol/01_PROTOCOL_V0.2.md b/protocol/01_PROTOCOL_V0.2.md index a53f180..99dcc0d 100644 --- a/protocol/01_PROTOCOL_V0.2.md +++ b/protocol/01_PROTOCOL_V0.2.md @@ -1,6 +1,6 @@ -# Human–AI Discovery Protocol v0.2 +# Human–AI Discovery Protocol v0.2.1 -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. ## 1. Objective diff --git a/protocol/02_INTERACTION_AND_STATE_MODEL.md b/protocol/02_INTERACTION_AND_STATE_MODEL.md index 5dda0be..a660f06 100644 --- a/protocol/02_INTERACTION_AND_STATE_MODEL.md +++ b/protocol/02_INTERACTION_AND_STATE_MODEL.md @@ -1,6 +1,6 @@ -# Interaction & State Model v0.2 +# Interaction & State Model v0.2.1 -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. ## 1. Orthogonal dimensions diff --git a/protocol/03_DECISION_RIGHTS_AND_AUTONOMY.md b/protocol/03_DECISION_RIGHTS_AND_AUTONOMY.md index 5376a4b..6caaf29 100644 --- a/protocol/03_DECISION_RIGHTS_AND_AUTONOMY.md +++ b/protocol/03_DECISION_RIGHTS_AND_AUTONOMY.md @@ -1,6 +1,6 @@ -# Decision Rights & Adaptive Autonomy v0.2 +# Decision Rights & Adaptive Autonomy v0.2.1 -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. ## 1. Principle diff --git a/protocol/04_SHARED_LANGUAGE_POLICY.md b/protocol/04_SHARED_LANGUAGE_POLICY.md index 3c81635..72e83e5 100644 --- a/protocol/04_SHARED_LANGUAGE_POLICY.md +++ b/protocol/04_SHARED_LANGUAGE_POLICY.md @@ -1,6 +1,6 @@ -# Shared Conceptual Language Policy v0.2 +# Shared Conceptual Language Policy v0.2.1 -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. ## 1. Purpose diff --git a/protocol/05_EVALUATION_AND_LEARNING.md b/protocol/05_EVALUATION_AND_LEARNING.md index 0eee98a..1b7e19d 100644 --- a/protocol/05_EVALUATION_AND_LEARNING.md +++ b/protocol/05_EVALUATION_AND_LEARNING.md @@ -1,6 +1,6 @@ -# Evaluation & Learning Protocol v0.2 +# Evaluation & Learning Protocol v0.2.1 -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. ## 1. Principle @@ -253,4 +253,3 @@ What does it license for the protocol? Observation clarity never raises evidential weight: a clearly observed pattern in one self-authored, dependent case is still `weak` evidence for the protocol. Existing evidence ledgers are not rewritten to fit. The second column is **added**, with a dated note, and the original judgements stay as they were recorded. - diff --git a/protocol/06_OPEN_SOURCE_AND_PROJECT_PRINCIPLES.md b/protocol/06_OPEN_SOURCE_AND_PROJECT_PRINCIPLES.md index cf03025..564649f 100644 --- a/protocol/06_OPEN_SOURCE_AND_PROJECT_PRINCIPLES.md +++ b/protocol/06_OPEN_SOURCE_AND_PROJECT_PRINCIPLES.md @@ -1,6 +1,6 @@ -# Open-Source & Project Principles v0.2 +# Open-Source & Project Principles v0.2.1 -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. ## 1. Intent diff --git a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md index 802e47d..ea02163 100644 --- a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md +++ b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md @@ -1,6 +1,6 @@ -# Decisions & Open Questions — v0.2 +# Decisions & Open Questions — v0.2.1 -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. ## A. Current protocol decisions diff --git a/protocol/observation-model/01-run-record.md b/protocol/observation-model/01-run-record.md index f02845e..c57a755 100644 --- a/protocol/observation-model/01-run-record.md +++ b/protocol/observation-model/01-run-record.md @@ -1,6 +1,6 @@ # Run Record -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. > **Owns:** what a discovery run is, how it is identified, and the metadata without which two runs cannot honestly be compared. diff --git a/protocol/observation-model/02-event-vocabulary.md b/protocol/observation-model/02-event-vocabulary.md index 0bb4e96..029e71c 100644 --- a/protocol/observation-model/02-event-vocabulary.md +++ b/protocol/observation-model/02-event-vocabulary.md @@ -1,6 +1,6 @@ # Event Vocabulary -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. > **Owns:** the envelope every event carries, the event kinds, and which subset is required for a conformant run. diff --git a/protocol/observation-model/03-fidelity-levels.md b/protocol/observation-model/03-fidelity-levels.md index 5a3c399..6265a49 100644 --- a/protocol/observation-model/03-fidelity-levels.md +++ b/protocol/observation-model/03-fidelity-levels.md @@ -1,6 +1,6 @@ # Fidelity Levels -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. > **Owns:** how well a run was observed, and which comparisons that permits. diff --git a/protocol/observation-model/04-recording-boundaries.md b/protocol/observation-model/04-recording-boundaries.md index b7fa0de..dc9069f 100644 --- a/protocol/observation-model/04-recording-boundaries.md +++ b/protocol/observation-model/04-recording-boundaries.md @@ -1,6 +1,6 @@ # Recording Boundaries -> **Status:** experimental, protocol v0.2. Rules may still change between versions. +> **Status:** experimental, protocol v0.2.1. Rules may still change between versions. > **Owns:** what an event may never contain. From 9d26ae47a192e3cfa7b30f4025b2e146280fb795 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:24:06 +0000 Subject: [PATCH 08/11] docs(protocol): trim rules no proposal asked for and fix consistency in v0.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An independent pre-review of the v0.2.1 consolidation returned BLOCK. The blocking finding: v0.2.1 claims every change traces to one listed proposal, but several sentences went beyond what their proposal asked for. This commit removes them and fixes the should-fix findings. Rules removed because no proposal asked for them: - 01 §9: "keep a reference to the source instead of discarding it". CP-18 asks only that the loss be recorded. - 01 §12: "saturation is evidence for convergence; a structural counterexample reopens it". CP-21 defines only the local/structural classification and the saturation exit. - 05 §2: "each with a stable ID from the hypothesis register" and the sentence restricting conclusions to the predictions. - 01 §13: the stop signal now says "stop" plus the proposal's own note, without the added converge/hand-off/justify decision. - 01 §5: "returning to an earlier mode is normal" removed. Consistency fixes: - CHANGELOG: the older "Research references checked..." bullet goes back under Unreleased; the intro says v0.2.1 applies the listed accepted change proposals; "What did not happen" states that CP-03, CP-05 and CP-06 are accepted and drafted as CAP-14, CAP-06 and CAP-04 but their protocol-text edits are not in v0.2.1; the observation-model note says the model is not versioned separately, so v0.2.1 is the bump. - 01 §15 no longer claims the §13 timing rule applies to the release review; the typology and return leg apply, and it does not replace the earlier review. - 05 §9: Keep and Investigate no longer depend on a cross-run comparison. Keep requires that the always-on measures show no material defect (no cold-start blocker, sampled decisions explainable, no systematic state-integrity defect). "Defective-AI resistance" is no longer cited, since the protocol does not collect that signal (the defect finding F-13 named). - 05 §2: the two gates sit under a "Quality gates" heading so they do not read as predictions. - 05 §12: `strong` is now "replicated, or several independent studies", removing the overlap with `moderate`; the intro no longer claims every record already uses the scale. - research/01: the note no longer maps "strongly supported" onto evidential weight; it points to KF-3 instead. - docs/review/disposition.md: CP-02, CP-04, CP-13 and CP-14 rows record the owner's acceptance in the v0.2.1 consolidation; the CP-02 row names option (b) as the proposal's low-cost option; the header says rows were updated in place for v0.2.1 and git history holds the earlier wording; the CP-22 note says sections A, C, D and E are "unchanged by it". - research/hypothesis-register.md: P-01..P-15 in the questions range; CAP-16 no longer "proposed"; HYP-019..024 note they are back in the protocol text in v0.2.1, untested. - 07 P-15 says it is carried over from the unpublished Case 01 method and is the same claim as HYP-019; 01 §13 cites both. - 01 §3 says only the decision/commitment and shared-language dimensions of 02 §7 encode the ladder. Tested: boundary lint exit 0 (1 known, 0 new); relative-link and anchor check over all tracked Markdown: 0 broken. Risks: none new. A formal review round follows on the PR. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- CHANGELOG.md | 15 ++++++++------- docs/review/disposition.md | 12 ++++++------ protocol/01_PROTOCOL_V0.2.md | 14 ++++++-------- protocol/05_EVALUATION_AND_LEARNING.md | 16 ++++++++-------- protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md | 2 +- research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md | 2 +- research/hypothesis-register.md | 14 +++++++------- 7 files changed, 37 insertions(+), 38 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66208a4..f349aa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,30 +4,31 @@ Protocol versions are recorded here with the changed rule, the observation that ## Unreleased +- Research references checked against publisher and index records, with unconfirmed fields marked; review record, change-proposal disposition, hypothesis register and analogy records published (see `docs/review/`, `research/`). + ## v0.2.1 — consolidation of accepted change proposals (not yet tagged) -v0.2.1 applies the change proposals that were accepted but not yet in the protocol text. It adds no proposal of its own; each change traces to one proposal, and [`docs/review/disposition.md`](docs/review/disposition.md) records where each landed. File names are unchanged; headings and status lines read v0.2.1. +v0.2.1 applies the listed accepted change proposals to the protocol text. It adds no proposal of its own; each change traces to one proposal, and [`docs/review/disposition.md`](docs/review/disposition.md) records where each landed. File names are unchanged; headings and status lines read v0.2.1. | Proposal | Changed rule | Observation that motivated it | Still hypothesis | |---|---|---|---| | CP-01 | `01` §13: convergence requires the model to have survived one deliberate attempt to break it, by a party or context independent of the pair that built it; a review typology (exploration, adversarial, verification, spike); §15 is the release instance of the same mechanism | review finding F-02; Case 01's broad-review-then-narrow-verification sequence | whether findings are material rather than cosmetic (`CAP-10`) | | CP-02 | `01` §5, `02` §1: a mode names the dominant learning objective of the moment, never a phase (option b; names unchanged) | finding F-01: the mode names separated problem and solution, which `01` §7 forbids | — | -| CP-04 | `01` §3: Progressive Commitment is the one tentativeness ladder, with one presentation rule; §6 becomes guidance; `02` §7 is its state encoding | finding F-07: four overlapping tentativeness devices | — | +| CP-04 | `01` §3: Progressive Commitment is the one tentativeness ladder, with one presentation rule; §6 becomes guidance; two dimensions of `02` §7 are its state encoding | finding F-07: four overlapping tentativeness devices | — | | CP-08 | `05` §12: one evidence-strength scale, split into observation clarity and evidential weight | finding F-11: two incompatible evidence-strength vocabularies | the scale values are a first definition | | CP-13 | `05` §2, §3, §9, §11: pre-registered predictions (at most five per case) are the primary instrument; three always-on measures; the other signals are optional diagnostics; Keep/Investigate/Revert over predictions | findings F-09 (evaluation cannot run at the available sample size), F-13 | whether the three always-on measures predict rework | | CP-14 | `01` §1: declared scope (one human, one AI, single-threaded, ending in a handoff) and known untested extensions | findings F-14, F-16, F-21 | everything outside the declared scope | | CP-16 | `01` §13: the review's return leg — fix named blockers, resolution log, narrow verification, ready/not-ready verdict | Case 01's convergence record | whether the return leg shortens convergence | | CP-17 | `01` §13: an in-session stop signal with five symptoms | Case 01's premature "we're done" moments | whether the symptoms are noticed in time | -| CP-18 | `01` §9: information-loss check before any irreversible normalization; `CAP-16`; extended event kind `normalization.recorded` | Case 01: the terminology rule's general form | whether recorded losses are ever needed again (`CAP-16`) | +| CP-18 | `01` §9: record what is discarded, and the cost of reconstructing it, before any irreversible normalization; `CAP-16`; extended event kind `normalization.recorded` | Case 01: the terminology rule's general form | whether recorded losses are ever needed again (`CAP-16`) | | CP-19 | `01` §11: reuse check for borrowed components before architecture | Case 01 G1, EV-1: nothing covered borrowed components, only borrowed ideas | — | | CP-20 | `01` §13: review when the model is coherent, attackable and still cheap to change; the timing question reinstated as `07` P-15 | v0.2 moved the trigger to release without a stated reason | P-15 itself | -| CP-21 | `01` §12: counterexamples classified local or structural; saturation when new ones cause mostly local changes | Case 01's counterexample method, dropped in v0.2 | whether saturation predicts a stable model | +| CP-21 | `01` §12: counterexamples classified local or structural; counterexample work saturated when new ones cause mostly local changes | Case 01's counterexample method, dropped in v0.2 | whether saturation predicts a stable model | | CP-22 | `07` section B (deferred technical decisions `T-01`–`T-10`) moved to [`docs/technical-decisions.md`](docs/technical-decisions.md); `T-01` marked decided | known finding KF-2: project decisions in the normative layer, and the only reason it named a harness | — | -**Observation model.** One extended event kind, `normalization.recorded`, is added. Under the vocabulary's own rule a new kind is a version bump; this is it, and it is the migration note. No run has been recorded yet, so no comparability is lost. +**Observation model.** One extended event kind, `normalization.recorded`, is added. The event vocabulary treats a new kind as a version bump, but the observation model is not yet versioned separately from the protocol, so v0.2.1 is that bump and this line is its migration note. No run has been recorded yet, so no comparability is lost. -**What did not happen.** The adversarial review's own plan for v0.2.1 (its §7, W1) expected a *smaller* normative document. This consolidation is larger: CP-16 to CP-21 add mechanisms that Case 01 had and v0.2 dropped, and none of them is tested yet. CP-15 remains deferred. KF-1 and KF-3 remain open. The Core/Extended split (CP-11) is still a proposal in the catalogue, not a protocol decision. -- Research references checked against publisher and index records, with unconfirmed fields marked; review record, change-proposal disposition, hypothesis register and analogy records published (see `docs/review/`, `research/`). +**What did not happen.** The adversarial review's own plan for v0.2.1 (its §7, W1) expected a *smaller* normative document. This consolidation is larger: CP-16 to CP-21 add mechanisms that Case 01 had and v0.2 dropped, and none of them is tested yet. CP-15 remains deferred. KF-1 and KF-3 remain open. The Core/Extended split (CP-11) is still a proposal in the catalogue, not a protocol decision. CP-03, CP-05 and CP-06 are accepted and drafted as capabilities (`CAP-14`, `CAP-06`, `CAP-04`), but their protocol-text edits are not part of v0.2.1. --- diff --git a/docs/review/disposition.md b/docs/review/disposition.md index 4a8f0b4..fc236aa 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -1,6 +1,6 @@ # Status Ledger & Change-Proposal Disposition -> **Published record.** The status ledger kept in the private working repository after the [adversarial review](2026-09-adversarial-review-v0.2.md), reproduced as it stood when this repository was derived (14 September 2026). It records what happened to each of the review's change proposals and to the findings they address, which is the part an outside reader cannot otherwise check. Six findings have no change proposal of their own and are not tracked in the ledger: F-04, F-06, F-12, F-15, F-20 and F-24. Of these, F-12 (no citation independently verified) has since been addressed by [`research/REFERENCES.md`](../../research/REFERENCES.md); the other five have no recorded disposition. +> **Published record.** The status ledger kept in the private working repository after the [adversarial review](2026-09-adversarial-review-v0.2.md), reproduced as it stood when this repository was derived (14 September 2026). It records what happened to each of the review's change proposals and to the findings they address, which is the part an outside reader cannot otherwise check. Six findings have no change proposal of their own and are not tracked in the ledger: F-04, F-06, F-12, F-15, F-20 and F-24. Of these, F-12 (no citation independently verified) has since been addressed by [`research/REFERENCES.md`](../../research/REFERENCES.md); the other five have no recorded disposition. *[Update, 22 September 2026: the rows below were updated in place for protocol v0.2.1; the git history of this file holds their earlier wording.]* > Paths are those of the working repository: `phase0/observation-model/` is now [`protocol/observation-model/`](../../protocol/observation-model/), `phase0/capabilities/` is now [`capabilities/`](../../capabilities/), and `proposals/CP-09…` / `proposals/CP-11…` are now [`research/analogy-records.md`](../../research/analogy-records.md) and [`research/hypothesis-register.md`](../../research/hypothesis-register.md). Numbered documents (`09`–`15`) are working documents of that repository; [`docs/provenance.md`](../provenance.md) says what each is. This is the public index of change proposals `CP-01`–`CP-21`; the current state of each is kept here from now on. > **Status:** Live index for this branch. Update it when a document's standing changes. @@ -28,9 +28,9 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP | Proposal | Disposition | Where | |---|---|---|---| | CP-01 | adversarial challenge as a convergence gate | **accepted**; **done in v0.2.1** | drafted as `CAP-10`; protocol text in `protocol/01` §13 (challenge condition, review typology) and §15 | -| CP-02 | remove problem/solution split from mode names | **done in v0.2.1** (option b: modes keep their names) | `protocol/01` §5, `02` §1 | +| CP-02 | remove problem/solution split from mode names | **accepted** 2026-09-22 (owner, v0.2.1 consolidation); **done in v0.2.1** (option b, the proposal's low-cost option, chosen in the consolidation; modes keep their names) | `protocol/01` §5, `02` §1 | | CP-03 | enumerated anchor-risk events instead of a self-judged trigger | **accepted** | drafted as `CAP-14`, whose L1 measurability depends on the list existing | -| CP-04 | collapse the four tentativeness devices into one ladder | **done in v0.2.1** | `protocol/01` §3 (one ladder, one presentation rule), §6 demoted to guidance, `02` §7 named as its state encoding | +| CP-04 | collapse the four tentativeness devices into one ladder | **accepted** 2026-09-22 (owner, v0.2.1 consolidation); **done in v0.2.1** | `protocol/01` §3 (one ladder, one presentation rule), §6 demoted to guidance, `02` §7 named as its state encoding | | CP-05 | recorded-disagreement object | **accepted** | drafted as `CAP-06` | | CP-06 | define the commitment act | **accepted** | drafted as `CAP-04`, including the required payload | | CP-07 | reinstate disconfirming evidence in `research/` | **done** | `research/01` §2A + correction in §2, with an amendment note recording the change | @@ -39,8 +39,8 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP-10 | Case 01 method disposition table | **done** | `proposals/CP-10-case01-method-disposition.md` — 62 elements: 26 kept, 18 transformed, 18 dropped, **0 object-level**. Six new proposals arise (CP-16..CP-21) | | CP-11 | Core/Extended split + one hypothesis register | **done** | Core/Extended in `phase0/capabilities/catalogue.md`; register in `proposals/CP-11-hypothesis-register.md`, `HYP-001..025` over five legacy ID spaces | | CP-12 | conformance definition + minimal trace | **executed as a draft** | `phase0/observation-model/` and `phase0/capabilities/CONFORMANCE.md` | -| CP-13 | redesign evaluation for n=1 | **done in v0.2.1** | `protocol/05` §2 (pre-registered predictions as the primary instrument), §3 (three always-on measures, the rest an optional diagnostic catalogue), §9 (Keep/Investigate/Revert over predictions), §11 | -| CP-14 | declare the configuration assumption | **done in v0.2.1** | `protocol/01` §1, "Declared scope" | +| CP-13 | redesign evaluation for n=1 | **accepted** 2026-09-22 (owner, v0.2.1 consolidation); **done in v0.2.1** | `protocol/05` §2 (pre-registered predictions as the primary instrument), §3 (three always-on measures, the rest an optional diagnostic catalogue), §9 (Keep/Investigate/Revert over predictions), §11 | +| CP-14 | declare the configuration assumption | **accepted** 2026-09-22 (owner, v0.2.1 consolidation); **done in v0.2.1** | `protocol/01` §1, "Declared scope" | | CP-15 | context-scope concept status; move turn economics to binding guidance | **deferred** | `CAP-11` inherits the unresolved context-scope question and says so | **All four outstanding accepted proposals are now done** (CP-07, CP-09, CP-10, CP-11). Five remain deferred to a v0.2.1 consolidation pass (CP-02, CP-04, CP-08, CP-13, CP-14), and executing CP-10 produced six new ones. *[Note added on publication: the table above defers six proposals, four of them to v0.2.1 (CP-02, CP-04, CP-13, CP-14) and two without a target version (CP-08, CP-15).]* *[Update, v0.2.1: CP-02, CP-04, CP-08, CP-13 and CP-14 are done; CP-15 is the only proposal from the review still deferred.]* @@ -64,7 +64,7 @@ All six applied in v0.2.1. CP-18 added `CAP-16` to the catalogue as an Extended |---|---|---|---| | CP-22 | resolve known finding KF-2: move `protocol/07` section B (deferred technical decisions `T-01`–`T-10`) out of the protocol into project documentation, and mark `T-01` (project name) decided | **accepted** 2026-09-22 (owner decision to resolve KF-2 through a change proposal); **done** for v0.2.1 | [`docs/technical-decisions.md`](../technical-decisions.md); `protocol/07` keeps a one-line pointer where section B was | -CP-22 changes where the register lives, not what it says: no deferred decision other than `T-01` is decided by it, and sections A, C, D and E of `protocol/07` are unchanged. With section B gone, `protocol/07` no longer names a harness. +CP-22 changes where the register lives, not what it says: no deferred decision other than `T-01` is decided by it, and sections A, C, D and E of `protocol/07` are unchanged by it. With section B gone, `protocol/07` no longer names a harness. ## 3. Priority findings from doc 09 §4 diff --git a/protocol/01_PROTOCOL_V0.2.md b/protocol/01_PROTOCOL_V0.2.md index 99dcc0d..d583ed0 100644 --- a/protocol/01_PROTOCOL_V0.2.md +++ b/protocol/01_PROTOCOL_V0.2.md @@ -99,7 +99,7 @@ One presentation rule governs every instantiation: > **Render status honestly: exploratory structure must not carry convergence rhetoric.** -§6 is guidance on applying that rule; `02` §7 is the state encoding of the same ladder. Neither is a separate device. +§6 is guidance on applying that rule; the decision/commitment and shared-language dimensions of `02` §7 are the state encoding of the same ladder. Neither is a separate device. --- @@ -186,7 +186,7 @@ AI may recommend and challenge. It must not silently commit on the human's behal ## 5. Discovery modes -A mode names the **dominant learning objective of the moment**, never a phase. Problem and solution co-evolve (§7), so mode switches are expected many times in a session, and returning to an earlier mode is normal rather than a regression. +A mode names the **dominant learning objective of the moment**, never a phase. Problem and solution co-evolve (§7), so mode switches are expected many times in a session. ### `PROBLEM_EXPLORATION` @@ -349,8 +349,6 @@ Preserving source expressions (`04` §4) is one instance of a general rule. When - what is being discarded; - what it would cost to reconstruct it later. -If the reconstruction cost is high and the information may still matter, keep a reference to the source instead of discarding it. - --- ## 10. Research behavior @@ -426,7 +424,7 @@ Classify every counterexample when it arrives: - **local** — the model survives with a bounded fix; - **structural** — the model's frame, boundaries or core concepts have to change. -Counterexample work is **saturated** when new counterexamples cause mostly local changes. Saturation is evidence for convergence (§13); a structural counterexample after apparent saturation reopens it. +Counterexample work is **saturated** when new counterexamples cause mostly local changes. --- @@ -460,7 +458,7 @@ The challenge condition above is an adversarial review. §15 is the release inst ### When to review -Run the adversarial review when the model is **coherent, concrete enough to attack, and still cheap to change**. Waiting until release is later, easier to skip, and makes every finding more expensive. Whether this timing actually beats a pre-release review is an open question (`07` P-15). +Run the adversarial review when the model is **coherent, concrete enough to attack, and still cheap to change**. Waiting until release is later, easier to skip, and makes every finding more expensive. Whether this timing actually beats a pre-release review is an open question (`07` P-15, `HYP-019`). ### Closing the review loop @@ -483,7 +481,7 @@ A discovery can keep running while producing nothing. Check for these symptoms d - artifacts are re-sorted rather than changed; - no new evidence and no new decisions appear. -When they dominate, stop and decide: converge (this section), hand off with the open points deferred (§14), or name the specific uncertainty that justifies continuing. `05` §3's No-New-Evidence Reopenings measures the same failure after the fact, which is too late to act on. +When they dominate, stop. `05` §3's No-New-Evidence Reopenings measures the same failure after the fact, which is too late to act on. --- @@ -510,7 +508,7 @@ Readiness means: ## 15. Whole-baseline review before stable/public release -This is the release instance of the adversarial review in §13; the review typology, timing rule and return leg there apply here too. +This is the release instance of the adversarial review in §13. The review typology and the return leg there apply here too; this review does not replace the earlier one §13 requires. Before treating a protocol/discovery baseline as stable for public release: diff --git a/protocol/05_EVALUATION_AND_LEARNING.md b/protocol/05_EVALUATION_AND_LEARNING.md index 1b7e19d..5e2c734 100644 --- a/protocol/05_EVALUATION_AND_LEARNING.md +++ b/protocol/05_EVALUATION_AND_LEARNING.md @@ -23,16 +23,16 @@ Do not optimize one composite score. Evidence arrives one case at a time. At n=1 there is no population to compare against, so a run-level metric dashboard cannot be the primary instrument. Before each case, pre-register: -- **hypotheses** — at most five per case, each with a stable ID from the hypothesis register; +- **hypotheses** — at most five per case; - **predicted observable** — what the run should show if the hypothesis holds; - **falsification criterion** — what the run would show if it does not. -A conclusion is drawn only against these predictions. What was not predicted may be recorded as an observation for the next case, but it is not evidence for or against a hypothesis in this one. +### Quality gates -### Gate 1 +#### Gate 1 Discovery/handoff quality must remain acceptable. -### Gate 2 +#### Gate 2 Human understanding/agency must not materially deteriorate. The two gates still apply to every case. Cross-run Pareto comparison of state integrity, convergence, workload, active human time and process overhead becomes possible once several comparable cases exist; until then it is a diagnostic, not the verdict. @@ -169,10 +169,10 @@ pre-registered predictions Rules over the pre-registered predictions of §2, not over a cross-run comparison. Both gates of §2 must hold for **Keep**. ### Keep -The predicted observable appeared, the falsification criterion was not met, and the always-on measures (§3) did not get worse. +The predicted observable appeared, the falsification criterion was not met, and the always-on measures (§3) showed no material defect: no cold-start blocker, the sampled decisions explainable, no systematic state-integrity defect. ### Investigate -The prediction held, but an always-on measure or a diagnostic used for this hypothesis moved the wrong way — for example breadth, understanding, defective-AI resistance or semantic consistency declined. +The prediction held, but an always-on measure showed a material defect, or a diagnostic used for this hypothesis — for example breadth, understanding or semantic consistency — pointed the other way. ### Revert The falsification criterion was met, or a gate of §2 failed: major handoff blockers, discovery reopenings, understanding loss or systematic state/concept defects. @@ -233,7 +233,7 @@ The goal is to move from retrospective inference toward prospective evidence. ## 12. Evidence strength: one scale, two columns -Every evidence record in this project uses one vocabulary for strength, and keeps two things apart that a single column conflates. +Evidence records use one vocabulary for strength, and keep apart two things that a single column conflates. Older records keep their original labels and get the second column added (below). ### Observation clarity How clearly was this seen in this case? @@ -245,7 +245,7 @@ How clearly was this seen in this case? ### Evidential weight What does it license for the protocol? -- `strong` — independent, replicated or peer-reviewed support; +- `strong` — replicated, or several independent studies; - `moderate` — one independent study, or consistent support from several weaker sources; - `weak` — practitioner literature, a single dependent or self-authored case, or the project's own inference; - `contested` — the evidence points in different directions. diff --git a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md index ea02163..a0d63c4 100644 --- a/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md +++ b/protocol/07_DECISIONS_AND_OPEN_QUESTIONS.md @@ -122,7 +122,7 @@ What should count as sufficient shared meaning? When should a concept remain explicitly unresolved? ### P-15 — Review timing -Does an adversarial review triggered when the model is coherent, concrete enough to attack and still cheap to change catch more material problems, at lower cost, than one run before release? Reinstated in v0.2.1 (CP-20) after it was dropped when v0.2 moved the trigger to release. +Does an adversarial review triggered when the model is coherent, concrete enough to attack and still cheap to change catch more material problems, at lower cost, than one run before release? Carried over in v0.2.1 (CP-20) from the Case 01 method, which is unpublished; the same claim is `HYP-019` in the [hypothesis register](../research/hypothesis-register.md). --- diff --git a/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md b/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md index 4a1f23a..ccdf8ed 100644 --- a/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md +++ b/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md @@ -24,7 +24,7 @@ The current baseline is informed by: None of these alone validates the full protocol. -Strength labels in this file predate the one-scale rule of [`protocol/05`](../protocol/05_EVALUATION_AND_LEARNING.md) §12 and are kept as written; read them as statements of *evidential weight*. Known over-statements are listed in [`docs/known-findings.md`](../docs/known-findings.md) (KF-3). +Strength labels in this file predate the one-scale rule of [`protocol/05`](../protocol/05_EVALUATION_AND_LEARNING.md) §12 and are kept as written and are not mapped onto that scale. [`docs/known-findings.md`](../docs/known-findings.md) (KF-3) lists the items labelled "strongly supported" whose sources would rate only `weak` or `moderate` there. --- diff --git a/research/hypothesis-register.md b/research/hypothesis-register.md index cb5ed96..30f2929 100644 --- a/research/hypothesis-register.md +++ b/research/hypothesis-register.md @@ -37,15 +37,15 @@ The `evidence` column is the honest one: it says what the claim actually rests o | HYP-016 | The human's counterexamples are worth more than the human's solutions | **decided without test** | Case 01 hypothesis, promoted in v0.2 | M-07 | — | reopen? see note | | HYP-017 | An explicit decision horizon reduces overdesign | **decided without test** | Case 01 hypothesis, promoted | M-08 | CAP-05 | reopen? see note | | HYP-018 | Artifact version churn degrades discovery past a point | **decided without test** | Case 01 hypothesis, promoted | M-10 | — | reopen? see note | -| HYP-019 | Adversarial review is most valuable while the model is still cheap to change | hypothesis | **dropped from v0.2** | M-02, G6 | CAP-10 | yes — CP-20 | -| HYP-020 | Broad falsification then narrow verification converges better than one large review | hypothesis | **dropped from v0.2** | M-03, M7, EV-4 | CAP-10 | yes — CP-16 | -| HYP-021 | Real counterexamples produce better models than feature brainstorming | hypothesis | **dropped from v0.2** | M-04 | — | yes — CP-21 | -| HYP-022 | Source / canonical / derived separation is a generalizable AI-discovery pattern | hypothesis | **dropped from v0.2** | M-05, G3, L3, L7 | proposed CAP-16 | yes — CP-18 | -| HYP-023 | A future-readiness check prevents irreversible information loss | hypothesis | **dropped from v0.2** | M-06, AP-05 | proposed CAP-16 | yes — CP-18 | -| HYP-024 | An in-session halt heuristic prevents unproductive continuation | hypothesis | **dropped from v0.2** | SC-3, AP-09 | — | yes — CP-17 | +| HYP-019 | Adversarial review is most valuable while the model is still cheap to change | hypothesis | **dropped from v0.2**; back in the protocol text in v0.2.1 (CP-20), untested | M-02, G6 | CAP-10 | yes — CP-20 | +| HYP-020 | Broad falsification then narrow verification converges better than one large review | hypothesis | **dropped from v0.2**; back in the protocol text in v0.2.1 (CP-16), untested | M-03, M7, EV-4 | CAP-10 | yes — CP-16 | +| HYP-021 | Real counterexamples produce better models than feature brainstorming | hypothesis | **dropped from v0.2**; back in the protocol text in v0.2.1 (CP-21), untested | M-04 | — | yes — CP-21 | +| HYP-022 | Source / canonical / derived separation is a generalizable AI-discovery pattern | hypothesis | **dropped from v0.2**; back in the protocol text in v0.2.1 (CP-18), untested | M-05, G3, L3, L7 | CAP-16 | yes — CP-18 | +| HYP-023 | A future-readiness check prevents irreversible information loss | hypothesis | **dropped from v0.2**; back in the protocol text in v0.2.1 (CP-18), untested | M-06, AP-05 | CAP-16 | yes — CP-18 | +| HYP-024 | An in-session halt heuristic prevents unproductive continuation | hypothesis | **dropped from v0.2**; back in the protocol text in v0.2.1 (CP-17), untested | SC-3, AP-09 | — | yes — CP-17 | | HYP-025 | Recorded dissent predicts later reopenings | hypothesis | new, from CP-05 | — | CAP-06 | yes — the one predictive test available at n=1 | -Open **questions** (`P-01..P-14`, `E-01..E-08`) and deferred **technical decisions** (`T-01..T-13`: `T-01..T-10` in [`docs/technical-decisions.md`](../docs/technical-decisions.md), section B of `protocol/07` up to v0.2; `T-11..T-13` proposed in the adversarial review) keep their existing IDs and are not folded in: they are not claims, and merging them would recreate the confusion this register removes. `07` should link here rather than restate. +Open **questions** (`P-01..P-15`, `E-01..E-08`) and deferred **technical decisions** (`T-01..T-13`: `T-01..T-10` in [`docs/technical-decisions.md`](../docs/technical-decisions.md), section B of `protocol/07` up to v0.2; `T-11..T-13` proposed in the adversarial review) keep their existing IDs and are not folded in: they are not claims, and merging them would recreate the confusion this register removes. `07` should link here rather than restate. ## Three findings from building it From 04945ba282860514a8f8d0d14ef22aba808dfb2a Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 22:25:51 +0000 Subject: [PATCH 09/11] docs(protocol): align the remaining v0.2.1 wording (review round 2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Round 2 of the independent pre-review of the v0.2.1 consolidation passed with one should-fix and four nits, all wording: - research/01 no longer says KF-3 lists every over-stated item; KF-3 names the clearest ones and research/REFERENCES.md lists them all. - protocol/05 §12's "second column added" rule now says it covers older evidence ledgers, so it does not read as contradicting research/01's unmapped labels. - protocol/05 §9's Investigate example names diagnostics that exist (Useful Breadth, the shared-language diagnostics) instead of "understanding" and "semantic consistency", which are not signals. - docs/review/disposition.md's CP-04 row says two dimensions of 02 §7 encode the ladder, matching 01 §3 and 02 §7. - research/hypothesis-register.md's opening ID inventory is dated "as of v0.2", with a note on P-15 and the move of T-01..T-10. Tested: boundary lint exits 0 (1 known, 0 new). Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- docs/review/disposition.md | 2 +- protocol/05_EVALUATION_AND_LEARNING.md | 4 ++-- research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md | 2 +- research/hypothesis-register.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/review/disposition.md b/docs/review/disposition.md index fc236aa..6ac28eb 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -30,7 +30,7 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP-01 | adversarial challenge as a convergence gate | **accepted**; **done in v0.2.1** | drafted as `CAP-10`; protocol text in `protocol/01` §13 (challenge condition, review typology) and §15 | | CP-02 | remove problem/solution split from mode names | **accepted** 2026-09-22 (owner, v0.2.1 consolidation); **done in v0.2.1** (option b, the proposal's low-cost option, chosen in the consolidation; modes keep their names) | `protocol/01` §5, `02` §1 | | CP-03 | enumerated anchor-risk events instead of a self-judged trigger | **accepted** | drafted as `CAP-14`, whose L1 measurability depends on the list existing | -| CP-04 | collapse the four tentativeness devices into one ladder | **accepted** 2026-09-22 (owner, v0.2.1 consolidation); **done in v0.2.1** | `protocol/01` §3 (one ladder, one presentation rule), §6 demoted to guidance, `02` §7 named as its state encoding | +| CP-04 | collapse the four tentativeness devices into one ladder | **accepted** 2026-09-22 (owner, v0.2.1 consolidation); **done in v0.2.1** | `protocol/01` §3 (one ladder, one presentation rule), §6 demoted to guidance, two dimensions of `02` §7 named as its state encoding | | CP-05 | recorded-disagreement object | **accepted** | drafted as `CAP-06` | | CP-06 | define the commitment act | **accepted** | drafted as `CAP-04`, including the required payload | | CP-07 | reinstate disconfirming evidence in `research/` | **done** | `research/01` §2A + correction in §2, with an amendment note recording the change | diff --git a/protocol/05_EVALUATION_AND_LEARNING.md b/protocol/05_EVALUATION_AND_LEARNING.md index 5e2c734..b9b9446 100644 --- a/protocol/05_EVALUATION_AND_LEARNING.md +++ b/protocol/05_EVALUATION_AND_LEARNING.md @@ -172,7 +172,7 @@ Rules over the pre-registered predictions of §2, not over a cross-run compariso The predicted observable appeared, the falsification criterion was not met, and the always-on measures (§3) showed no material defect: no cold-start blocker, the sampled decisions explainable, no systematic state-integrity defect. ### Investigate -The prediction held, but an always-on measure showed a material defect, or a diagnostic used for this hypothesis — for example breadth, understanding or semantic consistency — pointed the other way. +The prediction held, but an always-on measure showed a material defect, or a diagnostic used for this hypothesis — for example Useful Breadth (§3) or a shared-language diagnostic (§4) — pointed the other way. ### Revert The falsification criterion was met, or a gate of §2 failed: major handoff blockers, discovery reopenings, understanding loss or systematic state/concept defects. @@ -233,7 +233,7 @@ The goal is to move from retrospective inference toward prospective evidence. ## 12. Evidence strength: one scale, two columns -Evidence records use one vocabulary for strength, and keep apart two things that a single column conflates. Older records keep their original labels and get the second column added (below). +Evidence records use one vocabulary for strength, and keep apart two things that a single column conflates. Older evidence ledgers keep their original labels and get the second column added (below). ### Observation clarity How clearly was this seen in this case? diff --git a/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md b/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md index ccdf8ed..d473a31 100644 --- a/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md +++ b/research/01_EVIDENCE_AND_RESEARCH_SYNTHESIS.md @@ -24,7 +24,7 @@ The current baseline is informed by: None of these alone validates the full protocol. -Strength labels in this file predate the one-scale rule of [`protocol/05`](../protocol/05_EVALUATION_AND_LEARNING.md) §12 and are kept as written and are not mapped onto that scale. [`docs/known-findings.md`](../docs/known-findings.md) (KF-3) lists the items labelled "strongly supported" whose sources would rate only `weak` or `moderate` there. +Strength labels in this file predate the one-scale rule of [`protocol/05`](../protocol/05_EVALUATION_AND_LEARNING.md) §12 and are kept as written, not mapped onto that scale. [`docs/known-findings.md`](../docs/known-findings.md) (KF-3) names the clearest over-statements, and [`REFERENCES.md`](REFERENCES.md) lists them all. --- diff --git a/research/hypothesis-register.md b/research/hypothesis-register.md index 30f2929..eeb199d 100644 --- a/research/hypothesis-register.md +++ b/research/hypothesis-register.md @@ -2,7 +2,7 @@ > **Published record of change proposal CP-11** (see [`docs/review/disposition.md`](../docs/review/disposition.md)). Status unchanged: a proposal; nothing in `protocol/` has been renamed yet. The legacy IDs in the fifth column come from the two unpublished evidence cases and the protocol files; [`docs/provenance.md`](../docs/provenance.md) explains them. `phase0/capabilities/catalogue.md` is now [`capabilities/catalogue.md`](../capabilities/catalogue.md). -> **Executes:** the second half of change proposal CP-11, addressing the ID sprawl recorded in `09` §2.2: the same claims currently carry different identifiers in five places — `H-01..H-12` (Case 02 §15), `H-SL-01` (Case 02A), `E1..E10` (`protocol/05` §10), `P-01..P-14` / `E-01..E-08` / `T-01..T-13` (`protocol/07`; *added on publication:* `T-11..T-13` were proposed in the adversarial review), and `M-01..M-12` (Case 01). A reader cannot tell whether two IDs are one claim. +> **Executes:** the second half of change proposal CP-11, addressing the ID sprawl recorded in `09` §2.2: the same claims currently carry different identifiers in five places — `H-01..H-12` (Case 02 §15), `H-SL-01` (Case 02A), `E1..E10` (`protocol/05` §10), `P-01..P-14` / `E-01..E-08` / `T-01..T-13` (`protocol/07`; *added on publication:* `T-11..T-13` were proposed in the adversarial review), and `M-01..M-12` (Case 01). A reader cannot tell whether two IDs are one claim. *(As of v0.2. In v0.2.1, `P-15` was added and `T-01..T-10` moved to [`docs/technical-decisions.md`](../docs/technical-decisions.md).)* > **Status:** proposal. Nothing renamed in `protocol/` yet. ## Structure From a45dfad5b19c434d7a4ada37b04d7593d8d94c2f Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 26 Sep 2026 10:10:48 +0000 Subject: [PATCH 10/11] docs(protocol): close the Keep/Investigate gap and state the v0.2.1 length test plainly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses the four advisories from review round 1 of PR #5 (verdict PASS). protocol/05 §9: the outcome rules left a case unassigned. When the predicted observable did not appear but the falsification criterion was not met either, neither Keep nor Revert applied. Investigate now covers it. Investigate also overlapped Revert: a material always-on defect such as a major cold-start blocker fails a gate of §2 and is therefore Revert. Investigate now takes such a defect only when it does not fail a gate of §2, so each outcome has exactly one verdict. CHANGELOG "What did not happen": the previous wording said the review "expected a smaller document", which softened what the review actually set. Its §7 W1 is a test: if v0.2.1 is longer than v0.2, the phase has failed. The entry now quotes that test and says the consolidation fails it. docs/review/disposition.md CP-08: the row read as fully done, but the strength labels already in research/ were deliberately kept as written rather than mapped onto the new scale (research/01 §1). The row now says so, and that the harmonization the proposal asked for is only partly done. Approach: minimal wording edits; no new rules are introduced. Alternative considered: mapping the research/ labels onto the new scale now. Rejected, because research/01 deliberately keeps them as written. Tested: boundary_lint reports 0 new findings; public_guard over tracked files reports 0 findings. Risk: the CHANGELOG now states plainly that v0.2.1 fails the review's own length test. Accepting that is the owner's decision. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- CHANGELOG.md | 2 +- docs/review/disposition.md | 2 +- protocol/05_EVALUATION_AND_LEARNING.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f349aa4..879faba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,7 @@ v0.2.1 applies the listed accepted change proposals to the protocol text. It add **Observation model.** One extended event kind, `normalization.recorded`, is added. The event vocabulary treats a new kind as a version bump, but the observation model is not yet versioned separately from the protocol, so v0.2.1 is that bump and this line is its migration note. No run has been recorded yet, so no comparability is lost. -**What did not happen.** The adversarial review's own plan for v0.2.1 (its §7, W1) expected a *smaller* normative document. This consolidation is larger: CP-16 to CP-21 add mechanisms that Case 01 had and v0.2 dropped, and none of them is tested yet. CP-15 remains deferred. KF-1 and KF-3 remain open. The Core/Extended split (CP-11) is still a proposal in the catalogue, not a protocol decision. CP-03, CP-05 and CP-06 are accepted and drafted as capabilities (`CAP-14`, `CAP-06`, `CAP-04`), but their protocol-text edits are not part of v0.2.1. +**What did not happen.** The adversarial review's own plan for v0.2.1 (its §7, W1) set a test: if v0.2.1 is longer than v0.2, the phase has failed. By that test this consolidation fails, because it is longer: CP-16 to CP-21 add mechanisms that Case 01 had and v0.2 dropped, and none of them is tested yet. CP-15 remains deferred. KF-1 and KF-3 remain open. The Core/Extended split (CP-11) is still a proposal in the catalogue, not a protocol decision. CP-03, CP-05 and CP-06 are accepted and drafted as capabilities (`CAP-14`, `CAP-06`, `CAP-04`), but their protocol-text edits are not part of v0.2.1. --- diff --git a/docs/review/disposition.md b/docs/review/disposition.md index 6ac28eb..91d6d69 100644 --- a/docs/review/disposition.md +++ b/docs/review/disposition.md @@ -34,7 +34,7 @@ Doc 09 proposed CP-01..CP-15. None were applied to the protocol; that remains co | CP-05 | recorded-disagreement object | **accepted** | drafted as `CAP-06` | | CP-06 | define the commitment act | **accepted** | drafted as `CAP-04`, including the required payload | | CP-07 | reinstate disconfirming evidence in `research/` | **done** | `research/01` §2A + correction in §2, with an amendment note recording the change | -| CP-08 | one evidence-strength scale, two columns | **accepted** 2026-09-22 (owner); **done in v0.2.1** in the protocol text | `protocol/05` §12 (one scale, observation clarity and evidential weight); `research/01` §1 points to it. Adding the second column to Case 02's ledger belongs to the unpublished evidence layer and is still outstanding there | +| CP-08 | one evidence-strength scale, two columns | **accepted** 2026-09-22 (owner); **done in v0.2.1** in the protocol text | `protocol/05` §12 (one scale, observation clarity and evidential weight); `research/01` §1 points to it. Adding the second column to Case 02's ledger belongs to the unpublished evidence layer and is still outstanding there. The strength labels already in `research/` are deliberately kept as written, not mapped onto the new scale (`research/01` §1), so the harmonization the proposal asked for is only partly done | | CP-09 | analogy records for the protocol's own four imports | **done** | `proposals/CP-09-analogy-records.md` — four records, four findings, two of them not reconstructable from the pack | | CP-10 | Case 01 method disposition table | **done** | `proposals/CP-10-case01-method-disposition.md` — 62 elements: 26 kept, 18 transformed, 18 dropped, **0 object-level**. Six new proposals arise (CP-16..CP-21) | | CP-11 | Core/Extended split + one hypothesis register | **done** | Core/Extended in `phase0/capabilities/catalogue.md`; register in `proposals/CP-11-hypothesis-register.md`, `HYP-001..025` over five legacy ID spaces | diff --git a/protocol/05_EVALUATION_AND_LEARNING.md b/protocol/05_EVALUATION_AND_LEARNING.md index b9b9446..a1dd3bc 100644 --- a/protocol/05_EVALUATION_AND_LEARNING.md +++ b/protocol/05_EVALUATION_AND_LEARNING.md @@ -172,7 +172,7 @@ Rules over the pre-registered predictions of §2, not over a cross-run compariso The predicted observable appeared, the falsification criterion was not met, and the always-on measures (§3) showed no material defect: no cold-start blocker, the sampled decisions explainable, no systematic state-integrity defect. ### Investigate -The prediction held, but an always-on measure showed a material defect, or a diagnostic used for this hypothesis — for example Useful Breadth (§3) or a shared-language diagnostic (§4) — pointed the other way. +The prediction held, but an always-on measure showed a material defect that does not fail a gate of §2, or a diagnostic used for this hypothesis — for example Useful Breadth (§3) or a shared-language diagnostic (§4) — pointed the other way. Also Investigate when the predicted observable did not appear but the falsification criterion was not met either. ### Revert The falsification criterion was met, or a gate of §2 failed: major handoff blockers, discovery reopenings, understanding loss or systematic state/concept defects. From d17afce64640f382e566435d31451bcace5eaab4 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 26 Sep 2026 10:14:15 +0000 Subject: [PATCH 11/11] docs(protocol): state which Keep/Investigate/Revert verdict wins when several fit Section 9 of protocol/05 still let a single outcome fit two verdicts. An absent observable with an unmet falsification criterion and a failed gate matched both Investigate and Revert; a held prediction with a contrary diagnostic but no defect matched both Keep and Investigate. One sentence in the section 9 introduction now sets precedence: Revert over Investigate, Investigate over Keep. This also makes the previous commit's claim of one verdict per outcome true. A single precedence sentence was chosen over adding conditions to each rule ("and both gates hold" on Investigate, "no diagnostic points the other way" on Keep), which would add more wording for the same effect. Tested: boundary_lint reports no new findings; public_guard over tracked files reports no findings. No risk beyond wording. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01H3KoTUo8coyqs8Vyx8StME --- protocol/05_EVALUATION_AND_LEARNING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol/05_EVALUATION_AND_LEARNING.md b/protocol/05_EVALUATION_AND_LEARNING.md index a1dd3bc..4953d61 100644 --- a/protocol/05_EVALUATION_AND_LEARNING.md +++ b/protocol/05_EVALUATION_AND_LEARNING.md @@ -166,7 +166,7 @@ pre-registered predictions ## 9. Keep / Investigate / Revert -Rules over the pre-registered predictions of §2, not over a cross-run comparison. Both gates of §2 must hold for **Keep**. +Rules over the pre-registered predictions of §2, not over a cross-run comparison. Both gates of §2 must hold for **Keep**. When more than one rule fits, **Revert** takes precedence over **Investigate**, and **Investigate** over **Keep**. ### Keep The predicted observable appeared, the falsification criterion was not met, and the always-on measures (§3) showed no material defect: no cold-start blocker, the sampled decisions explainable, no systematic state-integrity defect.