From f1c491e17dc6cd857c04d8e231ae330b37de6646 Mon Sep 17 00:00:00 2001 From: chrishayuk Date: Sun, 13 Sep 2026 08:17:13 +0100 Subject: [PATCH] docs(represent): close LOOP-1 and register value-sensitive preference gate --- docs/represent-optimizer-mcp.md | 19 ++++++++++--- .../forecasts/represent-loop-1-c-notes.json | 4 +-- .../represent/forecasts/represent-loop-1.json | 11 ++++++-- .../forecasts/represent-pareto-1.json | 28 +++++++++++++++++++ 4 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 docs/represent/forecasts/represent-pareto-1.json diff --git a/docs/represent-optimizer-mcp.md b/docs/represent-optimizer-mcp.md index af66a879c..73a0252b6 100644 --- a/docs/represent-optimizer-mcp.md +++ b/docs/represent-optimizer-mcp.md @@ -1711,16 +1711,27 @@ Deliberately boring, so MCTS is a policy swap and not a rewrite. | 4b | The source identity the optimizer prices from (§4i) | **done** | | 5a | A run is instructed, not configured; co-execution (§4j) | **done** | | 5b | The actuation bridge — a selected experiment becomes a request (§4j) | **done** | -| A | Independent candidate-byte authority (REPRESENT-LOOP-1 prerequisite) | implemented; see witnesses below | -| 6 | The measurement artifact, and ingestion that checks it names its key | | -| 7 | The loop — reload, derive, execute, ingest, repeat | | +| A | Independent candidate-byte authority (REPRESENT-LOOP-1 prerequisite) | **done**, #474 | +| 6 | The measurement artifact, and ingestion that checks it names its key | **done**, #475 | +| 7 | Paired feedback witness — reload, derive, execute, ingest, reselect | **done**, #476; synthetic observations over real artifacts | | 8 | PUCT as another `SearchPolicy`; same states, actions, evidence | | | 9 | Extend `PhysicalState` with residency; optimise measured tok/s | | The pre-K3 milestone is [REPRESENT-LOOP-1](represent/forecasts/represent-loop-1.json): **A**, independently establish the compiled artifact; **B**, resume OPT-6 and admit observations transactionally; **C**, show accepted evidence changes -future selection while rejected evidence cannot. K3 follows all three. +future selection while rejected evidence cannot. All three are reviewed and +merged. The demonstrated feedback uses `AlreadyObserved`; it is not yet +numerical-quality-dependent preference or promotion. + +The next experimental milestone is [REPRESENT-PARETO-1](represent/forecasts/represent-pareto-1.json): +hold candidate identities, observed-key sets, cost facts and policy fixed across +counterfactual replays, and require accepted quality values to change measured +candidate preference. The first-gate assumption is a tiny controlled fixture; +real numerical measurements and a bounded K3 campaign follow. Concrete numeric +inputs and expected decisions must be frozen before implementation. This does +not introduce a heuristic for unmeasured neighbours or claim that +`SelectForAuthority` installs a promoted candidate. Transition A extends the existing `CandidateIndex`. The bank compilers persist completed authority in their index; the general representation compiler writes diff --git a/docs/represent/forecasts/represent-loop-1-c-notes.json b/docs/represent/forecasts/represent-loop-1-c-notes.json index cb2571635..c0996ac70 100644 --- a/docs/represent/forecasts/represent-loop-1-c-notes.json +++ b/docs/represent/forecasts/represent-loop-1-c-notes.json @@ -3,7 +3,7 @@ "date": "2026-09-13", "base": "2a5e0d6963833d89ddd3159e1f28f2bbbab13ef2, merged Transition B / #475", "preregistration": "966dec0b records B completion, the paired C freeze and EXECUTION-EVIDENCE-SCOPE-1 before C implementation", - "status": "paired witness passes; local validation complete; awaiting review and CI; not merged", + "status": "complete; reviewed and merged as #476 / 23a56db1fb1f196b5c6e883ab0f6986adfb8cc5f after every CI workflow passed on ac892f2e, including both informational mutation jobs", "claim": "Accepted evidence changes future search behaviour; rejected evidence cannot.", "witness": "accepted_evidence_changes_future_selection_and_rejected_evidence_cannot in represent/ingest/loop_tests.rs", "positive": "The test deserializes S0 and asserts two eligible experiments. It names A (all seven eligible layer-0 projections) and B (layer-0 q_proj) from their frozen actions before any observation. Both candidates are compiled without requested keys and independently established. S0 ranks A first. PreparedExperiment::of derives its request; ExecutorRegistry dispatches it through DeclaredArtifacts to the synthetic fixture executor. MeasurementArtifact captures the cold reader's binding and is serialized; execution-side helper objects are dropped. ingest_bytes re-establishes authority and records A once. Only the measurement registry changes. Candidate enumeration explicitly prunes A as AlreadyObserved and selects B as the sole next experiment; PreparedExperiment::of now requests B.", @@ -23,6 +23,6 @@ "coverage": "93.75% lines; all 470 per-file policy checks pass with no threshold or exemption changes", "static": "cargo clippy -p larql-vindex --all-targets -- -D warnings, cargo fmt --all --check and git diff --check passed", "documentation": "105 contract witnesses resolve; 866 relative documentation links resolve; 1448 strict references checked with no broken references", - "scope": "No production behavior or public API change; full workspace/doctest results remain those of reviewed Transition B. Remote CI must pass on this witness branch before merge." + "scope": "No production behavior or public API change; full workspace/doctest results remain those of reviewed Transition B. The witness branch subsequently passed all remote CI before merge." } } diff --git a/docs/represent/forecasts/represent-loop-1.json b/docs/represent/forecasts/represent-loop-1.json index 9a21a68e3..b9e09e327 100644 --- a/docs/represent/forecasts/represent-loop-1.json +++ b/docs/represent/forecasts/represent-loop-1.json @@ -1,6 +1,6 @@ { "programme": "REPRESENT-LOOP-1 \u2014 independently established evidence changes future search", - "status": "Transitions A and B complete and merged; Transition C paired witness passes locally, awaiting review and CI", + "status": "complete: transitions A, B and C reviewed, validated and merged; first identity-safe experimental feedback loop witnessed", "base": "eadc43a88f5b3252e8bfe4bb463f7c7845b42a29", "date": "2026-09-12", "claim": "Accepted evidence changes future search behaviour; rejected evidence cannot.", @@ -41,7 +41,13 @@ "failure": "Appending an observation without a demonstrated effect on future selection does not establish the claim.", "forecast": "represent-loop-1-c.json", "base": "2a5e0d6963833d89ddd3159e1f28f2bbbab13ef2", - "progress": "Paired acceptance/refusal witness implemented and locally validated; see represent-loop-1-c-notes.json. Not merged or marked complete." + "completion": { + "status": "complete", + "pr": 476, + "merge_commit": "23a56db1fb1f196b5c6e883ab0f6986adfb8cc5f", + "ci": "Every workflow green, including both informational mutation jobs, on reviewed ac892f2e6a7b387beb2e207d4e115240f57953c4.", + "claim_boundary": "Accepted observations change future selection through AlreadyObserved; rejected observations preserve it. Numerical-quality-dependent preference, promotion and K3 performance are separate claims." + } } ], "sequencing": "Separate reviewable transitions A, B and C, each verified before its successor. Use a fresh worktree from the stated base; do not rebase the unrelated experimental checkout. K3 follows all three gates.", @@ -67,6 +73,7 @@ "blocks_loop": false } ], + "next_milestone": "REPRESENT-PARETO-1: observation values, rather than existence alone, change measured-candidate preference; see represent-pareto-1.json.", "k3_question_afterwards": "Can an independently evidenced optimizer discover a better physical representation of a heterogeneous frontier model under a real laptop resource envelope?", "out_of_scope": "K3 execution or performance measurements, new lowering mechanisms, and a new general candidate-artifact subsystem." } diff --git a/docs/represent/forecasts/represent-pareto-1.json b/docs/represent/forecasts/represent-pareto-1.json new file mode 100644 index 000000000..5041c970f --- /dev/null +++ b/docs/represent/forecasts/represent-pareto-1.json @@ -0,0 +1,28 @@ +{ + "programme": "REPRESENT-PARETO-1", + "status": "proposed experimental freeze; no implementation or result claimed", + "date": "2026-09-13", + "predecessor": "REPRESENT-LOOP-1 establishes identity-safe feedback through AlreadyObserved; this milestone requires observation values to affect preference.", + "claim": "Accepted quality observations and independently grounded physical costs change which measured candidate REPRESENT prefers. Observation existence alone cannot satisfy the claim.", + "first_gate_assumption": "Use a tiny controlled fixture to isolate value-sensitive preference before a real numerical campaign. Fixture observations are explicitly synthetic; this is not a claim of measured K3 quality or performance.", + "existing_boundary": { + "unmeasured_selection": "RankingRule::PhysicalPrizeFirst orders unmeasured experiments by exact physical prize. ParentStanding is recorded but does not change this rule; no quality-generalization model has been registered.", + "measured_preference": "SearchSnapshot::promotion_candidates derives CandidateAssessment from accepted readings, graph edges, byte ledgers and the declared cost model. decide_promotion uses existing evidence classes, comparable ordering evidence and physical gains. SelectForAuthority is not proof that a candidate has been installed or promoted.", + "consequence": "First witness measured-candidate preference through the existing path. Changing next_experiment's unmeasured ranking, propagating beliefs to unseen neighbours, or installing a new incumbent requires an explicit follow-on contract and must not be smuggled into this result." + }, + "primary_control": "Construct two independent counterfactual replays from the same initial authoritative state. Hold candidate states, requested keys, bank/instrument/scale, observed-key set, physical cost facts, gates and policy fixed. Admit the observations through OPT-6. Change only a preregistered quality value or coherent quality vector for one candidate. The measured-preference decision must change to the preregistered alternative, with the deciding evidence named. Neither AlreadyObserved nor a changed search policy can explain the difference.", + "physical_control": "With measured quality indistinguishable on every comparable dimension and both candidates otherwise eligible, physically distinct candidates must be separated by their grounded costs where the existing policy permits it. Do not substitute candidate names, insertion order, requested PrecisionMap estimates or arbitrary cost scores for evidence.", + "required_arms": [ + "Identify all candidate keys, cost provenance, quality values and expected preference outcomes before implementing the witness; both parent and child readings/ledgers required by promotion must actually exist.", + "All newly introduced observations enter through sealed artifacts and independent source/candidate/bank verification with complete, fixture-consistent run reports; no raw registry injection.", + "Both counterfactual worlds hold identical observed-key sets and differ only in the stated accepted observation values, yet name different preferred candidates under the same policy.", + "Reopen each resulting snapshot and reproduce its preference and deciding evidence; permuting record/graph enumeration cannot change the scientific decision.", + "Reject invalid evidence transactionally; neither facts nor measured preference may change. Conflicting same-key readings in ONE history refuse rather than replacing values.", + "Missing/incomparable evidence, unsupported tail estimates and conflicting ordering proxies retain the existing refusal or ambiguity semantics; no unregistered weighted quality-cost scalar may manufacture a winner.", + "State precisely whether physical evidence is exact bytes, a calibrated cost prediction or measured runtime. Model-predicted time is not reported as measured laptop throughput." + ], + "not_an_acceptance": "A enters the registry and disappears from the unmeasured set; a different candidate is chosen only because the observed-key set changed; a display-order tiebreak is described as scientific preference; SelectForAuthority is described as a completed promotion.", + "implementation_entry_gate": "Freeze the concrete fixture, numeric inputs, exact expected preference changes and cost-authority path before implementation. If the current public path cannot support the claim, record the missing boundary before changing production semantics. This document does not retroactively authorize a heuristic selected because it makes the fixture pass.", + "toward_k3": "Follow the controlled value-sensitive gate with real numerical measurements, then a bounded K3 campaign. Resolve EXECUTION-EVIDENCE-SCOPE-1 before real K3 authority measurements, and SOURCE-AUTHORITY-MANIFEST-1 before manifest-only routed containers supply high-authority evidence.", + "out_of_scope": "No K3 download/run, kernel work, lowering-vocabulary redesign, new unmeasured-candidate ranking rule or value-sensitive implementation in this preregistration." +}