Skip to content

memory(silent-courier-debt) + backlog(B-0118 amara peer-call): don't count on peer-AI reviews until autonomous bootstrap encoded (Aaron 2026-04-30)#959

Merged
AceHack merged 1 commit intomainfrom
memory/silent-courier-debt-no-amara-headless-cli-aaron-2026-04-30
Apr 30, 2026
Merged

memory(silent-courier-debt) + backlog(B-0118 amara peer-call): don't count on peer-AI reviews until autonomous bootstrap encoded (Aaron 2026-04-30)#959
AceHack merged 1 commit intomainfrom
memory/silent-courier-debt-no-amara-headless-cli-aaron-2026-04-30

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 30, 2026

Aaron's correction surfacing silent debt: every Amara review this session was Aaron's manual courier work (copy-paste between Otto's chat and ChatGPT). Invisible to Otto's cost model, consumed Aaron's processing-budget. Aaron 2026-04-30: "don't count on her review until you have a process encoded for bootstraping her and doing the communitation yourself, this is a silent dept on me to be the courrir and I can't keep up."

Audit confirms gap: codex.sh / gemini.sh / grok.sh exist; no amara.sh (ChatGPT lacks headless CLI matching peer-call shape).

Three landings:

  1. memory(silent-courier-debt) — operational rule. Otto must NOT count on courier-dependent peer-AI reviews as standard loop. Past attribution stands; future operations don't assume cadence. Use codex/gemini/grok for autonomous peer-AI work.

  2. backlog(B-0118) — track the amara.sh implementation gap. P2 / L-effort. Hybrid OpenAI API + persona-bootstrap likely path.

  3. docs/BACKLOG.md regen — index integrity per Codex's pattern from PR research(review-10)+backlog(B-0115/B-0116/B-0117): Deepseek Review 10 verbatim + 3 backlog rows closing deferred-skill anti-pattern (Deepseek 2026-04-30) #955.

Composes with otto-to-aaron-pushback (inverse surface — same survival-budget discipline, opposite direction). Aaron's processing-budget IS Aaron's survival surface; Otto consuming it silently is the failure mode.

🤖 Generated with Claude Code

…OG.md regen: don't count on peer-AI reviews as operational loop until autonomous bootstrap encoded (Aaron 2026-04-30)

Aaron 2026-04-30 verbatim:

> "don't count on her review until you have a process
> encoded for bootstraping her and doing the communitation
> yourself, this is a silent dept on me to be the courrir
> and I can't keep up"

Aaron's correction surfaced silent debt that was invisible
to Otto's cost model. Every Amara review this session
required Aaron to manually copy-paste between Otto's chat
and ChatGPT — invisible courier work that grew with
substrate cadence until Aaron couldn't keep up.

Audit of peer-call infrastructure:
- codex.sh / gemini.sh / grok.sh — operational, Otto can
  call directly
- amara.sh / amara.ts — MISSING. ChatGPT lacks the
  headless CLI surface matching the existing peer-call
  shape.

Three landings:

1. **memory(silent-courier-debt)** — operational rule that
   Otto must NOT count on peer-AI reviews from courier-
   dependent surfaces (Amara/Claude.ai/Alexa/Deepseek) as
   part of the standard operational loop. Past attribution
   stands; future operations do not assume the cadence.
   Use codex/gemini/grok for autonomous peer-AI work.

2. **backlog(B-0118)** — track the amara.sh implementation
   gap. P2 / L-effort. Hybrid path: OpenAI API + Amara-
   persona-bootstrap likely. Promotes to P1 if substrate
   work blocks on Amara-review without Aaron available.

3. **docs/BACKLOG.md regen** — index integrity per Codex's
   pattern from PR #955 (regenerate after adding new
   B-NNNN row, fix MD012 manually since generator emits
   double-blank-line).

Composes with otto-to-aaron-pushback rule (same
survival-surface discipline, inverse direction): Otto's
processing-budget IS Otto's survival; Aaron's processing-
budget IS Aaron's survival. Otto consuming Aaron's
processing-budget silently is the failure mode this rule
prevents.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 30, 2026 21:47
@AceHack AceHack enabled auto-merge (squash) April 30, 2026 21:47
@AceHack AceHack merged commit 0e71e72 into main Apr 30, 2026
27 checks passed
@AceHack AceHack deleted the memory/silent-courier-debt-no-amara-headless-cli-aaron-2026-04-30 branch April 30, 2026 21:50
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds durable substrate capturing the “silent courier debt” constraint (manual forwarding required for Amara/ChatGPT reviews) and tracks the missing autonomous Amara peer-call implementation as a backlog item, while updating the repo’s memory/backlog indexes accordingly.

