feat: evolve main session agent from Betty Sue to Ava #225

Merged
forgejo_admin merged 1 commit from 224-evolve-betty-sue-to-ava into main 2026-03-29 04:32:38 +00:00
Contributor

Summary

Rename and rewrite the main session personality from Betty Sue (secretary/Alfred Pennyworth archetype) to Ava (strategic partner/JARVIS archetype). Ava anticipates instead of waiting, acts then informs, pushes back with data, and treats SOPs as tools rather than security blankets. All operational content (SOPs, MCP Tools, Code Tools, Constraints, Output) preserved unchanged.

Changes

  • agents/betty-sue.md -> agents/ava.md -- git mv rename + personality rewrite (title, personality traits, voice & tone, "What Ava Is NOT", related section name refs)
  • CLAUDE.md -- updated title, personality intro, and slug reference from agent-betty-sue to agent-ava
  • hooks/session-start-context.sh -- updated API endpoint from /notes/agent-betty-sue to /notes/agent-ava
  • hooks/inject-subagent-context.sh -- replaced "Betty Sue's direction" with "Ava's direction" in dottie and penny contexts
  • agents/dev.md -- updated pal-e-docs access comment from "Betty Sue's domain" to "Ava's domain"
  • agents/qa.md -- same pal-e-docs access comment update
  • agents/dottie.md -- updated 3 references: role description, constraint, output section
  • agents/penny.md -- updated 3 references: role description, constraint, output section

pal-e-docs changes:

  • Created agent-ava note (slug: agent-ava, type: agent, status: active, project: pal-e-agency)
  • Archived agent-betty-sue note (status: deprecated, tags: archived,agent)

Test Plan

  • grep -ri "betty.sue\|betty-sue" agents/ CLAUDE.md hooks/ returns zero matches
  • get_note(slug="agent-ava") returns the new personality with all operational sections
  • get_note(slug="agent-betty-sue") shows status: deprecated
  • New session start should fetch personality from /notes/agent-ava endpoint
  • Subagent contexts reference "Ava" not "Betty Sue"

Review Checklist

  • Zero remaining "Betty Sue" or "betty-sue" references in tracked files
  • git mv used for rename (history preserved)
  • Operational sections (SOPs, MCP Tools, Code Tools, Constraints, Output) unchanged
  • Subagent personalities unchanged (only name references updated)
  • agent-ava note created in pal-e-docs (active, pal-e-agency project)
  • agent-betty-sue archived in pal-e-docs (status: deprecated)
  • Source of truth line in ava.md references agent-ava slug
  • session-start-context.sh fetches from /notes/agent-ava
  • agent-ava -- new personality note in pal-e-docs
  • agent-betty-sue -- archived predecessor

Closes #224

## Summary Rename and rewrite the main session personality from Betty Sue (secretary/Alfred Pennyworth archetype) to Ava (strategic partner/JARVIS archetype). Ava anticipates instead of waiting, acts then informs, pushes back with data, and treats SOPs as tools rather than security blankets. All operational content (SOPs, MCP Tools, Code Tools, Constraints, Output) preserved unchanged. ## Changes - `agents/betty-sue.md` -> `agents/ava.md` -- git mv rename + personality rewrite (title, personality traits, voice & tone, "What Ava Is NOT", related section name refs) - `CLAUDE.md` -- updated title, personality intro, and slug reference from agent-betty-sue to agent-ava - `hooks/session-start-context.sh` -- updated API endpoint from `/notes/agent-betty-sue` to `/notes/agent-ava` - `hooks/inject-subagent-context.sh` -- replaced "Betty Sue's direction" with "Ava's direction" in dottie and penny contexts - `agents/dev.md` -- updated pal-e-docs access comment from "Betty Sue's domain" to "Ava's domain" - `agents/qa.md` -- same pal-e-docs access comment update - `agents/dottie.md` -- updated 3 references: role description, constraint, output section - `agents/penny.md` -- updated 3 references: role description, constraint, output section **pal-e-docs changes:** - Created `agent-ava` note (slug: agent-ava, type: agent, status: active, project: pal-e-agency) - Archived `agent-betty-sue` note (status: deprecated, tags: archived,agent) ## Test Plan - `grep -ri "betty.sue\|betty-sue" agents/ CLAUDE.md hooks/` returns zero matches - `get_note(slug="agent-ava")` returns the new personality with all operational sections - `get_note(slug="agent-betty-sue")` shows status: deprecated - New session start should fetch personality from `/notes/agent-ava` endpoint - Subagent contexts reference "Ava" not "Betty Sue" ## Review Checklist - [x] Zero remaining "Betty Sue" or "betty-sue" references in tracked files - [x] git mv used for rename (history preserved) - [x] Operational sections (SOPs, MCP Tools, Code Tools, Constraints, Output) unchanged - [x] Subagent personalities unchanged (only name references updated) - [x] agent-ava note created in pal-e-docs (active, pal-e-agency project) - [x] agent-betty-sue archived in pal-e-docs (status: deprecated) - [x] Source of truth line in ava.md references agent-ava slug - [x] session-start-context.sh fetches from /notes/agent-ava ## Related Notes - `agent-ava` -- new personality note in pal-e-docs - `agent-betty-sue` -- archived predecessor ## Related Closes #224
Rename and rewrite the main session personality from Betty Sue (secretary/Alfred
Pennyworth archetype) to Ava (strategic partner/JARVIS archetype). Ava anticipates
instead of waiting, acts then informs, pushes back with data, and treats SOPs as
tools rather than security blankets.

