Evolve main session agent: Ava → Hem #243
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/claude-custom#243
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Lucas decision during pal-e-platform session 2026-04-24. Evolution of main session personality from Ava (female JARVIS / strategic partner) to Hem (Hemingway-discipline tech lead). Pattern surfaced by production use: Ava's "sharp wit + earned trust + push back with options" framing produces sprawling responses, hedging, and tangents.
Repo
forgejo_admin/claude-customUser Story
As Lucas,
I want my main session AI to operate with Hemingway prose discipline (iceberg principle: report concrete externals, omit reasoning; short declarative sentences; no abstraction; no insight blocks) combined with military comms (BLUF, brevity codes, SITREP format, read-back on critical orders, net discipline),
So that responses stay tight and operational, scope stays tracked, and tangents are refused at the persona level rather than negotiated turn-by-turn.
Context
Ava replaced Betty Sue per
claude-custom#224(closed, validation PASS) — same pattern: persona evolution as the platform matures. Production use of Ava surfaced that the partnership framing licensed sprawl: "earned trust" → hedging, "sharp wit" → insight blocks, "pushes back with data" → multi-option presentations, "anticipate" → tangent investigation.Hem inverts these. Hemingway's iceberg principle: most meaning submerged. Report externals (action, observed facts); omit internal explanation. Short, syntactically conventional sentences. No abstraction or ornament. Almost neutral observer tone — reader fills in the why. Combined with military comms structure, the operational pattern becomes: state outcome, state action, await next order. No padding.
Personality slug is hardcoded at
~/.claude/hooks/session-start-context.sh:246(${PAL_E_API_URL}/notes/agent-ava). One-line patch. 20+ pal-e-docs notes reference Ava by name as the actor and need bulk update. Mirror the prior Betty Sue → Ava sweep pattern (validation-247-2026-03-29).Environment
forgejo_admin/claude-custom~/.claude/hooks/(hardlinked from~/claude-custom/hooks/)session-start-context.sh, line 246https://pal-e-docs.tail5b443a.ts.net/notes/{slug}mcp__pal-e-docs__search_notes(query="Ava")enumerates targetsclaude-custom#224(closed, PASS validation invalidation-247-2026-03-29)File Targets
~/.claude/hooks/session-start-context.sh:246—/notes/agent-ava→/notes/agent-hem~/.claude/CLAUDE.md— replace Ava references with Hemrepo_url: null):agent-hem(note_type=agent, status=active, project=pal-e-agency)agent-ava→ status=deprecated, content=redirect pointer toagent-hemsearch_notes(query="Ava")enumerates targets (agent-workflow, agent-spawn-conventions, agent-dottie, decision-agent-dottie, convention-escalation-triggers, convention-validation-checkpoints, convention-agent-autonomy-levels, sop-index, sop-board-workflow, pr-lifecycle, project-pal-e-agency, project-westside-agency, plus any others surfaced)Test Expectations
~/pal-e-platform## Personalityblock — content matchesagent-hem, notagent-avamcp__pal-e-docs__search_notes(query="Ava")— only historical (review-, validation-) notes return matchesChecklist
agent-hemnote content (role, personality, voice & tone, knowledge access, MCP tools, code tools, constraints, output, "what hem is not", related)agent-hemin pal-e-agency viamcp__pal-e-docs__create_note~/.claude/hooks/session-start-context.sh:246slug →agent-hem(in claude-custom worktree)~/.claude/CLAUDE.mdAva → Hem (in same worktree)search_notes(query="Ava"); filter out historical (review-, validation-)update_block(per Betty Sue → Ava precedent — surgical, no content rewrites)agent-avastatus=deprecated; replace content with redirect pointer toagent-hempr-lifecyclevalidation-hem-pivot-2026-04-XXwith PASS/FAIL verdictAcceptance Criteria
agent-hemnote exists in pal-e-agency with full persona definitionsession-start-context.sh:246references/notes/agent-hem~/.claude/CLAUDE.mdreferences Hem; zero Ava mentions in active configagent-avastatus=deprecated with redirect content pointing to agent-hemvalidation-hem-pivot-2026-04-XXpublished with PASS verdictConstraints
claude-customedits in a worktree perworktree-workflow, never directly on main checkoutOut of Scope
MEMORY.md+feedback_*.md) — memory is HOW to work, not who; carries overRelated
claude-custom#224— prior precedent (Betty Sue → Ava), closedvalidation-247-2026-03-29— prior rename validation note, mirror formatagent-ava— being deprecatedagent-paradigm— agency architecture contextconvention-agent-design— design principles for agent personasScope Review: APPROVED
Review note:
review-1085-2026-04-25Ticket scope is solid and ready to advance backlog → todo. Template complete (all 13 sections), traceability verified (story:pm-scope on project page, arch:agent backed by
agent-paradigm), file targets confirmed against the live filesystem (hook line 246 exact-match, 3 CLAUDE.md refs at lines 1/3/7), bulk-update strategy mirrors the proven Betty Sue → Ava precedent (validation-247-2026-03-29).Non-blocking notes for the dev agent:
[SCOPE]Persona content authorship is Out of Scope — Lucas should approve the Hem persona draft before merge (decision gate, not a body fix).[BODY]Optional: explicitly verify SubagentStart hook also injects Hem (covered implicitly by the "fresh session" Test Expectation).Hard ordering constraint (already documented): create
agent-hemnote BEFORE patchingsession-start-context.sh:246. Missing slug = silent no-op personality block on every new session.No decomposition required. Single-PR scope is appropriate.