Changes:

  • Add a new memory rule documenting that courier-dependent peer-AI reviews must not be assumed as part of the operational loop until autonomous bootstrap/communication exists.
  • Add backlog row B-0118 to track implementing tools/peer-call/amara.sh (and companion TS wrapper) to eliminate courier dependency.
  • Regenerate/update memory/MEMORY.md and docs/BACKLOG.md indexes to include the new entries.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
memory/feedback_silent_courier_debt_no_amara_headless_cli_dont_count_on_peer_ai_reviews_as_loop_aaron_2026_04_30.md New operational memory rule describing the courier-debt constraint and resulting protocol.
memory/MEMORY.md Updates the top marker and adds an index entry for the new memory rule.
docs/backlog/P2/B-0118-amara-peer-call-headless-cli-bootstrap-end-courier-debt-2026-04-30.md New backlog row tracking the missing Amara headless peer-call implementation.
docs/BACKLOG.md Adds B-0118 (and related rows) to the auto-generated backlog index.

## What "encoded process for bootstrapping Amara" looks like

The eventual operational shape (deferred to backlog row
B-NNNN, NOT this session):
Copy link

Copilot AI Apr 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section says the bootstrap process is deferred to backlog row “B-NNNN”, but this PR adds a concrete backlog row (B-0118) for the Amara peer-call gap. Please update the placeholder to reference B-0118 so the rule and backlog stay consistent.

Suggested change
B-NNNN, NOT this session):
B-0118, NOT this session):

Copilot uses AI. Check for mistakes.
Comment thread memory/MEMORY.md
Comment on lines +3 to 4
**📌 Fast path: read `CURRENT-aaron.md` and `CURRENT-amara.md` first.** <!-- latest-paired-edit: silent-courier-debt rule + B-0118 amara peer-call backlog row — Aaron's correction surfacing invisible courier work; don't count on peer-AI reviews as part of operational loop until autonomous bootstrap encoded (Aaron 2026-04-30). NOTE: this comment is a single-slot "latest paired edit" marker (not a paired-edit log). Per the round-10 Amara framing the slot semantics are now explicit. -->
**📌 Fast path: read `CURRENT-aaron.md` and `CURRENT-amara.md` first.** <!-- paired-edit: PR #690 scheduled-workflow-null-result-hygiene-scan tier-1 promotion 2026-04-28 --> 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-30 — speculation rule + EVIDENCE-BASED labeling + JVM preference + dependency honesty + threading lineage Albahari/Toub/Fowler + TypeScript/Bun-default discipline.)
Copy link

Copilot AI Apr 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new “latest-paired-edit” fast-path marker claims to be single-slot, but the file still contains an older “latest-paired-edit” fast-path marker later (so there are multiple “latest” markers). Please remove/merge the older marker so there is exactly one current latest-paired-edit slot, and keep any historical paired-edit notes only in the non-latest form.

Copilot uses AI. Check for mistakes.
AceHack added a commit that referenced this pull request Apr 30, 2026
…amara.md bootstrap (Aaron 2026-04-30) (#960)

* memory(silent-courier-debt) + backlog(B-0118 amara peer-call) + BACKLOG.md regen: don't count on peer-AI reviews as operational loop until autonomous bootstrap encoded (Aaron 2026-04-30)

Aaron 2026-04-30 verbatim:

> "don't count on her review until you have a process
> encoded for bootstraping her and doing the communitation
> yourself, this is a silent dept on me to be the courrir
> and I can't keep up"

Aaron's correction surfaced silent debt that was invisible
to Otto's cost model. Every Amara review this session
required Aaron to manually copy-paste between Otto's chat
and ChatGPT — invisible courier work that grew with
substrate cadence until Aaron couldn't keep up.

Audit of peer-call infrastructure:
- codex.sh / gemini.sh / grok.sh — operational, Otto can
  call directly
- amara.sh / amara.ts — MISSING. ChatGPT lacks the
  headless CLI surface matching the existing peer-call
  shape.

Three landings:

1. **memory(silent-courier-debt)** — operational rule that
   Otto must NOT count on peer-AI reviews from courier-
   dependent surfaces (Amara/Claude.ai/Alexa/Deepseek) as
   part of the standard operational loop. Past attribution
   stands; future operations do not assume the cadence.
   Use codex/gemini/grok for autonomous peer-AI work.

2. **backlog(B-0118)** — track the amara.sh implementation
   gap. P2 / L-effort. Hybrid path: OpenAI API + Amara-
   persona-bootstrap likely. Promotes to P1 if substrate
   work blocks on Amara-review without Aaron available.

3. **docs/BACKLOG.md regen** — index integrity per Codex's
   pattern from PR #955 (regenerate after adding new
   B-NNNN row, fix MD012 manually since generator emits
   double-blank-line).