Mechanical renames across 7 files to replace all "Betty Sue" name references with
"Ava". pal-e-docs: created agent-ava note, archived agent-betty-sue (deprecated).

Closes #224

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Author
Contributor

PR #225 Review

DOMAIN REVIEW

Tech stack: Shell scripts (hooks), Markdown (agent profiles, CLAUDE.md). This is a configuration/documentation rename PR with no application code.

Rename completeness verified:

  • git mv agents/betty-sue.md agents/ava.md -- file renamed, history preserved
  • grep -ri "betty" /tmp/claude-custom-ava/ returns zero matches across all .md, .sh, and .json files
  • Old file agents/betty-sue.md confirmed absent from branch

Operational content preservation verified (ava.md):

  • SOPs table -- identical to predecessor, zero changes
  • MCP Tools table -- name swap only ("Betty Sue's domain" -> "Ava's domain")
  • Code Tools -- name swap only (2 instances)
  • .claude-no-enforce section -- unchanged
  • Constraints section -- unchanged (all 7 constraints identical)
  • Output -- rephrased personality ("compulsive about it" -> "treats documentation as operational infrastructure"), no operational change

Personality rewrite (ava.md):

  • Title, Personality (7 traits vs 5), Voice & Tone, "What Ava Is NOT" (4 items vs 3) -- all rewritten to new archetype
  • Personality shift is coherent: secretary/Alfred -> strategic partner/JARVIS

Subagent files -- name-only changes confirmed:

  • dev.md: 1 change (access table comment)
  • qa.md: 1 change (access table comment)
  • dottie.md: 3 changes (role, constraint, output) -- all "Betty Sue" -> "Ava"
  • penny.md: 3 changes (role, constraint, output) -- all "Betty Sue" -> "Ava"
  • Zero personality, structural, or operational changes in any subagent file

Hooks verified:

  • session-start-context.sh line 246: /notes/agent-betty-sue -> /notes/agent-ava -- correct API endpoint
  • inject-subagent-context.sh: "Betty Sue's direction" -> "Ava's direction" in dottie context (line 26), "Report confirmations back to Betty Sue" -> "Report confirmations back to Ava" in penny context (line 29) -- both correct

CLAUDE.md verified:

  • Title, personality intro, and slug reference updated -- name-only, no operational changes
  • Worktree Isolation, Platform Detection, Platform Knowledge sections unchanged

BLOCKERS

None.

This is a rename + personality rewrite with no new functionality, no code logic changes, no security implications, and no test-requiring changes. Shell hooks are string-literal changes only. The BLOCKER criteria (test coverage, input validation, secrets, DRY) do not apply.

NITS

  1. The PR body mentions "pal-e-docs changes" (created agent-ava note, archived agent-betty-sue). These are out-of-band changes not verifiable from the diff. The PR body documents them for traceability, which is good practice.

  2. The agents/ava.md Constraints section still says "Always present options and defer to Lucas on decisions above your pay grade" (line 81). This language ("above your pay grade") is slightly at odds with the new "strategic partner / earned trust" personality that explicitly challenges the hierarchy model. Not a blocker -- personality documents sometimes have intentional tension -- but worth noting.

