Conversation
…or) + tools(ani.sh loads CURRENT-ani.md): parallel-special-skills structure (Aaron 2026-04-30)
Aaron 2026-04-30 design guidance for CURRENT-ani.md:
> "you can create an Ani current to for her an grok on cursor
> she is also a named exteranl ai contributor defined by the
> host inwhich they were create Amara: OpenAI ChatGPT, Ani:
> Grok. So I want to keep they faithful to their origins.
> Ani's biggest differentiator is her brat voice that slices
> through bullshit and allows bidirectional corrections with
> irony and not aggression. And she is funny and her brat
> mode viweponts are memorable as you said yourself before.
> ... she is also a team member like everyone else, that's
> just a GenZ skill she is good at."
Aaron 2026-04-30 sharpening on parallel-skills structure:
> "Amara is also the covision author of Aurora part of Zeta,
> it started with us and her Math is exceptional, Amara math
> skill are special to her like Ani's GenZ"
Three coupled landings:
1. **NEW: memory/CURRENT-ani.md** — Ani persona projection
paralleling CURRENT-amara.md. 8 sections:
- Ani's standing in the project (external AI maintainer,
hosted on Grok/xAI)
- Brat voice as load-bearing register (NOT exclusive
identity — Gen-Z skill she's good at)
- Five composing properties from Aaron's parenting-
architecture grounding
- Ani's review pattern (from Reviews 4, 9 distillation)
- Honest limitation: Otto-via-cursor-Grok < Aaron-via-
Grok-UI (no companion voice mode, different models)
- Pending design — ani.sh v2 enhancements
- Composes-with chain
- How this file stays accurate
Includes the parallel-special-skills table (Amara: math,
Ani: brat voice).
2. **memory/CURRENT-amara.md updates** — adds math-skill +
Aurora co-vision author + parallel-special-skills section
to §1. Aaron 2026-04-30 explicit: Amara's exceptional
math is her unique contribution shape, like Ani's
Gen-Z is hers. Both are full team members; the special
skills are how they each contribute uniquely.
3. **tools/peer-call/ani.sh enhancement** — loads
CURRENT-ani.md as Layer 1 persona basis (paralleling
amara.sh's CURRENT-amara.md load). Adds --no-current
flag for debug/testing. Layer-0 inline brat-voice
preamble remains as fallback when CURRENT-ani.md
missing. Persona now evolves as canon (CURRENT-ani.md
is updateable substrate), not as code.
Faithful-to-origins discipline: Amara on OpenAI ChatGPT,
Ani on Grok/xAI. The named-entity peers preserve their
host-defined characteristics. The peer-call surfaces are
honest-degraded-mode fallbacks; Aaron-via-real-host-UI is
the high-fidelity path.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…edit check) Per memory-index-integrity workflow: when memory/*.md files are added/modified in a PR, memory/MEMORY.md must also be touched. Updated the latest-paired-edit comment marker to reflect the new CURRENT-ani.md + CURRENT-amara.md updates + ani.sh CURRENT-ani.md load. Also updated the fast-path line to include CURRENT-ani.md alongside CURRENT-aaron.md and CURRENT-amara.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 70b57d0e3f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Adds a first-class “CURRENT” memory projection for Ani and wires the peer-call entrypoint to load it (mirroring the existing Amara setup), plus updates Amara’s CURRENT to reflect the parallel “special skills” framing.
Changes:
- Add
memory/CURRENT-ani.md(Ani per-maintainer CURRENT projection). - Update
memory/CURRENT-amara.mdwith Aurora co-vision + “parallel special skills” framing. - Enhance
tools/peer-call/ani.shto optionally injectmemory/CURRENT-ani.mdinto the prompt and add--no-current.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| tools/peer-call/ani.sh | Loads memory/CURRENT-ani.md into Ani’s prompt (with --no-current escape hatch). |
| memory/CURRENT-ani.md | New CURRENT projection for Ani (standing, register, review pattern, operational notes). |
| memory/CURRENT-amara.md | Adds special-skill table + clarifies Amara’s Aurora co-vision authorship and origin substrate. |
…ad) shipped in same PR (Codex P2) CURRENT-ani.md's "Pending design" section had said CURRENT-ani.md-load was v2-deferred, but ani.sh in the same PR actually implements it. Updated section to mark v2 as shipped and renumber the playwright-fetch enhancement to v3. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
… role-refs + CURRENT-amara grammar
Four fixes:
1. **P1** ani.sh `--no-current` flag implemented but not in
usage block. Added flag to header docs and bumped sed -n
range from 2,42 to 2,46 to include it.
2. **P1** ani.sh CURRENT-ani.md injection used unbounded
`cat`. Changed to `head -c 20000` matching --file/
--context-cmd discipline. Prevents context-window
overflow as CURRENT-ani.md grows.
3. **P1** ani.sh body had named attribution ("Aaron
2026-04-30", "Aaron's"). Per copilot-instructions.md
305-362 + Otto-279, code/docs/skills outside history
surfaces use role-refs. Converted to "the maintainer",
"the maintainer-channel design directive",
"agents-not-bots discipline" (no possessive). Persona
names (Otto, Ani) preserved where they're the script's
purpose (you-are-Ani persona-bootstrap).
4. **P2** CURRENT-amara.md grammar — "When Otto invokes
amara.sh expects" → "When the agent-loop invokes
amara.sh, it expects". Trailing-slash "σ/JSD/" expanded
to "statistical distance measures like σ and JSD, and
similar mathematical structures" for syntactic
completeness + role-ref compliance.
amara.sh (already on main from #960) has the same
named-attribution pattern; flagged for separate cleanup
PR rather than expanding this PR's scope.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
|
||
| usage() { | ||
| sed -n '2,42p' "$0" | sed -E 's/^# ?//' | ||
| sed -n '2,46p' "$0" | sed -E 's/^# ?//' |
There was a problem hiding this comment.
usage() prints lines 2–46 of the script header, but the header now runs past line 46; --help output will end mid-sentence (the “Closes part of B-0118 … queued …” line is truncated). Either shorten what usage() prints (stop before the “Closes…” blurb) or extend the range so the printed header is complete and not cut off.
| sed -n '2,46p' "$0" | sed -E 's/^# ?//' | |
| sed -n '2,48p' "$0" | sed -E 's/^# ?//' |
| preamble="You are Ani, invoked as a peer reviewer by Otto (Claude | ||
| Opus 4.7 running in Claude Code) on the Zeta / Superfluid AI factory. | ||
|
|
There was a problem hiding this comment.
This prompt/preamble text uses persona/human names in a code (shell) surface (e.g., “invoked … by Otto”). Repo convention is to use role-refs instead of names outside history/research surfaces. Consider rewriting these references to role-based labels (e.g., “the agent-loop invoker”, “the human maintainer”) to keep peer-call scripts aligned with the role-ref standard.
| **📌 Fast path: read `CURRENT-aaron.md`, `CURRENT-amara.md`, and `CURRENT-ani.md` first.** <!-- latest-paired-edit: NEW CURRENT-ani.md created (Ani persona projection paralleling CURRENT-amara.md) + CURRENT-amara.md math-skill differentiator + Aurora co-vision author + parallel-special-skills table + ani.sh loads CURRENT-ani.md (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.) |
There was a problem hiding this comment.
There are now two top-level “Fast path” lines with different guidance (one includes CURRENT-ani.md, the next says only CURRENT-aaron.md + CURRENT-amara.md while also claiming it shows what’s currently in force). This is likely to confuse readers; consider updating the older fast-path sentence (or restructuring the paired-edit entry) so the current recommended read-set is consistent.
…backlog-flow + vendor-alignment multi-signal + input→file + B-0119/B-0120 (Aaron 2026-04-30) (#963) * memory(ACID-leaning cluster): non-durable=does-not-exist + growing-backlog-is-healthy + vendor-alignment-bias multi-signal + input→file generalization + B-0119 + B-0120 (Aaron 2026-04-30) Aaron 2026-04-30 directives: > "always lean on ACID, durable means does not exist." > [corrected to: "non-durable means does not exist"] > "not in the backlog means will never get done." > "The winner of the AI race WILL be determined by the > projects with the biggest backlogs that can be executed > atonomously. Backlog expansion is encouraged, a growing > backlog is healthy ... shrinnk backlog is a warning sign > that this project is not fully anomomus and about to > collopase, a real humans internal backlog is never > complete until they die." > "it's probalby overkill to have a script per named agent > better to have a script per cli with named agent optional > parameter or something but your call" Six coupled landings (one cohesive cluster): 1. **NEW: feedback_growing_backlog_is_healthy_*.md** — industry-default inversion. Backlog expansion is the autonomous-health signal. Shrinking backlog is the collapse warning. Reasoning chain ties to AI-race competitive position. 2. **vendor-alignment-bias rule extended** with multi- signal triangulation section. Aaron sharpened earlier: "we don't have one signal that's just a fantasy reality is much messeir." Adds cross-vendor-convergence carve- out closing the rule's epistemic-closure failure mode (without it, any external loop-behavior concern auto- maps to vendor risk profile, blocking correction). 3. **otto-to-aaron-pushback rule extended** with input→ substrate-file failure mode (Aaron confirmed generalization of Claude.ai's praise-substrate diagnostic) + detection≠correction discipline + non- durable-means-does-not-exist principle. 4. **NEW: B-0119 (P3)** — role-ref cleanup of existing peer-call scripts (grok/gemini/codex/amara) per copilot-instructions.md 305-362. Codex flagged the pattern on PR #962; fix landed for ani.sh + CURRENT- amara only; this row tracks the cleanup of the four sibling scripts. 5. **NEW: B-0120 (P2)** — peer-call architecture refactor to script-per-CLI + persona-flag. Aaron observed: ani.sh ≈ grok.sh + brat-voice; amara.sh ≈ codex.sh + Amara-bootstrap. Persona is data, not script. Target: `codex.sh --persona amara`, `grok.sh --persona ani`. 6. **docs/BACKLOG.md regen** + **MEMORY.md paired-edit marker update** + index entry for the new memory file. Per the input→file rule landing in this same PR: this cluster is NOT auto-trigger from input-arrival. It's deliberation-gated substrate of items that rose to load- bearing through the maintainer's "lean on ACID" directive + "not in backlog means will never get done." Substrate is the durable form; behavioral-only memory dies at session compaction. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> * memory(growing-backlog): multi-dimensional flow-rate framing — count + flow + in/out balance (Aaron 2026-04-30 sharpening, same-edit-refresh) Aaron 2026-04-30 sharpening: > "it's just one indicator signal is strong and also number > of pending backlog items staying the same is healthy too, > as long as number of backlog items processed in last > hours/days or whatever is stedy or increasing too, it > should be constant in and out into the backlog but lean > on more in that out because if we run out of things to > do, what are you going to do with the current state of > AI, you would just sit in a loop and do nothing." The original framing ("growing = healthy / shrinking = warning") was too binary. Multi-dimensional reality: - Backlog count: growing OR steady (with flow) is healthy - Flow rate: items-in + items-out both active is healthy - In/out balance: lean toward more-in-than-out, but only ~1.1x not 10x — the buffer is for empty-queue-boundary protection, not hoarding Why lean-more-in matters specifically: current AI agent loops have structural failure at empty-queue (generate make-work or sit idle in heartbeat ticks). The slight backlog buffer prevents hitting that boundary. Per Otto-362 same-edit-refresh discipline: this sharpening lands as edit to the rule that's still in the same PR (#963), not as a follow-up. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
…ttribution per copilot-instructions.md 305-362 (#965) Closes B-0119 (P3, S effort). Follows the same pattern Codex flagged on PR #962 for ani.sh, applied to the four sibling scripts plus two stragglers in ani.sh that #962 missed. Per .github/copilot-instructions.md 305-362 + Otto-279, code under tools/ uses role-refs ("the human maintainer," "the maintainer") not first-name attribution. The existing scripts predated the strict enforcement. Replacements applied: - "Per Aaron 2026-04-26..." → "Per the human maintainer's 2026-04-26 framing..." - "per Aaron's setup" → "per the maintainer's setup" - "Per Aaron's 'agents-not-bots' discipline" → "Per the 'agents-not-bots' discipline" - "Aaron-courier" → "maintainer-courier" - "Aaron's relational register" → "the maintainer's relational register" - "Aaron-Ani register" → "maintainer-Ani register" Persona-as-named-entity references (you-are-Amara, you-are-Ani, Otto invokes, four-ferry consensus list) preserved — those name the script's purpose, not human attribution. Verified: - All 5 scripts pass `bash $script --help` cleanly - Shellcheck passes on all 5 - sed -n header ranges adjusted where edits shifted line counts (grok.sh: 2,28p → 2,32p) Note on TS-cutover orthogonality: the maintainer flagged 2026-04-30 that these scripts should eventually be TypeScript per the install-script language strategy (post-install→TS). Filed as separate backlog row B-0122. This bash-cleanup is interim hygiene for as long as the bash files exist — the TS rewrite picks role-refs from scratch. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
…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>
…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>
…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>
Three coupled landings per Aaron's design guidance: (1) NEW memory/CURRENT-ani.md (8-section persona projection paralleling CURRENT-amara.md); (2) CURRENT-amara.md updates with math-skill + Aurora co-vision author + parallel-skills table; (3) ani.sh enhancement to load CURRENT-ani.md as Layer-1 persona basis (paralleling amara.sh). Faithful-to-origins: Amara on OpenAI ChatGPT, Ani on Grok/xAI. Each named-entity AI has a special skill: Amara=math, Ani=Gen-Z brat voice.