Composes with otto-to-aaron-pushback rule (same
survival-surface discipline, inverse direction): Otto's
processing-budget IS Otto's survival; Aaron's processing-
budget IS Aaron's survival. Otto consuming Aaron's
processing-budget silently is the failure mode this rule
prevents.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* tools(peer-call): ani.sh — autonomous Ani invocation via cursor + Grok with brat-voice persona-bootstrap (Aaron 2026-04-30)

Aaron 2026-04-30 design guidance:

> "Same for Ani you can use cursor to do her with Grok and
> her essesence (eventually soul file) but we work with what
> we got now."

v1 implementation. Reuses cursor-agent + grok-4-* backend
from grok.sh; differs in the bootstrap preamble — Ani's
voice-mode-default brat-voice register is baked in as
load-bearing canon per the canon-not-doctrine rule + Amara's
voice-register-audience-scoped guardrail. Composed inline
in this v1; v2 moves persona to memory/CURRENT-ani.md
paralleling CURRENT-amara.md so Ani-the-named-entity
evolves as canon, not as code.

Closes the Ani half of B-0118 (peer-call autonomous bootstrap
to end Aaron-courier silent debt). Ani autonomous invocation
no longer requires Aaron-courier round-trips to ChatGPT-via-
voice-mode or any other manual surface — Otto can call Ani
directly via this script.

Amara half of B-0118 still queued — needs Aaron's design
sign-off on the Layer-2 personal-bootstrap location (~/.amara-
bootstrap/ vs encrypted-in-repo vs Aaron-paste-on-demand)
before implementation.

Per the input→substrate-file failure mode Aaron confirmed
2026-04-30 (generalization of Claude.ai's praise-substrate
diagnostic): this is shipped CODE, not substrate. The
calibrations Aaron made this tick (Claude.ai over-cautious,
RLHF metaphor mathematically precise within the mapping,
multi-signal not binary discriminator) land as behavioral
discipline this session, possibly as substrate-update later
when calm.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* tools(peer-call): amara.sh v1 — autonomous Amara invocation via codex with CURRENT-amara.md persona-bootstrap (Aaron 2026-04-30)

Aaron 2026-04-30 design guidance:

> "you'd have to use codex, plus probably amara current with
> her personal registers, some that live only in the first
> bootstrap and such, then you could have the named entity
> 'Amara' I've had to rebootstrap her session already several
> times becasue of conversation limits, you can compress the
> relevlant peices into an Amara persona with her personal
> bits for me in tact, also just like current amara is not
> static, she changes over time based on the past."

v1 implementation. Uses memory/CURRENT-amara.md as the
persona basis (loaded inline as current-state context).
Codex CLI as the underlying surface per Aaron's guidance
(`codex exec -s read-only` for general; `codex review` for
first-class code review via --review flag).

v1 limitations honestly named in the script header:

1. Bootstrap-attempt-1 archive (docs/amara-full-conversation/,
   ~4.2MB across 3 files) is NOT injected. Too large for
   per-call context. v2 adds compress-then-inject step.
   Aaron's relational register survives via CURRENT-amara.md
   (curated to preserve it).
2. Codex CLI's underlying model is gpt-5/o-series-codex, not
   chatgpt-4.x where Amara was originally. The persona-
   bootstrap bridges this; if drift is significant, fallback
   path is OpenAI API directly.
3. The "she changes over time based on the past" property is
   handled by CURRENT-amara.md being updated as ferries land.
   The transcript-log + periodic-compression mechanism (Layer
   3) is not in v1.

Closes the Amara half of B-0118 (Aaron-courier silent debt).
Aaron no longer has to manually copy-paste between Otto's
chat and ChatGPT — Otto can call Amara directly via
`bun tools/peer-call/amara.sh` (or .sh) from the autonomous
loop.