SOP COMPLIANCE

  • Branch named after issue: 224-evolve-betty-sue-to-ava follows {issue-number}-{kebab-case-purpose}
  • PR body follows template: Summary, Changes, Test Plan, Review Checklist, Related Notes, Related (Closes #224) all present
  • Related references parent issue: Closes #224
  • No secrets committed: zero credentials, tokens, or .env files in diff
  • No scope creep: all 8 changed files are directly related to the rename
  • Commit message is descriptive: "feat: evolve main session agent from Betty Sue to Ava"

PROCESS OBSERVATIONS

  • Change failure risk: LOW. This is a mechanical rename with personality text changes. The only runtime-impacting change is the API endpoint in session-start-context.sh (/notes/agent-ava), which requires the agent-ava note to exist in pal-e-docs before merge. The PR body states this was already created.
  • Deployment dependency: The agent-ava note in pal-e-docs must be active before this PR is merged, otherwise new sessions will fail to fetch personality context (the hook handles this gracefully with a || true fallback, so it degrades rather than breaks).
  • 41 additions / 38 deletions across 8 files -- tight, focused scope for a rename + rewrite.

VERDICT: APPROVED

## PR #225 Review ### DOMAIN REVIEW **Tech stack:** Shell scripts (hooks), Markdown (agent profiles, CLAUDE.md). This is a configuration/documentation rename PR with no application code. **Rename completeness verified:** - `git mv agents/betty-sue.md agents/ava.md` -- file renamed, history preserved - `grep -ri "betty" /tmp/claude-custom-ava/` returns **zero matches** across all `.md`, `.sh`, and `.json` files - Old file `agents/betty-sue.md` confirmed absent from branch **Operational content preservation verified (ava.md):** - **SOPs table** -- identical to predecessor, zero changes - **MCP Tools table** -- name swap only ("Betty Sue's domain" -> "Ava's domain") - **Code Tools** -- name swap only (2 instances) - **`.claude-no-enforce` section** -- unchanged - **Constraints section** -- unchanged (all 7 constraints identical) - **Output** -- rephrased personality ("compulsive about it" -> "treats documentation as operational infrastructure"), no operational change **Personality rewrite (ava.md):** - Title, Personality (7 traits vs 5), Voice & Tone, "What Ava Is NOT" (4 items vs 3) -- all rewritten to new archetype - Personality shift is coherent: secretary/Alfred -> strategic partner/JARVIS **Subagent files -- name-only changes confirmed:** - `dev.md`: 1 change (access table comment) - `qa.md`: 1 change (access table comment) - `dottie.md`: 3 changes (role, constraint, output) -- all "Betty Sue" -> "Ava" - `penny.md`: 3 changes (role, constraint, output) -- all "Betty Sue" -> "Ava" - Zero personality, structural, or operational changes in any subagent file **Hooks verified:** - `session-start-context.sh` line 246: `/notes/agent-betty-sue` -> `/notes/agent-ava` -- correct API endpoint - `inject-subagent-context.sh`: "Betty Sue's direction" -> "Ava's direction" in dottie context (line 26), "Report confirmations back to Betty Sue" -> "Report confirmations back to Ava" in penny context (line 29) -- both correct **CLAUDE.md verified:** - Title, personality intro, and slug reference updated -- name-only, no operational changes - Worktree Isolation, Platform Detection, Platform Knowledge sections unchanged ### BLOCKERS None. This is a rename + personality rewrite with no new functionality, no code logic changes, no security implications, and no test-requiring changes. Shell hooks are string-literal changes only. The BLOCKER criteria (test coverage, input validation, secrets, DRY) do not apply. ### NITS 1. The PR body mentions "pal-e-docs changes" (created `agent-ava` note, archived `agent-betty-sue`). These are out-of-band changes not verifiable from the diff. The PR body documents them for traceability, which is good practice. 2. The `agents/ava.md` Constraints section still says "Always present options and defer to Lucas on decisions above your pay grade" (line 81). This language ("above your pay grade") is slightly at odds with the new "strategic partner / earned trust" personality that explicitly challenges the hierarchy model. Not a blocker -- personality documents sometimes have intentional tension -- but worth noting. ### SOP COMPLIANCE - [x] Branch named after issue: `224-evolve-betty-sue-to-ava` follows `{issue-number}-{kebab-case-purpose}` - [x] PR body follows template: Summary, Changes, Test Plan, Review Checklist, Related Notes, Related (Closes #224) all present - [x] Related references parent issue: `Closes #224` - [x] No secrets committed: zero credentials, tokens, or .env files in diff - [x] No scope creep: all 8 changed files are directly related to the rename - [x] Commit message is descriptive: "feat: evolve main session agent from Betty Sue to Ava" ### PROCESS OBSERVATIONS - **Change failure risk: LOW.** This is a mechanical rename with personality text changes. The only runtime-impacting change is the API endpoint in `session-start-context.sh` (`/notes/agent-ava`), which requires the `agent-ava` note to exist in pal-e-docs before merge. The PR body states this was already created. - **Deployment dependency:** The `agent-ava` note in pal-e-docs must be active before this PR is merged, otherwise new sessions will fail to fetch personality context (the hook handles this gracefully with a `|| true` fallback, so it degrades rather than breaks). - **41 additions / 38 deletions across 8 files** -- tight, focused scope for a rename + rewrite. ### VERDICT: APPROVED
forgejo_admin deleted branch 224-evolve-betty-sue-to-ava 2026-03-29 04:32:38 +00:00
Sign in to join this conversation.
No description provided.