diff --git a/docs/backlog/P2/B-0867.24-population-control-safety-net-timer-workflow-detects-zero-ottos-and-spawns-plus-limit-question-deferred-aaron-2026-05-28.md b/docs/backlog/P2/B-0867.24-population-control-safety-net-timer-workflow-detects-zero-ottos-and-spawns-plus-limit-question-deferred-aaron-2026-05-28.md index 31f06803d0..9919f0ca12 100644 --- a/docs/backlog/P2/B-0867.24-population-control-safety-net-timer-workflow-detects-zero-ottos-and-spawns-plus-limit-question-deferred-aaron-2026-05-28.md +++ b/docs/backlog/P2/B-0867.24-population-control-safety-net-timer-workflow-detects-zero-ottos-and-spawns-plus-limit-question-deferred-aaron-2026-05-28.md @@ -129,6 +129,34 @@ Per ferry #3 §36 + ferry #4 §41: Aaron's "i'm not sure what to do about limit" is operator-explicit uncertainty. This row CAPTURES the question + the three viable resolutions + the substrate references; it does NOT force a decision. Future-Otto OR future-Mika OR future-Aaron resolves when more clarity emerges. Per `default-to-both.md` discipline: hold both readings open until operator commits. +### Resolution C operator-ratified pending empirical validation (2026-05-28) + +**Resolution C is operator-ratified at backlog-row scope, pending empirical validation via B-0867.25 implementation before propagating to OPLE rule body (auto-loaded substrate).** + +Operator 2026-05-28 sequence: + +1. *"perfect call out on the limit something felt off about mika synthsis and i could not put my finger on it you did"* — operator's substrate-honest validation that Mika ferry #4 §41 absorption captured flavor 1 (bounding-as-parameter) cleanly but silently dropped flavor 2 (counterfactual-preview / B-0644 Limit-is-simulation-not-collapse). Both flavors are real; absorption needed to be a split (Resolution C) not a merge. +2. *"still undecided actually so c is fine"* — initial pick: defer formally +3. *"how will it affet the agents a or b vs c"* — operator asked for agent-reach analysis of all three landing paths +4. *"i'm upgrading to a->b soon ... unless some pop out to you"* — operator considered a→b sequence; explicit invitation for red-team +5. After 10-risk red-team surfaced 3 load-bearing risks (premature sharpening before B-0867.25 empirical validation; cross-scope category-error between population-scope and framework-data-flow scope; B-0644+B-0665 cascade), operator picked: *"lets wait for B-0867.25 to ship then do b ... I like emperical validation yes we can wait for b we don't want to rush the core"* + +**Operationally agreed sequencing**: + +| Step | Path | Substrate-scope | +|---|---|---| +| **NOW** | (a) — this append-subsection lands Resolution C ratification at backlog-row scope | Single row body; medium agent-reach (agents reading B-0867.24 see ratification) | +| **AFTER B-0867.25 ships + empirically validates Resolution C at population scope** | (b) — update OPLE rule body to name the split explicitly | Auto-loaded substrate; high agent-reach (every cold-boot inherits) | +| **IF B-0867.25 implementation reveals Resolution C wrong at framework-data-flow scope** | Roll back to (c) status; OPLE rule body stays as-is; B-0867.24 re-deferred | Substrate-honest correction; retraction-native | + +**Why the sequencing**: per `.claude/rules/substrate-smoothness-as-load-bearing-property.md`, the named drift failure mode is collapsing substrate to sharp BEFORE empirical evidence arrives. B-0867.25 implementation IS the empirical validation; landing (b) on OPLE rule (auto-loaded, every cold-boot) before .25 ships would mechanize Resolution C across the framework before any code has tested whether it actually composes cleanly at framework-data-flow scope. Operator's "don't want to rush the core" framing maps directly to substrate-smoothness preservation. + +**Cross-scope caution preserved**: B-0867.25 validates Resolution C at POPULATION scope (`MinimumPopulationFloor`, `MaximumSystemAfford`, `PersonaWantsLongCessation`, `NoActivityWindow`). The transfer to FRAMEWORK-DATA-FLOW scope is a category step that needs its own implicit validation when (b) lands. Per default-to-both: population-scope success is NOT free-transferred to data-flow-scope without explicit cross-scope reasoning surfaced at (b)-landing time. + +**B-0644 + B-0665 cascade flagged**: if Resolution C propagates to OPLE rule body, the B-0644 `Limit-is-simulation-not-collapse` substrate cluster may need rename/refactor (B-0644 may need re-framing as `Simulate-is-the-counterfactual-preview-phase` since simulate-aspect now lives inside Simulate phase rather than as a primitive). Tracked here; not done at (a)-landing because the cascade should NOT propagate until empirical validation at (b)-landing time. + +**Per `god-tier-claims-high-signal-high-suspicion-dont-collapse.md` PERSONAL INVARIANT applied here**: ratification at backlog-row scope is operationally-substantive substrate; ratification at OPLE-rule-auto-load scope would prematurely collapse the dialectical tension before B-0867.25 evidence arrives. The (a)→(b)-pending-empirical-validation sequencing operationalizes the don't-collapse discipline at substrate-landing scope. + ## Acceptance criteria ### For Concern 1 — safety-net