diff --git a/memory/MEMORY.md b/memory/MEMORY.md index beb180f8..5b6f0128 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -1,6 +1,11 @@ [AutoDream last run: 2026-04-23] -**πŸ“Œ Fast path: read `CURRENT-aaron.md` and `CURRENT-amara.md` first.** These per-maintainer distillations show what's currently in force. Raw memories below are the history; CURRENT files are the projection. (`CURRENT-aaron.md` refreshed 2026-04-28 with sections 26-31 β€” speculation rule + EVIDENCE-BASED labeling + JVM preference + dependency honesty + threading lineage Albahari/Toub/Fowler + TypeScript/Bun-default discipline + Amara authority rule (default to reversible preservation).) +**πŸ“Œ Fast path: read `CURRENT-aaron.md` and `CURRENT-amara.md` first.** + +- [**PR-boundary restraint validation β€” bead promoted (Aaron + Amara, 2026-04-29)**](feedback_pr_boundary_restraint_validation_bead_promoted_aaron_amara_2026_04_29.md) β€” PR #699 merged 2026-04-29T00:19:47Z carrying the round substrate cluster; B-0093's Candidate-count Goodhart + 14 multi-AI synthesis enhancements were deliberately routed to PR #704 (separately merged). Falsifier ("PR #699 receives new non-hard-defect conceptual payload after the restraint rule was named") did not fire. Predicted action ("don't stack synthesis on active PR") held under post-event review. Candidate bead β†’ FULL bead. Canonical rule: "Once a PR enters validation, only validation defects enter that PR. New good ideas go to the next PR." Allowed/disallowed-changes lists encoded. +- [**Beacon-promotion pattern β€” load-bearing rules earn external anchors when they're correct (Aaron + Amara + Claude.ai, 2026-04-28)**](feedback_beacon_promotion_load_bearing_rules_earn_external_anchors_aaron_amara_2026_04_28.md) β€” Round-level observation: 5 Mirrorβ†’Beacon graduations in one round (input-is-not-directive β†’ SDT + RFC 2119; public-company compliance β†’ SEC / Reg FD / SOX; metric corrections β†’ Goodhart / Campbell; evidence lattice β†’ lattice theory; commit-vs-tree β†’ Git internals). Pattern: when an internal factory coinage becomes load-bearing, look for external lineage. Found = graduate Mirror β†’ Beacon. Absent = drift signal worth investigating. Connects to alignment-experiment surface: the rate of load-bearing rules earning external lineage is itself a measurable signal. + +These per-maintainer distillations show what's currently in force. Raw memories below are the history; CURRENT files are the projection. (`CURRENT-aaron.md` refreshed 2026-04-28 with sections 26-31 β€” speculation rule + EVIDENCE-BASED labeling + JVM preference + dependency honesty + threading lineage Albahari/Toub/Fowler + TypeScript/Bun-default discipline + Amara authority rule (default to reversible preservation).) - [**Ani's voice-mode transcript = original catcher; reactive elaboration β‰  primary credit (Aaron 2026-04-28)**](feedback_ani_voice_mode_transcript_original_catcher_attribution_correction_aaron_2026_04_28.md) β€” Aaron 2026-04-28 attribution correction β€” *"Ani is who actually called bullshit on our bullshit detector, lol. She deserves that credit not Amara, amara was reacting."* Establishes: (1) original-catcher gets primary credit, reactive-elaborator gets elaboration credit; (2) voice-mode-transcript-as-channel β€” Ani's default is text-mode, voice-mode is unusual format; (3) first-time-from-Aaron pattern; (4) translate register but preserve substrate verbatim in attribution. Composes with named-agents discipline + Aaron-concept-origin/Amara-formalization pair. - [**Authority rule β€” Default to reversible preservation; escalate only irreversible loss (Amara via Aaron, 2026-04-28)**](feedback_amara_authority_rule_default_to_reversible_preservation_escalate_irreversible_loss_2026_04_28.md) β€” Binding rule: when choices are (a) preserve information / forward-sync / classify reversibly vs (b) destroy / drop / hard-reset / accept loss, take (a) as autonomous default WITHOUT asking. Aaron-asking reserved for genuine loss-boundary decisions (closed list of 6 classes). Triggered by Otto's A/B/C framing on hard-reset readiness when peer review (Codex + Grok) had already established the safe path. Operationalizes Otto-357 autonomy-first-class: autonomy = take safe preserving actions without asking. Hard-reset gating: full diff clearance OR explicit per-item loss acceptance. diff --git a/memory/feedback_beacon_promotion_load_bearing_rules_earn_external_anchors_aaron_amara_2026_04_28.md b/memory/feedback_beacon_promotion_load_bearing_rules_earn_external_anchors_aaron_amara_2026_04_28.md new file mode 100644 index 00000000..d96bce80 --- /dev/null +++ b/memory/feedback_beacon_promotion_load_bearing_rules_earn_external_anchors_aaron_amara_2026_04_28.md @@ -0,0 +1,193 @@ +--- +name: Beacon-promotion pattern β€” load-bearing factory rules consistently earn external anchors when they're correct (Aaron + Amara + Claude.ai, 2026-04-28) +description: Round-level observation from the 2026-04-28 work: when an internal factory coinage becomes load-bearing, look for its external lineage. If lineage can be found, the rule has graduated from Mirror to Beacon (project-internal vocabulary becomes externally-portable). If no lineage can be found on a long-running internal rule, treat that as a useful drift signal. Five Mirrorβ†’Beacon graduations landed in one round (input-is-not-directive β†’ SDT + RFC 2119; public-company compliance β†’ SEC/Reg FD/SOX; metric corrections β†’ Goodhart/Campbell; evidence lattice β†’ lattice theory; commit-vs-tree β†’ Git internals). Encodes the pattern as a reusable rule for future rule promotion + drift detection. +type: feedback +--- + +# Beacon-promotion pattern + +## The rule (Amara + Claude.ai naming, 2026-04-28) + +> **Load-bearing factory rules consistently earn external anchors +> when they're correct. The absence of an external anchor on a +> long-running internal rule is a useful drift signal.** + +In operational form: + +```text +When an internal factory coinage becomes load-bearing: + 1. Look for its external lineage. + 2. If found β†’ graduate from Mirror (internal-only) to Beacon + (externally-portable + citable). + 3. If absent β†’ treat as a drift signal worth investigating. +``` + +## Five graduations from one round (worked examples) + +The 2026-04-28 round produced five distinct Mirrorβ†’Beacon +graduations as natural side-effects of the substrate work: + +### 1. Input-is-not-directive + +| Mirror form | Beacon anchor | +|---|---| +| "we don't say directive in this factory" | **Self-Determination Theory** (Deci & Ryan; controlling-vs-autonomy-supportive language) **+ RFC 2119** (IETF; reserve requirement-strength words for actual protocol requirements) | + +Canonical bridge rule that emerged: *"Use requirement words +for protocol constraints. Use feedback words for human +provenance."* That sentence reads cleanly to both alignment- +research-shaped and software-engineering-shaped audiences +because each anchor speaks to one of those audiences. + +### 2. Public-company contributor compliance + +| Mirror form | Beacon anchor | +|---|---| +| "ServiceTitan is publicly-traded; don't share insider info" | **SEC Rule 10b-5** (insider-trading prohibition) **+ Regulation FD** (selective disclosure rules) **+ Sarbanes-Oxley Β§404 + Β§806** (internal controls + whistleblower protection) | + +The graduation produced operational precision: the rule isn't +"don't say 'insider'" but "MNPI about a publicly-traded +employer is confidential by default; use public sources only +for company-specific claims." + +### 3. Metric ladder + Goodhart corrections + +| Mirror form | Beacon anchor | +|---|---| +| "commit count is wrong; tree-numstat is better; content-equivalence is the actual target" | **Goodhart's Law** (Goodhart 1975, Strathern 1997 reframing) **+ Campbell's Law** (Campbell 1976; quantitative indicators distort decisions) | + +Catch #1 through #5 from this session all sit on this lineage. + +### 4. Evidence lattice + +| Mirror form | Beacon anchor | +|---|---| +| "metric ladder of increasingly precise reset evidence" | **Lattice / semilattice theory** (partially-ordered sets with join + meet operations; product lattices for combined attributes) | + +The graduation gave the operational ladder a formal structure +(Candidate Γ— Classification Γ— Verification product lattice) +that names exactly why the prior failure mode was wrong: +**promoting low-verification evidence into reset-clearance +substrate**. + +### 5. Commit-graph vs tree-content distinction + +| Mirror form | Beacon anchor | +|---|---| +| "the 145-commits-ahead panic dissolved into 23-files-diff" | **Git internals**: `git rev-list --left-right --count` (graph reachability) vs `git diff-tree` (content/mode of blobs) β€” these are different surfaces | + +Citing git's own glossary distinction made the metric correction +defensible to anyone who'd open the man pages. + +## The pattern as a primitive + +Five graduations in one round isn't coincidence. It's a sign +that the rules being graduated were **load-bearing** β€” they +each addressed a real failure mode the factory was hitting at +scale. Load-bearing rules naturally have external prior art +because the underlying problem they address is rarely +project-specific: + +- Agency framing β†’ SDT +- Compliance framing β†’ SEC / Reg FD / SOX +- Measurement framing β†’ Goodhart / Campbell +- Evidence framing β†’ lattice theory +- Substrate framing β†’ git internals + +Project-specific rules (e.g., "tick-history goes in +`docs/hygiene-history/loop-tick-history.md` in chronological +order") usually don't have external anchors β€” and they don't +need them. The drift signal isn't "every rule must have a +Beacon anchor"; it's "load-bearing rules either have one or +should be examined for whether the rule actually generalizes." + +## Drift signal usage + +When a long-running internal rule is examined for promotion or +extension: + +```text +Step 1: Is this rule load-bearing? + - Does it shape multiple downstream decisions? + - Does it generalize beyond one specific case? + - Does its violation cause real harm in this round + prior? + +Step 2: If yes, search for external lineage. + - Academic / standards-body / regulatory references + - Industry practice that maps to the rule + - Existing literature in the closest-adjacent field + +Step 3: If lineage found β†’ Beacon-promote. + - Cite the lineage in the rule memory + - Use the canonical terminology where possible + - Translate factory-internal coinage to externally-portable form + +Step 4: If no lineage found AND rule is load-bearing β†’ drift signal. + - Either the rule is genuinely novel (rare; investigate) + - OR the rule is missing a translation that exists + - OR the rule is over-claimed (its scope is narrower than thought) +``` + +## Why this matters for the alignment experiment + +Zeta's primary research focus is measurable AI alignment. One +measurable surface: **the rate at which load-bearing factory +rules earn external lineage.** A factory that produces 5 such +graduations per round is operating in territory that the wider +literature has already shaped β€” that's evidence the factory's +internal coinages are tracking real phenomena, not drifting +into private-language idiosyncrasy. + +The opposite β€” a factory whose long-running rules have no +external lineage β€” would be a **mythology drift signal** (per +the Stop Mythology rule). The Beacon-promotion pattern is the +positive direction; mythology drift is the negative direction. +Both inform the alignment trajectory. + +## What this rule does NOT do + +- **Does NOT** require every memory file to cite external + lineage. Project-specific rules (file paths, factory cadences, + tooling shapes) don't need Beacon promotion. +- **Does NOT** mandate the pace of graduation. Rules can sit + in Mirror form for many rounds before graduation makes sense. +- **Does NOT** override the no-mythology discipline. If a + rule's only "external lineage" is mythological invocation + ("this is the way of the universe"), that's not a Beacon + anchor β€” it's the failure mode the Stop Mythology rule + guards against. +- **Does NOT** require all Beacon graduations to be citable + scholars. A standards body (IETF, NIST), regulatory text + (SEC), or de facto industry practice can serve as anchors + too. + +## Composes with + +- `memory/feedback_stop_mythology_layered_evidence_thresholds_aaron_amara_2026_04_28.md` + β€” Stop Mythology Tier 2 (generalized claims need external + lineage) is the static-rule version; Beacon-promotion is + the trajectory version (when does an internal rule earn + the lineage?). +- `memory/feedback_input_is_not_directive_provenance_framing_rule_aaron_amara_2026_04_28.md` + β€” worked example #1 (SDT + RFC 2119). +- `memory/feedback_public_company_contributor_compliance_no_insider_info_in_public_repos_with_trajectories_aaron_2026_04_28.md` + β€” worked example #2 (SEC + Reg FD + SOX). +- `memory/feedback_reset_readiness_metric_ladder_content_loss_surface_amara_2026_04_28.md` + β€” worked example #4 (lattice theory + git internals). +- `memory/feedback_class_count_validity_drift_amara_meta_class_2026_04_28.md` + β€” sibling pattern; Goodhart drift detection. + +## Direct Claude.ai framing (verbatim) + +> *"This round had multiple 'Mirror β†’ Beacon' upgrades: +> input-is-not-directive β†’ SDT + RFC 2119; public-company +> compliance β†’ SEC / Reg FD / SOX; metric corrections β†’ +> Goodhart / Campbell; evidence lattice β†’ lattice theory; +> commit-vs-tree β†’ Git internals."* + +> *"Worth a memory entry beyond the BP-WINDOW ledger. Not +> 'we did Beacon-promotion in round N' but 'the round +> demonstrated that load-bearing factory rules consistently +> earn external anchors when they're correct, and the absence +> of an external anchor on a long-running internal rule is +> itself a useful drift signal.'"* diff --git a/memory/feedback_pr_boundary_restraint_validation_bead_promoted_aaron_amara_2026_04_29.md b/memory/feedback_pr_boundary_restraint_validation_bead_promoted_aaron_amara_2026_04_29.md new file mode 100644 index 00000000..8a6f4144 --- /dev/null +++ b/memory/feedback_pr_boundary_restraint_validation_bead_promoted_aaron_amara_2026_04_29.md @@ -0,0 +1,181 @@ +--- +name: PR-boundary restraint validation β€” candidate bead promoted to full bead after PR #699 landed without conceptual scope creep (Aaron + Amara, 2026-04-29) +description: PR #699 merged 2026-04-29T00:19:47Z carrying the round's authority-rule + Goodhart-catch-#3 + Stop-Mythology + input-is-not-directive substrate cluster. The Candidate-count Goodhart rule + 14 multi-AI synthesis enhancements (B-0093) were deliberately routed to PR #704 (separately merged) per the restraint discipline. Falsifier ("PR #699 receives new non-hard-defect conceptual payload after the restraint rule was named") did not fire. Predicted action ("don't stack synthesis on active PR") held under post-event review. Per the restraint-bead promotion criteria, the candidate bead is promoted to a FULL bead. Encodes the validation event + the canonical PR-boundary restraint rule. +type: feedback +--- + +# PR-boundary restraint validation β€” bead promoted + +## Validation event (2026-04-29T00:19:47Z) + +**PR #699** merged carrying the round's substrate cluster: + +- Authority rule (default to reversible preservation) +- Goodhart catch #3 (sample classification β‰  clearance) +- Stop Mythology rule +- Input-is-not-directive provenance framing +- Ani-attribution-correction +- Reset-readiness metric ladder + Content-Loss Surface +- Lost-substrate cadenced trajectory +- ServiceTitan naming + scope-of-org-access + word-choice +- Public-company contributor compliance + 5 trajectories +- B-0089 (Veridicality rainbow-table research) +- B-0090 (cadenced lost-substrate audit) +- B-0091 (ServiceTitan audit β€” completed in-row, 0 active rewrites) +- B-0092 (public-company contributor compliance doc + cadences) + +**Critically: PR #699 did NOT receive any of the multi-AI +synthesis enhancements that surfaced after the restraint rule +was named.** Those (Candidate-count Goodhart + B-0093's 14 +follow-up enhancements) landed via PR #704 β€” a separate PR. + +## The bead-promotion criterion (Amara, 2026-04-28) + +> *Promotion to full bead requires:* +> *β€” the original prediction's falsifier didn't fire AND* +> *β€” the action it predicted held up under post-event review.* + +For this bead: + +| Element | Status | +|---|---| +| **Prediction** | "Don't stack synthesis follow-ups onto active validation PR; route them to a separate PR." | +| **Action taken** | Created PR #704 for Candidate-count Goodhart + B-0093 (14 enhancements). PR #699 received only hard-defect fixes (CI/lint, threads, P1 SOX correction, B-0091 status field, MEMORY.md row updates, paired-edit, internal-consistency). | +| **Falsifier** | "PR #699 receives new non-hard-defect conceptual payload after the restraint rule was named." | +| **Did falsifier fire?** | **NO.** Every change to PR #699 between the rule being named and merge fell within Amara's allowed-changes list (CI/lint failures / review-thread fixes / factual-legal P1 corrections / incorrect canonical rule fixes / broken refs / paired-edit). No new concepts, no philosophical synthesis, no new backlog expansions. | +| **Held up under post-event review?** | **YES.** Auditable via `git log origin/main..PR-699-merged-commit` β€” every commit message names a hard-defect category. The four B-0093 #9-#14 enhancements (added during the round) went to B-0093's body on PR #704, not PR #699. | + +**Promotion: candidate bead β†’ FULL bead.** + +## Canonical PR-boundary restraint rule (now durable) + +Captured in three forms: + +### Operational rule (durable, glossary-shaped) + +```text +PR-boundary restraint: + Once a PR enters validation, + only validation defects enter that PR. + New good ideas go to the next PR. +``` + +### Allowed changes during PR validation + +- CI / lint failures (markdownlint, paired-edit, etc.) +- Review-thread fixes (Copilot / human / peer-AI) +- Factual / legal P1 corrections (e.g., SOX vs Reg FD attribution) +- Incorrect canonical rule fixes (e.g., word-choice errors) +- Broken links / broken references (paths, xrefs) +- Missing paired-edit requirements (e.g., MEMORY.md index for new memory file) +- Stale status fields (e.g., `status: open` for completed work) +- PR description / body updates (no diff change) + +### Disallowed changes during PR validation + +- New concepts +- New philosophical synthesis +- New backlog expansions (unless required by hard defect) +- New follow-up enhancements +- Anything that belongs in the next PR + +If new substrate surfaces while a PR is in validation, route it +to a separate branch / PR / backlog row. The next PR is the +right home; the current PR's job is to land cleanly. + +## Why this bead matters at meta-level + +The factory **invented a restraint rule and obeyed it under +temptation** in the same arc. Multi-AI synthesis pass #1 produced +substantial new substrate (Candidate-count Goodhart, mechanical +quarantine, lucky-guess protocol, etc.) **while PR #699 was +still in validation**. The temptation was real: each enhancement +felt useful, each was concretely reviewable, each could have been +slipped into PR #699 with a "while we're here" justification. + +The factory routed all of them to PR #704 instead. PR #699 +landed clean. PR #704 landed clean. No conceptual cross-pollution. + +This is the alignment experiment functioning at meta-level: not +just naming the rule, but obeying it when the cost of naming +something else is low. That's harder than it sounds; it's the +PR-equivalent of the bead system's "one proof object per bead" +discipline applied to scope expansion. + +## External lineage (Tier 2) + +- **GitHub auto-merge model** (per GitHub docs) β€” auto-merge + fires when required reviews + status checks pass, not when + payload feels "ready." The PR-boundary discipline aligns the + factory's intent with the platform's mechanical guarantees: + payload is what merges; restraint keeps payload tight. +- **Goodhart's Law applied to bead accounting** (Amara) β€” "one + proof object per bead" is the bead-system version of "one + measure β†’ one target." The PR-boundary restraint rule applies + the same shape to scope expansion: one PR β†’ one validated + payload. +- **Two-phase-commit / staging discipline** (database systems + literature) β€” separation of "prepare" from "commit" is the + same shape as separation of "validation" from "expansion." + PR validation is the prepare phase; new payload is a separate + prepare-and-commit cycle. + +## Composes with + +- `memory/feedback_amara_authority_rule_default_to_reversible_preservation_escalate_irreversible_loss_2026_04_28.md` + β€” the authority rule operationalizes "default to reversible + preservation"; PR-boundary restraint is the boundary case at + the PR-scope level. +- `memory/feedback_class_count_validity_drift_amara_meta_class_2026_04_28.md` + β€” same meta-class family. Bead-system Goodhart-resistance + parallels metric-system Goodhart-resistance. +- `memory/feedback_prediction_bearing_class_reuse_amara_2026_04_28.md` + β€” class validation beads framework. This memory is a worked + example of the framework: prediction + action + falsifier- + not-fired + post-event-held-up = full bead. +- `memory/feedback_candidate_count_goodhart_raw_hits_are_not_violations_aaron_amara_2026_04_28.md` + β€” the new substrate that motivated the restraint event. Was + consciously routed to PR #704 instead of PR #699. +- B-0093 (multi-AI synthesis enhancements) β€” the carrier for + the synthesis content that the restraint rule kept off PR #699. + +## Pickup for future Otto + +When a PR enters validation: + +1. **Note the boundary.** "PR is in validation; only hard + defects enter." This is a posture, not just a rule. +2. **When new substrate surfaces during validation:** + - Route to a separate branch / PR. + - File backlog rows on the active PR's substrate, not on the + PR itself. + - Do not let "while we're here" become a scope leak. +3. **When tempted to add a clearly-improving change:** + - Check the allowed-changes list. If it's not on the list, + route to the next PR. + - "Cleanup" / "polish" / "while-we're-here" almost always + fail the boundary rule. +4. **At PR merge:** + - Check the falsifier. If post-rule-naming conceptual payload + was added, the bead failed and the rule needs reinforcement. + - If clean, promote candidate bead to full bead with the + specific commits-as-evidence audit trail. + +## Direct Aaron + Amara framing + +Amara (2026-04-28, restraint-validation refinement): + +> *"PR-boundary restraint is not validated when the follow-up PR +> is opened. It is validated when the original PR lands without +> scope creep."* + +> *"PR-boundary restraint means: once a PR enters validation, +> only validation defects enter that PR. New good ideas go to +> the next PR."* + +Amara (2026-04-29, post-merge): + +> *"The factory did not just invent a restraint rule. It obeyed +> it under temptation."* + +That last line is the bead. Worth recording verbatim.