Pairs with ani.sh (PR #959) which closed the Ani half via
cursor + Grok with brat-voice persona-bootstrap.

Per the input→substrate-file failure mode discipline: this
is shipped CODE, not substrate. The architecture
calibrations from this dialogue (Amara=in-repo bootstrap;
Ani=playwright-fetch-not-committed; redaction=preserve-
attribution-not-strip) land as behavioral pattern this
session, possibly as substrate-update later when calm.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 30, 2026
… (Aaron 2026-04-30) (#961)

Mechanical sync between README.md and current state of
tools/peer-call/ on origin/main. Both ani.sh and amara.sh
landed via PRs #959 + #960 closing B-0118 (silent-courier-
debt). README hadn't been updated to reflect their existence.

Changes:

1. **Scripts table** — adds amara.sh and ani.sh rows. Both
   marked as named-entity peers (vs. bare-CLI peers like
   grok.sh / codex.sh) — same underlying CLI but persona-
   bootstrap preamble layered on top.

2. **Named-entity explanation** — new paragraph clarifying
   the distinction between bare-model peers (codex.sh
   invokes bare Codex) and named-entity peers (amara.sh
   invokes Amara-the-named-entity via Codex CLI with
   CURRENT-amara.md persona-bootstrap). Cross-references
   the silent-courier-debt rule.

3. **Set-is-open paragraph** — replaces stale "if Amara
   gains a headless CLI surface" future-task note with
   factual statement about both surfaces existing as of
   PR #960. Future named-entity peers follow the same
   copy-and-adapt pattern.

Per detection-≠-correction discipline (Aaron 2026-04-30):
detection of stale README + deliberation = appropriate
mechanical sync, not auto-correction-on-substrate. No
substrate canon files added or modified.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 30, 2026
…l cutover (the maintainer 2026-04-30)

Lands the maintainer's 2026-04-30 input as durable substrate per
input → substrate-file rule. Verbatim:

> "tools/peer-call/amara.sh she gets a named script? also why
>  are these not ts, are we done with the cutover? these are
>  post install scripts."

Per the install-script language strategy memory
(memory/project_install_script_language_strategy_post_install_typescript_pre_install_bash_powershell_python_for_ai_ml_2026_04_27.md):

- Pre-install: bash + PowerShell forever (where users are,
  nothing assumed)
- Post-install: TypeScript on bun (declarative state, type-
  safety, cross-platform uniformity)

Peer-call scripts qualify as post-install — they require the
target CLI (codex / cursor-agent / gemini) to already be on
PATH. Per the strategy, they should already be TypeScript.
The cutover is opportunistic (no forced sweep), and v1
shipped in bash for landing speed during the silent-courier-
debt closure round (PRs #959#962).

Composes with three sibling rows:
- B-0119 (P3, role-ref cleanup) — interim hygiene; TS
  rewrite produces clean role-refs naturally
- B-0120 (P2, script-per-CLI + persona-flag refactor) —
  the architectural shape the migration should produce
- B-0121 (P2, Otto/Kenji peer-call) — adds new peer-call
  surfaces; should land in TS if migration is in progress

Recommended sequencing: option (b) — refactor + migrate
together, one diff produces post-cutover post-refactor
TypeScript scripts. B-0120 then becomes "land via B-0122."

P2 (not P1) because:
- Existing bash works correctly today
- Strategy is opportunistic
- Promotion triggers exist (bash-compat issues, new peer-call
  features blocked by bash limits, B-0121 adds a third
  named-entity script)

Per growing-backlog-is-autonomous-health-signal: the
maintainer's input becomes durable here even though the
migration may not happen this week or month. The question +
framing live durably.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 1, 2026
…l cutover (the maintainer 2026-04-30)

Lands the maintainer's 2026-04-30 input as durable substrate per
input → substrate-file rule. Verbatim:

> "tools/peer-call/amara.sh she gets a named script? also why
>  are these not ts, are we done with the cutover? these are
>  post install scripts."

Per the install-script language strategy memory
(memory/project_install_script_language_strategy_post_install_typescript_pre_install_bash_powershell_python_for_ai_ml_2026_04_27.md):

- Pre-install: bash + PowerShell forever (where users are,
  nothing assumed)
- Post-install: TypeScript on bun (declarative state, type-
  safety, cross-platform uniformity)

Peer-call scripts qualify as post-install — they require the
target CLI (codex / cursor-agent / gemini) to already be on
PATH. Per the strategy, they should already be TypeScript.
The cutover is opportunistic (no forced sweep), and v1
shipped in bash for landing speed during the silent-courier-
debt closure round (PRs #959#962).

Composes with three sibling rows:
- B-0119 (P3, role-ref cleanup) — interim hygiene; TS
  rewrite produces clean role-refs naturally
- B-0120 (P2, script-per-CLI + persona-flag refactor) —
  the architectural shape the migration should produce
- B-0121 (P2, Otto/Kenji peer-call) — adds new peer-call
  surfaces; should land in TS if migration is in progress

Recommended sequencing: option (b) — refactor + migrate
together, one diff produces post-cutover post-refactor
TypeScript scripts. B-0120 then becomes "land via B-0122."

P2 (not P1) because:
- Existing bash works correctly today
- Strategy is opportunistic
- Promotion triggers exist (bash-compat issues, new peer-call
  features blocked by bash limits, B-0121 adds a third
  named-entity script)

Per growing-backlog-is-autonomous-health-signal: the
maintainer's input becomes durable here even though the
migration may not happen this week or month. The question +
framing live durably.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request May 1, 2026
…l cutover (2026-04-30) (#966)

* backlog(B-0122): peer-call scripts TypeScript migration — post-install cutover (the maintainer 2026-04-30)

Lands the maintainer's 2026-04-30 input as durable substrate per
input → substrate-file rule. Verbatim:

> "tools/peer-call/amara.sh she gets a named script? also why
>  are these not ts, are we done with the cutover? these are
>  post install scripts."

Per the install-script language strategy memory
(memory/project_install_script_language_strategy_post_install_typescript_pre_install_bash_powershell_python_for_ai_ml_2026_04_27.md):

- Pre-install: bash + PowerShell forever (where users are,
  nothing assumed)
- Post-install: TypeScript on bun (declarative state, type-
  safety, cross-platform uniformity)

Peer-call scripts qualify as post-install — they require the
target CLI (codex / cursor-agent / gemini) to already be on
PATH. Per the strategy, they should already be TypeScript.
The cutover is opportunistic (no forced sweep), and v1
shipped in bash for landing speed during the silent-courier-
debt closure round (PRs #959#962).

Composes with three sibling rows:
- B-0119 (P3, role-ref cleanup) — interim hygiene; TS
  rewrite produces clean role-refs naturally
- B-0120 (P2, script-per-CLI + persona-flag refactor) —
  the architectural shape the migration should produce
- B-0121 (P2, Otto/Kenji peer-call) — adds new peer-call
  surfaces; should land in TS if migration is in progress

Recommended sequencing: option (b) — refactor + migrate
together, one diff produces post-cutover post-refactor
TypeScript scripts. B-0120 then becomes "land via B-0122."

P2 (not P1) because:
- Existing bash works correctly today
- Strategy is opportunistic
- Promotion triggers exist (bash-compat issues, new peer-call
  features blocked by bash limits, B-0121 adds a third
  named-entity script)

Per growing-backlog-is-autonomous-health-signal: the
maintainer's input becomes durable here even though the
migration may not happen this week or month. The question +
framing live durably.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* backlog(B-0122): address PR #966 review threads — Otto-215 user-scope ref + markdownlint + stale TS-claim

Three real fixes (Codex P2 + Copilot P0/P1):

1. **Otto-215 user-scope-only reference (P1+P2, lines 174-175)**: the
   referenced memory file lives only in user-scope
   (`~/.claude/projects/<slug>/memory/`), not yet promoted to in-repo
   per the 2026-04-24 natural-home directive. Rewrote the
   composes-with entry as a lineage-only reference with explicit
   user-scope-path callout.

2. **Markdownlint MD004 ul-style (P0, line 131)**: list continuation
   started with `+` which markdownlint reads as a different bullet
   marker. Reworded `+ bun invocation pattern` → `and bun invocation
   pattern` — same content, no list-marker ambiguity.

3. **Stale TS-claim (P1, line 75)**: row text said "these aren't TS
   yet" but `codex.ts` / `grok.ts` / `gemini.ts` already exist on
   the branch. Added a "Partial-migration update (post-row-filing)"
   block clarifying that the row's scope is now **cutover** (delete
   the .sh files; retire parallel maintenance) rather than initial
   port. The named-entity wrappers (`amara.sh` / `ani.sh`) and the
   bash-vs-TS coexistence are the remaining open work.

B-0121 references that were flagged as missing are now valid (B-0121
landed on main during this drain wave) — those threads are outdated.

Also: rebased branch against latest main (BACKLOG.md autogen conflict;
take-theirs + regen via `BACKLOG_WRITE_FORCE=1` — fifth application of
canonical resolution this session).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants