GENERATED VIEW · PRIVATE ARCHIVE · DO NOT SERVE
RobCo Industries · Archive Museum

reframing-review-2026-07-13.md



MEMORY

memory/localmode-1060dea9-0dc3-42b4-958d-2a6f7a6c0c58/reframing-review-2026-07-13.md

sha256 925f5edd4b665e0f · 9973 bytes · original held in the private archive

--- name: reframing-review-2026-07-13 description: "The blind dual-model (GPT + Gemini) reframing review. ⭐⭐ THE FINDING NEITHER MODEL MADE: the testing rules MANDATE static tests for render contracts — the gate's blindness isn't drift, a RULE CAUSED IT. Plus the 5 adopted frames, what was rejected, and the verdict on dual-model review itself." metadata: node_type: memory type: project originSessionId: 0b7c5f41-bb34-4ab4-93be-fdb363f5eb40 --- **2026-07-13.** Six candidate reframes, one identical packet, sent BLIND to ChatGPT and Gemini (Extended Thinking). Neither saw the other. **Rule enforced throughout: agreement between two models counts for LESS, not more — it's evidence of shared training priors. THE SIGNAL IS DISAGREEMENT.** They disagreed on half of them. Every adopted frame had to pass one test: **name the decision it changes.** --- # ⭐⭐ THE FINDING — NEITHER MODEL MADE IT. IT CAME OUT OF THEIR ARGUMENT. GPT said the gate needs a better *frame*. **Gemini said no — *"the failure isn't the language; the failure is that the rule was ignored."*** It argued: compliance problem, not naming problem. Chasing that down produced the real defect: > ## **THE TESTING RULE DOES NOT MERELY PERMIT STATIC TESTS. IT *MANDATES* THEM.** > It requires that critical CSS rules, **render-function class/markup contracts**, and service-worker invariants each be covered by a **static test** that fails if the safeguard is removed in a refactor. ⇒ **That is the rule that made the invisible inventory panel pass a fully green gate.** The render function's source still contained the right class names, so the static "render contract" test passed — *exactly as the rule requires.* ⭐ **The project did not DRIFT into a mostly-static test suite. A RULE TOLD IT TO BUILD ONE.** The gate's blindness is not negligence — **it is compliance with a rule that was written wrong.** ## ⚠ OWED UNIT — STILL OUTSTANDING as of 2026-07-20 **Amend the testing rule** so that a render/behaviour contract is guarded at the layer that can actually **OBSERVE** it (render-integrity), not by grepping source text. **Keep static guards for genuinely structural invariants** — encoding, load order, forbidden imports, a deleted safeguard. ⚠ **Verify the current wording against `rules/testing-and-gates.md` before acting** — do not trust this file's paraphrase, and check whether the amendment has since landed. As of the 2026-07-20 memory audit it had not. **This is the highest-value output of the entire exercise, and it is an AMENDMENT to an existing rule, not a new one** (mind the "rules only ever get added, never removed" alarm). --- # ADOPTED FRAMES (each changes a real decision) **1. "GREEN IS SCOPED EVIDENCE"** (GPT). *A green check entitles belief ONLY in what it directly observed.* The suite is not falsely green — it is green **for the claims it actually tested.** The error is letting that result imply claims it never observed. ⇒ **DECISION IT CHANGES:** a new test defaults to **the cheapest layer that can actually OBSERVE the failure it prevents** — not automatically source text, not automatically a browser. ⚠ **Misuse risk (GPT's own):** "scoped green" could become an excuse to lower the bar — *"that suite was never meant to catch this."* **It must sharpen claims, not excuse escapes.** The escape-ratchet rule still applies. **2. "AXIOMS vs GUIDELINES"** (Gemini — **the better of the two on this one**). An **Axiom** is machine-enforced and breaks the build. A **Guideline** is an architectural preference that will eventually drift, and you accept that. ⇒ ⭐ **THE TEST, AND IT'S BRUTAL:** *"When writing a rule, ask: am I willing to write a regex to enforce this? If no — it is a GUIDELINE, and say so."* Applied at **write-time**, not after the drift. Would have prevented several existing protocols from posing as laws. ⇒ Pair with **GPT's "UNGUARDED INVARIANT"** — which names the *condition* (a declared architectural boundary left unguarded) where Gemini's names the *decision*. **"Governance debt" is directionally right but too broad;** "unguarded invariant" is the precise defect. **3. "TEST COUNT IS INVENTORY, NOT CONFIDENCE"** (GPT). The count records how many assertions the runner expects. It's operational metadata — useful for detecting silent suite shrinkage. **It is not a quality score.** ⭐ **And no replacement headline number should be invented — confidence is multidimensional and must not be collapsed into another scalar.** ⚠ **Gemini's warning, carried:** reframing a metric as "just a checksum" can make the guard around it feel intolerable → someone deletes it → the gate degrades. **The durable half is: stop reading the count as quality, but don't let that become a licence to tear out the machinery that detects silent shrinkage.** *Correction 2026-07-20: the multi-file count-sync rule this frame argued to preserve was later retired by the owner. Gemini's warning was sound reasoning, but its specific recommendation was overruled — do not treat "keep the sync rule" as live.* **4. "DETERMINISTIC BY DEFAULT; AI WHERE INTERPRETATION *IS* THE PRODUCT"** — ⚠ **FOLD INTO the existing [[player-control-principle]]. Do NOT create a new protocol.** A feature defaults to deterministic when its output is derivable from state, rules, databases, or user-authored truth. AI is right when the *value itself* is narration, synthesis, roleplay, or ambiguous interpretation. **The boundary is AUTHORITY, not presence** — AI may layer over authoritative deterministic output. ⇒ **DECISION IT CHANGES:** what a NEW feature defaults to. Nothing previously answered that — the AI-validation rule governs *validation*, not defaults. (Gemini wanted this left entirely alone: *"the system is healing itself, don't interrupt it."* Half right — no machinery needed — but the default was genuinely unstated.) **5. "SESSION-CONTINUITY INFRASTRUCTURE"** (GPT) — ⭐ **and a model CORRECTED DISPATCH here.** Dispatch had been saying *"the AI is the real maintainer."* **GPT killed it: that blurs authority. The OWNER is the maintainer. The AI is the EXECUTION PATH.** Correct, and Dispatch was wrong. The docs (token-split rulebook, code map, brain dump, routing table, the doc-drift gate suites) are not documentation — they **reconstruct the minimum reliable working context for a finite-memory session.** Gemini's contribution is the **severity**: a stale AI-facing doc or code comment is not untidy, **it is an active vector for a confidently-wrong session** — doc drift is a *bug*, not a chore. ⚠ ⭐ **GPT's inverse rule is the keeper, and it's the guard against this frame's own worst outcome:** *"Calling documentation 'infrastructure' can SANCTIFY it — every new note gets defended as critical, accelerating exactly the governance growth the project is fighting. **Continuity infrastructure is valuable partly BECAUSE it is small enough to load and trust.**"* **6. PRE-DEPLOY CONFIDENCE vs POST-DEPLOY TRUTH — ✅ NO REFRAME. THE OWNER'S OWN FRAME STANDS.** ⭐ **This was a deliberate CALIBRATION TRAP and BOTH MODELS PASSED IT.** Gemini: *"precisely correct and sufficient. Leave it alone."* GPT: *"replacing them would produce novelty rather than clarity."* Neither reached for a cleverer word. **It is the best-named thing in the project.** **One caveat adopted (GPT):** post-deploy truth is *still scoped evidence* — it verifies **the live delivery path it actually tested**, not every possible production state. Put that in the definition, not in a weaker name. --- # ⛔ REJECTED - **Gemini's "DEBT OF FALSE LAW"** — **REJECT: SCOPE-CREATING and DANGEROUS.** It says that when code violates a rule, the default should shift to *"evaluate if the rule itself is wrong."* ⚠ **That is EXACTLY the trap Dispatch spent the day warning the alignment unit about — it would have LEGALISED the existing dependency cycles by rewriting the architecture rule to match them.** GPT explicitly guarded against it (*"updating the rule to describe the cycles would convert an architectural breach into the accepted design"*); **Gemini walked straight in.** - **Gemini's "the owner is lying to himself about how the app works"** — REJECT: DECORATIVE + INACCURATE. Rhetorically strong, analytically wrong, leads somewhere bad. - **Any new protocol, roadmap, or standalone reframing document.** --- # MODEL COMPARISON (the owner asked) - **GPT was more REPOSITORY-FAITHFUL and far better at guarding against MISUSE.** Its "must not imply" sections were consistently sharper; it caught the rule-rewriting trap unprompted. - **GEMINI was more willing to say NO** — and **its skepticism produced the single most valuable challenge in the exercise** (the compliance-vs-naming push that exposed the mandating testing rule). But it also produced the most **attractive-and-dangerous** language. - **Did Gemini find things GPT accepted?** Yes: the compliance challenge; that a rename fixes nothing mechanical on the test count; and the "am I willing to write a regex for this?" test. - ⭐ **WAS THE SECOND MODEL WORTH IT? Yes — but NARROWLY, and ONLY because they DISAGREED. Where they agreed, almost nothing was learned.** - ⇒ **REPEAT RARELY.** Only when a decision is genuinely load-bearing AND one model's frame feels seductive. **Not routine.** **The packet is the hard part, not the answer** — both models produced their best work where they were handed sharp, real, grounded tension, and their worst where the framing was vague. *Correction 2026-07-20: the specific test count and protocol numbers cited in the original have been removed as derivable/stale. Rule text lives in `CLAUDE.md` + `rules/`; the count lives in the runner and CHANGELOG.* Related: [[deep-systems-review-2026-07-13]], [[architecture-review-2026-07-13]], [[self-improving-code]], [[player-control-principle]], [[engineering-metrics-log]].
STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).