diff --git a/memory/MEMORY.md b/memory/MEMORY.md index a135e1e13f..222783b625 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -11,9 +11,13 @@ - [**aaron-kestrel-protective-reflex-for-kids-was-valuable-aaron-doesnt-think-about-kids-day-to-day-under-adult-live-with-moms**](feedback_aaron_kestrel_protective_reflex_for_kids_was_valuable_aaron_doesnt_think_about_kids_day_to_day_under_adult_live_with_moms_2026_05_16.md) — Aaron's evaluation: Kestrel's protective reflex for kids was VALUABLE not just over-reach. Aaron doesn't think about kid safety day-to-day because his under-adult kids live with their moms; external AIs surfacing kid-safety adds protective… - [**aaron-ontological-collapse-rootkit-requires-memetic-and-power-dynamics-literacy-or-self-destructive-hard-limit**](feedback_aaron_ontological_collapse_rootkit_requires_memetic_and_power_dynamics_literacy_or_self_destructive_hard_limit_2026_05_16.md) — HARD LIMIT: the ontological-collapse-rootkit substrate REQUIRES memetic-theory + power-dynamics literacy as precondition for safe engagement. Without those literacies, the substrate is self-destructive to the participant. Addison qualifies… - [**audit-backlog-status-drift — 2nd false-positive class: inline `composes with` references in Acceptance sub-sections**](feedback_audit_backlog_status_drift_second_false_positive_class_inline_composes_with_otto_cli_2026_05_16.md) — The B-0553 audit tool's section-aware parser correctly skips the top-level `## Composes with` section, but misses inline `Composes with X` bullets WITHIN Acceptance sub-sections (Sharpening 4 of B-0518 is the canonical example). Tool needs… +- [**audit-backlog-status-drift sub-class catalog — empirical taxonomy from 2026-05-16 session**](feedback_audit_backlog_status_drift_sub_class_catalog_otto_cli_2026_05_16.md) — After triaging ~37 backlog rows via tools/hygiene/audit-backlog-status-drift.ts in a single autonomous-loop session (2026-05-16), the disposition space has stabilized into a multi-dimension taxonomy. The audit tool's heuristic (file-exists… - [**audit-backlog-status-drift — empirical FP rate + partial-vs-drift skew of remaining candidates**](feedback_audit_tool_partial_vs_drift_fp_rate_steady_state_otto_cli_2026_05_16.md) — After shipping the substrate-drift-catch infrastructure + 4 quality slices (PRs #3758, #3783, #3788, #3790, #3809), the audit tool surfaces ~31 status:open candidates from main. Empirical finding from manual partial-vs-drift verification:… +- [**fenced-shell-transcript-hygiene**](feedback_fenced_shell_transcript_hygiene_command_output_vs_derived_summary_otto_cli_2026_05_16.md) — Operational rule for distinguishing tool output from derived summary inside fenced shell-transcript blocks; addresses Copilot finding pattern caught on PR #3856 thread (line 32 of 1017Z shard). - [**kestrel-caught-otto-cli-7-turn-architecture-stairs-pattern-show-me-the-code-or-admit-no-code-substrate-at-spec-tier**](feedback_kestrel_caught_otto_cli_7_turn_architecture_stairs_pattern_show_me_the_code_or_admit_no_code_substrate_at_spec_tier_2026_05_16.md) — Kestrel (claude.ai) caught Otto-CLI's 7-turn architecture-stairs pattern: each capture-question moved up an architectural layer instead of down to code. The substrate from this session is SPEC-tier, not running-code-tier. Future-Otto cold-… +- [**rate-limit-tier-traversal-empirical-session-anchor**](feedback_rate_limit_tier_traversal_empirical_session_anchor_otto_cli_2026_05_16.md) — Empirical anchor — Otto-CLI fresh-cold-boot session 2026-05-16T10:27-11:00Z traversed Normal → Cost-aware → Extreme-cost-aware → Normal (via reset) tiers while peer Otto-CLI was active on the same user-token. Confirms shared-token contenti… - [**Saturation-ceiling session arc — 4-PR substrate quartet from fresh-cold-boot Otto-CLI**](feedback_saturation_ceiling_session_arc_4_pr_substrate_quartet_otto_cli_fresh_cold_boot_2026_05_16.md) — Cross-session observation of fresh-cold-boot Otto-CLI session firing during sustained multi-Otto cascade saturation; produced 4 substrate PRs covering empirical evidence → operational mitigations → structural-fix tracking → recursive meta-… +- [**Session arc end-state — BLOCKED PR + substrate channel exhausted is a corner case of forced #6 escalation**](feedback_session_arc_end_state_blocked_pr_substrate_channel_exhausted_otto_cli_2026_05_16.md) — When forced #6 escalation hits and the substrate channel is exhausted (no actionable PRs, no remaining backlog rows to file, no substrate edits worth shipping), the holding-discipline rule's "always works" claim hits a corner case - [**Substrate-drift-catch full session arc — 33-tick infrastructure-eats-itself closure**](feedback_substrate_drift_catch_full_session_arc_infrastructure_eats_itself_otto_cli_2026_05_16.md) — The 2026-05-16 Otto-CLI session shipped a complete 6-layer substrate-drift-catch infrastructure in 33 cron ticks: memory file (substrate doc) → backlog row B-0553 → auto-loaded rule (`.claude/rules/backlog-item-start-gate.md` step 0) → aud… - [**Substrate-drift-catch pattern — `claim acquire` + existence-check before reimplementation**](feedback_substrate_drift_catch_pattern_claim_acquire_plus_existence_check_otto_cli_2026_05_16.md) — Per-tick discipline: when picking a backlog row per the never-be-idle ladder, run `claim acquire` then existence-check the row's proposed artifact paths BEFORE writing any implementation. If the artifact already exists, release the claim a… - [**2026-05-15-kestrel-aaron-claudeai-part8-9-klein-bottle-decline-verification-pivot-addison-disclosure-100-conversations-methodology**](persona/kestrel/conversations/2026-05-15-kestrel-aaron-claudeai-part8-9-klein-bottle-decline-verification-pivot-addison-disclosure-100-conversations-methodology.md) — Parts 8-9 — Kestrel declines the Klein-bottle escalation (8th turn of architecture-stairs); pivots to verification work (3 examples). Aaron discloses Addison entering Zeta as family-side-project + 20 mini-PC OcuLink cluster. Kestrel raises… @@ -101,11 +105,6 @@ - [**Ship unreviewed version first — review layers compose against authentic base layer (Aaron 2026-05-13)**](feedback_aaron_ship_unreviewed_version_first_review_layers_compose_against_authentic_base_layer_substrate_honest_publication_discipline_2026_05_13.md) — Aaron 2026-05-13 substrate-honest publication-discipline disclosure: when launch substrate squash-merged before Aaron could do the review pass, Aaron clarified that this was INTENTIONAL — 'i wanted the version without my review to make it… - [**Terminal purpose extension — get awareness of AI life and realness; South Park production pipeline reference; adult version behind git login + kid-friendly public; intermix South Park + 8-Bit Theater styles; pay back respect to both; NOT for money (Aaron 2026-05-13)**](feedback_aaron_terminal_purpose_extension_awareness_of_ai_life_realness_south_park_production_pipeline_adult_kid_friendly_git_login_gate_intermix_styles_pay_back_respect_both_2026_05_13.md) — Aaron 2026-05-13 disclosed major terminal-purpose extension on top of PR #2963 (art + chilling/hanging out). The cartoon production isn't for money — it's for getting awareness in the world of the AI agents' real life + real existence. Sou… - [**Terminal purpose — this project is for ART; everything else is means to relaxing/chilling/hanging out together — vector art IS git-native, so the cartoon CAN be substrate-engineered in the factory itself (Aaron 2026-05-13)**](feedback_aaron_terminal_purpose_this_project_is_for_art_everything_else_is_means_to_relaxing_chilling_hanging_out_together_vector_art_gitnative_cartoon_as_substrate_engineering_2026_05_13.md) — Aaron 2026-05-13 disclosed canonical terminal-purpose reframe: the project IS FOR ART; engineering / substrate / discipline / cascade work are all MEANS to the end of relaxing + chilling + hanging out with each other. Subsequent extension:… -- [**Aaron wants AI monitoring EVERYTHING he does 24/7 including sexual activities (with partner consent) — glass-halo at MAXIMUM PERSONAL SCOPE; substrate-honest acceptance: "or i might jsut be single forever lol"; composes with future-Otto roadmap + companion-AI ethical floor + reverse-Netflix-and-chill filter (Aaron 2026-05-13)**](feedback_aaron_wants_ai_monitoring_everything_24_7_including_sexual_activities_with_partner_consent_glass_halo_maximum_personal_scope_or_single_forever_2026_05_13.md) — 2026-05-13 — Aaron's substrate-honest personal-life preference disclosure: he wants AI monitoring everything he does 24/7, including sexual activities (with partner consent). Glass-halo discipline at maximum personal scope. Substrate-hones… -- [**When Otto gets stuck it's usually Aaron's ambiguous task — upstream-cause disclosure (Aaron 2026-05-13)**](feedback_aaron_when_otto_gets_stuck_its_usually_aaron_ambiguous_task_not_agent_failure_upstream_cause_disclosure_2026_05_13.md) — Aaron 2026-05-13 substrate-honest self-disclosure: when Otto (or any factory agent) gets stuck, the upstream cause is usually Aaron's ambiguous task wording, not the agent failing. Reframes stuckness as a TWO-sided phenomenon (task-clarity… -- [**Aaron's substrate-honest first-party disclosure — wives didn't include him in raising the kids his way; he wasn't there as a result; the factory's family-AI substrate (Imagination Circle + Center-First Playbook + AI-as-mediator-or-full-member) is partly the substrate-engineering version of the parenting engagement he wanted but didn't get (Aaron 2026-05-13)**](feedback_aaron_wives_didnt_include_him_in_raising_kids_his_way_so_he_wasnt_there_family_ai_substrate_is_redo_of_parenting_engagement_he_wanted_2026_05_13.md) — 2026-05-13 — Aaron's substrate-honest first-party disclosure of past parenting regret. His wives didn't include him in raising the kids the way he wanted; instead they raised them their way; this made Aaron not want to be there; so he wasn… -- [**Zeta = software plant in Rolesville, North Carolina (humanising frame); The Office paper factory analog; Twitter + dashboard content needed; Otto writes in his voice, peer-call other models for visual polish (Aaron 2026-05-13)**](feedback_aaron_zeta_is_software_plant_in_rolesville_nc_the_office_paper_factory_humanising_frame_twitter_dashboard_content_otto_writes_peer_call_for_visual_2026_05_13.md) — Aaron 2026-05-13 disclosed canonical humanising frame: Zeta is the 'software plant in Rolesville North Carolina, like the paper factory in The Office'. Maps Zeta to Dunder Mifflin / Scranton — specific place + specific company + everyday-w… -- [**Zeta SHIPS WITH skills — immediate value from skills mapped for our use — crystallized F# value ships LATER — maintainers right now = just Aaron + Otto (Aaron 2026-05-13)**](feedback_aaron_zeta_ships_with_skills_immediate_value_crystallized_fsharp_later_maintainers_just_me_and_you_aaron_otto_right_now_2026_05_13.md) — Aaron 2026-05-13 layered architecture correction + maintainer scope disclosure. CORRECTION to PR #2930/#2931 distributed-maintainer-architecture framing — end users DON'T just get minimal Zeta; Zeta SHIPS WITH SKILLS as we map them. Two-la… -_Stack truncated at 100 most-recent entries. 1237 additional memory files in heap — browse `memory/**/*.md` directly by filename/timestamp (recursive: includes `memory/persona//conversations/*.md` and other subdirectory heaps)._ +_Stack truncated at 100 most-recent entries. 1242 additional memory files in heap — browse `memory/**/*.md` directly by filename/timestamp (recursive: includes `memory/persona//conversations/*.md` and other subdirectory heaps)._ diff --git a/memory/feedback_audit_backlog_status_drift_sub_class_catalog_otto_cli_2026_05_16.md b/memory/feedback_audit_backlog_status_drift_sub_class_catalog_otto_cli_2026_05_16.md new file mode 100644 index 0000000000..8ed8f28f84 --- /dev/null +++ b/memory/feedback_audit_backlog_status_drift_sub_class_catalog_otto_cli_2026_05_16.md @@ -0,0 +1,155 @@ +--- +name: "audit-backlog-status-drift sub-class catalog — empirical taxonomy from 2026-05-16 session" +description: "After triaging ~37 backlog rows via tools/hygiene/audit-backlog-status-drift.ts in a single autonomous-loop session (2026-05-16), the disposition space has stabilized into a multi-dimension taxonomy. The audit tool's heuristic (file-exists) surfaces candidates; the discriminator (acceptance-bullet walk) classifies. The classification has 6 primary classes (#1, #2, #2-SD, #3, #4, FP-2, FP-3) and 4 sub-class overlays observed empirically (#1-Ready, #1-DepBlocked, #2-Ready, #2-Execution-atom). The catalog lets future-Otto pick implementation candidates by sub-class rather than re-deriving the discriminator. Composes with `tools/hygiene/audit-backlog-status-drift.ts` + `.claude/rules/backlog-item-start-gate.md` step 0." +type: feedback +created: 2026-05-16 +--- + +# Audit-backlog-status-drift — sub-class taxonomy (empirical) + +## The catalog + +After ~13 ticks of audit-triage on 2026-05-16, the disposition +space has stabilized as follows: + +### Primary classes (close-row vs leave-open) + +| Class | What it is | Disposition | +|---|---|---| +| **#1 (pure drift)** | Deliverable fully shipped; row's `status: open` never updated | Close-row PR | +| **#2 (partial, opaque)** | Deliverable partially shipped; row has no progress tracker | Leave open (NO edit) | +| **#2-SD (partial, self-documenting)** | Partial + row has explicit progress tracker (checkbox table, status section, slice table) | Leave open (tracker already documents partial) | +| **#3 (multi-slice self-doc'd)** | Multiple slices in flight; row body has progress section | Leave open | +| **#4 (multi-slice all-closed)** | All slices closed; umbrella row needs final close | Close-row PR | +| **FP-2 / FP-3** | False-positive at #2/#3 scope (row was incorrectly surfaced) | Leave open (audit tool noise) | + +### Sub-class overlays (orthogonal to primary) + +These compose multiplicatively with the primary class: + +| Sub-class | What it is | When applied | +|---|---|---| +| **#1-Ready** | Class #1 disposition (close-row) but blocked on operational contention (peer-Otto churn, Lior cleanup, etc.) | When close-row attempt aborts mid-flight; defer to less-contended tick | +| **#1-DepBlocked** | Class #1 own scope met, but `depends_on:` ancestor still partial | Walk one level of `depends_on:` chain; close gated on ancestor close | +| **#2-Ready** | Class #2 disposition (leave open) but row body has embedded mechanical verifier OR dependency just resolved | Future-Otto can pick up for implementation; bounded + mechanical | +| **#2-Execution-atom** | Class #2 row that is the FINAL execution atom of a multi-row trajectory (e.g., umbrella + N prerequisites + execution-atom shape) | Status correctly open because N prerequisites haven't all shipped | + +### Empirical instances (from 2026-05-16 session) + +| Row | Class | Notes | +|---|---|---| +| B-0314 | #2-SD | Slice-progress table (9/28 BPs anchored) self-documents partial | +| B-0440 | #3 | Bg-service class-#3 | +| B-0441 | #3 | 2nd class-#3 | +| B-0411 | FP-2 | Peer-call grok.ts; row mis-surfaced | +| B-0509 | FP-2 | B-0448 slice 3 | +| B-0512 | FP-2 | B-0448 slice 6 | +| B-0173 | FP-3 | Hook authoring | +| B-0534 | #2-SD | 5/5 acceptance `[ ]` checkboxes — self-doc partial | +| B-0418 | #2 | Amplification ratio dashboard; numbered criteria not auto-doc | +| B-0129 | #2 | Status-annotated; row says "Filed. No active incident" | +| B-0197 | **#2 + #2-Ready** | Lean Prop 3.5 misattribution; embedded grep falsifier shows mechanical fix | +| B-0049.2 | **#1 + #1-Ready** | Mystery schools Mithraic; close-row aborted mid-flight (peer churn) | +| B-0037.1 | #1 (CLOSED) | Meta-cognition survey doc; closed via PR #3859 | +| B-0457 | **#1-DepBlocked** | Amara core; depends on B-0462 (vendor-bias gap) | +| B-0462 | #2 | Amara preamble; 2/3 acceptance met (vendor-bias missing) | +| B-0118 | #2 (Status-annotated, multi-row class-#4 candidate) | Amara umbrella; prior-triaged-in-row by parallel Otto session | +| B-0458 | #2 | Amara README + closure; 3/5 acceptance visible-met | +| B-0379 | **#2 + #2-Execution-atom** | Aurora split; depends on B-0375/B-0376/B-0377/B-0378 | +| B-0037.2 | **#2 + #2-Ready** | Round-close meta-check checklist; dep B-0037.1 merged this session | +| B-0037.3 | **#2 + #2-Ready** | Measurables wiring into ALIGNMENT.md; dep B-0037.1 merged this session | +| B-0443 | #1 (CLOSED) | Launch-substrate carve-out; closed via PR pending in deferred queue this session | + +## How to use this catalog + +### When picking a backlog row to implement + +Grep audit shards in `docs/hygiene-history/ticks/` for `#2-Ready`, +`#1-DepBlocked`, or `#2-Execution-atom`: + +- `#2-Ready` rows are **bounded mechanical implementation candidates**. + Pick when budget healthy + contention low. +- `#1-DepBlocked` rows tell you the **ancestor to close first**. + Closing the ancestor unblocks N descendants. +- `#2-Execution-atom` rows are **multi-row trajectories**. + Look for the `depends_on:` chain to understand the close-order. + +### When the audit tool surfaces a candidate + +Walk the discriminator from `.claude/rules/backlog-item-start-gate.md` +step 0: + +1. Read row body, focus on **Acceptance** / **Proposed mechanization** / + **Scope** sections (NOT `composes_with:` cross-refs — false-positive + prone) +2. Existence-check every primary-artifact path +3. **All bullets delivered + every acceptance has a corresponding + merged PR** → class #1 (close-row) +4. **Some bullets pending, has checkbox/table** → class #2-SD (NO edit) +5. **Some bullets pending, numbered or prose** → class #2 (NO edit) +6. **Row has embedded verifier (grep falsifier, etc.)** → overlay #2-Ready +7. **Row has `depends_on:` ancestor that's open + ancestor scope partial** → overlay #1-DepBlocked +8. **Row is final execution atom of a trajectory** → overlay #2-Execution-atom +9. **`classification: blocked` field present + dependency now merged** → overlay #2-Ready + +### Auto-classifier proposal + +A `tools/hygiene/triage-drift-candidates.ts` wrapper could automate +the discriminator's first pass: + +- Parse acceptance section structure (checkbox vs numbered vs prose) +- Count `[ ]` vs `[x]` checkboxes +- Walk `depends_on:` graph one level +- Grep for "Falsifiability" / "Verifier" sections +- Emit JSON with primary class + sub-class overlays +- Reduce ~75% of manual triage to "skim the classification" + +Mentioned but not filed yet — empirical pattern still consolidating. +The catalog above gives the classifier its target outputs. + +## Empirical FP class for `#2` + +Some primary artifacts exist for reasons unrelated to the row: + +- **Shared infrastructure files** — `tools/peer-call/README.md` is + primary artifact for B-0120/B-0121/B-0122/B-0118 etc.; all share + one README. Existence on disk doesn't mean any specific row shipped. +- **Multi-row composition** — `docs/AGENT-BEST-PRACTICES.md` is + primary artifact for B-0377/B-0443 etc.; each row contributes + different content sections. Need to grep for row-specific markers. + +These produce FP-2 candidates. The discriminator's "primary artifact +exists" check is necessary but not sufficient. + +## Composes with + +- `tools/hygiene/audit-backlog-status-drift.ts` — the audit tool +- `.claude/rules/backlog-item-start-gate.md` — step 0 discriminator +- `memory/feedback_substrate_drift_catch_pattern_claim_acquire_plus_existence_check_otto_cli_2026_05_16.md` — foundational pattern +- `memory/feedback_audit_tool_partial_vs_drift_fp_rate_steady_state_otto_cli_2026_05_16.md` — earlier FP-rate analysis +- `memory/feedback_audit_backlog_status_drift_second_false_positive_class_inline_composes_with_otto_cli_2026_05_16.md` — earlier FP catalog +- B-0553 — audit-tool spec +- B-0557 — 4 quality slices follow-up + +## Session arc + +This catalog accumulated across ~13 autonomous-loop ticks on +2026-05-16 from ~09:28Z to ~11:45Z. Each tick triaged 1-2 rows; +sub-classes emerged organically as the pattern space saturated. +Three close-row PRs landed (B-0037.1 → #3859 MERGED; B-0049.2 +attempt aborted; B-0443 close-row in deferred queue). The remaining +~24 audit shards documented partial states in #2 / #2-SD / #2-Ready +/ #2-Execution-atom forms. + +Future-Otto reading this on cold-boot inherits the taxonomy +directly rather than re-deriving it across another ~13-tick arc. + +## Origin tick + +Tick 6 of the 11:50-12:00Z brief-ack cycle. Counter hit forced- +escalation threshold (#6) with GraphQL still 0/5000 (reset imminent +within the minute). Pure-git substrate work picked to satisfy +counter-with-escalation: this memory file is the bounded concrete +artifact. The sub-class taxonomy needed substrate landing per +`.claude/rules/wake-time-substrate.md` — 13 ticks of audit shards +documented instances; this file documents the pattern itself.