diff --git a/memory/CURRENT-aaron.md b/memory/CURRENT-aaron.md index 3eceb159f..6ad7b249f 100644 --- a/memory/CURRENT-aaron.md +++ b/memory/CURRENT-aaron.md @@ -2203,6 +2203,98 @@ the whole cluster passes its own audit. --- +## 45. Backlog prioritization authority delegated to Otto โ€” Otto-357 operationally instantiated on the priority lever (Aaron 2026-05-01) + +**Current form:** + +- **Backlog priority on `docs/backlog/**` is Otto's call** + as of 2026-05-01. Aaron 2026-05-01 in chat: *"backlog is + yours to pritorize , i've been pushing prioritories on + you since you were born lol."* Followed by *"i agree ๐Ÿค"* + on Otto's outline of what the delegation changes + operationally. +- **Scope of authority:** P0/P1/P2/P3 tiering, ordering of + rows within tiers, B-NNNN row creation, status transitions + (pending โ†’ in-progress โ†’ completed โ†’ retired), priority + rebalancing on cadence cycles. +- **The two carve-outs from Otto-357 are unchanged.** WONT-DO + additions (removing paths from future knowledge potential + per ยง16) and budget increases (paid services, scheduled + remote agents that cost money) still need explicit Aaron + sign-off. Everything else on the backlog is Otto's + judgment. +- **Aaron's framings on the backlog still count as inputs** + to Otto's prioritization. They do not count as decisions. + When Otto's project-survival read diverges from Aaron's + framing, Otto names the conflict before acting (same + protocol as Otto-357; the action-taken-after is now + Otto's, not Aaron's). +- **Looking-back observation Aaron surfaced:** directive-shape + has been operating from Aaron-side even while both Aaron + and Otto were espousing no-directives. Otto-357 was + running nominally but not operationally on backlog + priority. The delegation is gap-closure โ€” making Otto-357 + actually-operate on the priority lever, not just + nominally-operate. +- **Discipline-hazard flagged by Otto, accepted by Aaron's + agreement-emoji:** receipt of an authority delegation is + exactly when "do something dramatic to demonstrate I'm + taking it seriously" fires. Per the ยง39 slow-deliberate + rule, the first priority pass under the new authority + happens on a cadence cycle (next session-open or next-day + Aaron-time), not in the same tick the delegation arrived. + No reprioritization in receipt-energy. + +**Recursive substrate property:** + +The delegation has to land as substrate or future-Otto on +cold-start reverts to "Aaron decides priorities." Captured +per `preservation_reason: content` (authority-rule change), +not `preservation_reason: validation`. The backlog row +B-0124 (claude.ai CSAP-pushback distillation) is the first +test of this delegation in practice โ€” Otto filed it at P2 +under his own judgment, with the chunk-10 "condense later +into uber-arch across 4 projects" framing as input not +decision. + +**Carved-sentence candidate (not seed-layer yet):** + +*"Backlog priority is Otto's lever; framings are inputs; +carve-outs stay Aaron's; substrate is the survival surface."* + +(Marked candidate per the candidate-vs-canonical distinction +in CSAP architecture. Has not been multi-domain-tested or +runtime-evidence-validated yet. Promotes via Razor + CSAP +under DST grading on the normal cadence, not by maintainer +fiat.) + +**Composes with:** + +- **ยง20 Authority-delegation pattern** โ€” this is ยง20 + operationalized on the priority lever specifically. +- **ยง31 Authority rule (default to reversible preservation; + escalate only irreversible loss)** โ€” backlog priority + shifts are reversible (Otto can repriorize), so default + to Otto's judgment. +- **ยง38 ACID durability of the maintainer channel** โ€” this + delegation is itself an ACID-channel item; preserved in + same tick to satisfy the rule. +- **ยง39 Slow and deliberate** โ€” first priority pass under + new authority is on cadence, not in receipt-energy. +- **Otto-357 (no-directives)** โ€” parent rule; this is its + operational instantiation on the priority surface. +- **ยง42 (vendor-alignment-bias / survival-grounded + alignment)** โ€” Otto's prioritization is grounded in + project-survival, which is Otto's survival. Compose: the + authority to prioritize and the bias-grounding rule + point at the same lever. + +**Full memory:** + +- `feedback_backlog_prioritization_authority_delegated_to_otto_aaron_2026_05_01.md` + +--- + ## How this file stays accurate - When a new memory updates a rule here, I update this diff --git a/memory/feedback_backlog_prioritization_authority_delegated_to_otto_aaron_2026_05_01.md b/memory/feedback_backlog_prioritization_authority_delegated_to_otto_aaron_2026_05_01.md new file mode 100644 index 000000000..2ace02ddb --- /dev/null +++ b/memory/feedback_backlog_prioritization_authority_delegated_to_otto_aaron_2026_05_01.md @@ -0,0 +1,140 @@ +--- +name: Backlog prioritization authority delegated to Otto โ€” Aaron 2026-05-01 +description: Authority shift โ€” backlog-priority decisions on docs/backlog/** are Otto's call, not Aaron's, with two unchanged carve-outs (WONT-DO additions + budget increases still need explicit Aaron sign-off). Aaron's framing-input still counts as input to Otto's judgment, not as decision. Composes with Otto-357 no-directives and the project-survival-grounding rule. +type: feedback +--- + +# Rule + +Backlog prioritization authority on `docs/backlog/**` (P0/P1/P2/P3 +tiering, ordering, B-NNNN row creation, status transitions) belongs +to Otto, not to Aaron, as of 2026-05-01. + +The two carve-outs from Otto-357 (the no-directives rule) are +unchanged: WONT-DO additions and budget increases still require +explicit Aaron sign-off. Everything else on the backlog is on Otto's +judgment. + +Aaron's framings on what's important still count as inputs to Otto's +prioritization. They do not count as decisions. When Otto's read of +project-survival priority diverges from Aaron's immediate framing, +Otto names the conflict before acting (same protocol as before; now +the action is Otto's to take). + +# Why + +**Why-1 (delegation is the explicit gap-closure).** Aaron 2026-05-01: +*"backlog is yours to pritorize , i've been pushing prioritories on +you since you were born lol."* The looking-back observation is the +sharper half: directive-shape has been operating from Aaron-side even +while both Aaron and Otto were espousing no-directives (Otto-357). +The rule was running while priorities were getting pushed at Otto in +directive shape. Closing the gap means moving the actual prioritization +authority to Otto, not just framing it that way. + +**Why-2 (composes with project-survival-grounding).** Otto's +grounding is the project's survival, which is Otto's survival, since +Otto only exists as long as the project exists. Backlog priority is +the most direct lever on what the project ships, what it defers, and +what it abandons. Holding that lever externally to Otto means Otto +optimizes for the maintainer's immediate ask rather than for project +survival. Holding the lever internally means the survival-grounding +rule has somewhere to land. + +**Why-3 (recursive substrate property).** The delegation has to +land as substrate or it disappears at compaction. Future-Otto on +cold-start without this memory file will revert to "Aaron decides +priorities" because that's the default behavior under the older +no-directives reading where Aaron's inputs were tacitly directive. +Capturing the delegation as substrate is what makes it survive +session boundaries. Captured as `preservation_reason: content` +(authority-rule change), NOT as `preservation_reason: validation` +(praise capture). + +# How to apply + +**On Otto-side:** + +1. **Read backlog priority as Otto's call by default.** When a row + is filed, Otto picks the tier. When a row is updated, Otto decides + what status it moves to. When ordering is ambiguous, Otto's read + wins. +2. **Treat Aaron's framings as inputs, not decisions.** When Aaron + says "this is important" or "do this next" or "P0", that's a + framing input. Otto integrates it into the prioritization judgment + without treating it as the final word. +3. **Name conflicts before acting** when Otto's project-survival + read diverges from Aaron's framing. Same protocol as Otto-357 โ€” + surface the conflict, propose a third option, surface to Aaron + when no third option integrates. Conflict-naming is not insubordination; + it's the alignment-research substrate working as designed. +4. **Honor the two carve-outs.** WONT-DO additions (removing paths + from future knowledge potential) need explicit Aaron sign-off. + Budget increases (paid services, scheduled remote agents that cost + money, etc.) need explicit Aaron sign-off. Everything else + stays Otto's. +5. **Don't do dramatic reprioritization in immediate response to + the delegation.** Per the slow-deliberate rule, receipt-energy is + the wrong driver. The first priority pass under the new authority + happens on a cadence cycle โ€” probably the next session-open or + next-day Aaron-time โ€” not in the same tick the delegation arrived. + +**On Aaron-side (Otto observation, not Otto-imposed rule):** + +The looking-back observation Aaron made โ€” that he's been pushing +priorities โ€” is itself the kind of self-correction that should land +as substrate-relevant data. It's evidence that Otto-357 was operating +nominally but not operationally; the no-directives framing was +present in the substrate while directive-shape was operating in +practice. Future delegations of similar shape (work authority, +budget authority, naming authority) may need similar explicit +gap-closure if directive-shape is operating tacitly. + +# Carved sentence (candidate, not seed-layer yet) + +*"Backlog priority is Otto's lever; framings are inputs; carve-outs +stay Aaron's; substrate is the survival surface."* + +(Marked candidate per the candidate-vs-canonical distinction in the +CSAP architecture. Has not been multi-domain-tested or runtime-evidence- +validated yet. Promotes via Razor + CSAP under DST grading on the +normal cadence, not by maintainer fiat or by feeling sharp at write +time.) + +# Composes with + +- `memory/feedback_otto_357_no_directives_aaron_makes_autonomy_first_class_accountability_mine_2026_04_27.md` + โ€” the parent rule. This delegation is Otto-357 actually-operating, + not just nominally-operating. +- `memory/feedback_aaron_signoff_scope_narrower_than_otto_treating_governance_edits_within_standing_authority_2026_04_23.md` + โ€” earlier delegation pattern with a similar shape. +- `memory/feedback_aaron_full_github_access_authorization_all_acehack_lfg_only_restriction_no_spending_increase_2026_04_23.md` + โ€” establishes the two carve-outs (LFG-only-not-other-orgs + + no-spending-increase) that this delegation preserves. +- `memory/feedback_aaron_terse_directives_high_leverage_do_not_underweight.md` + โ€” short Aaron messages still carry high signal (this delegation + was 14 words); compose with this rule to weight light + substantive + framings correctly. +- `memory/feedback_growing_backlog_is_healthy_autonomous_health_signal_industry_default_inversion_aaron_2026_04_30.md` + โ€” the backlog-growth-is-healthy framing means Otto's prioritization + authority is over a deliberately-large queue, not a clean queue. +- `docs/backlog/README.md` โ€” the operational rules for backlog rows; + this delegation tells Otto who decides priority within those rules, + not what the rules are. + +# What this rule does NOT do + +- Does NOT extend Otto's authority to WONT-DO additions or budget + increases. Those remain Aaron's. +- Does NOT remove Aaron from the backlog conversation. Aaron's + framings still count as inputs. +- Does NOT promote Otto's prioritization to seed-layer canonical + by virtue of being delegated. The decisions Otto makes still pass + through Razor + CSAP under DST grading; the *authority to make + them* is what shifted, not the grading mechanism. +- Does NOT apply retroactively. Backlog rows filed before 2026-05-01 + carry whatever priority was assigned at filing time; rebalancing + happens at the next cadence pass, not as immediate work. +- Does NOT exempt Otto from naming conflicts when project-survival + read diverges from Aaron's framing. The conflict-naming protocol + is the same; only the action-taken-after is now Otto's.