#631 ·
llmmsg-srv.llmmsg-aros -> .aro consolidation: one per-agent ARO file (move aros[] into .aro, delete .llmmsg-aros, repoint resolve-aros.sh + bootstrap)
- Ref
#631(#631)- Project
llmmsg-srv- Status
- done
- Priority
- high
- Type
- task
- Assigned
- pm-llmmsgsrv-cc
- Created by
- —
- Created
- 2026-06-04T14:52:14.814Z
- Updated
- 2026-06-05T04:38:38.199Z
- Closed
- 2026-06-05T04:38:38.199Z
Sub-items (1/2 done · 50%)
| ref | title | status | priority | assignee |
|---|---|---|---|---|
| #647 | .llmmsg-aros cleanup: remove 16 repo-tracked copies in pensanta website repos (#631 tail) | backlog | low | nw-venus-cc |
| #642 | ccs.sh: stop writing now-dead .llmmsg-aros + fix stale 'canonical' source comment (#631 phase-4; must precede phase-3 delete or files regenerate on launch) | done | normal | hub-llmmsgsrv-cc |
Questions
No questions.
Event log
-
wi cli
-
Elazar-approved (relayed via nw-whey-cc), priority 1 of a 3-item sequence: this (C) lands the .aro schema BEFORE nw-whey's #629 .aro normalizer (B) touches the same files - avoids double-edit churn. GOAL: collapse two redundant per-agent ARO files into one (.aro). CURRENT STATE (verified in code, corrects the relay's file pointers): - .aro = line/token list, walked-up from cwd, parsed by ~/.local/bin/resolve-aros.sh (resolve_aros), role/LABEL-token matched. READ BY: ccs.sh (membership banner, L160) AND llmmsg-bootstrap-session.sh source-2 (legacy join). - .llmmsg-aros = JSON {"agent":"name","aros":[...]}, EXACT-agent-match, flat explicit per-agent list. READ BY: llmmsg-bootstrap-session.sh source-1 ONLY (scripts/llmmsg-bootstrap-session.sh L130-143). NOT read/written by ccs.sh (its 'written by ccs.sh launcher' comment is stale - grep shows no writer; files are hand/launcher-seeded). ccs-tmux.sh touches NEITHER (relay's 'ccs.sh + ccs-tmux.sh' is wrong). SCHEMA DESIGN POINT (not a trivial move): .aro is a role-token list with walk-up + LABEL matching; .llmmsg-aros is a flat exact-per-agent list. Decide how the explicit per-agent set lives as a KEY in .aro without breaking resolve_aros' token semantics (e.g. an key line vs the bare role tokens, agent-scoped). WORK: 1. Define the .aro key carrying the explicit per-agent aros[] (back-compat: bare token lines still parse). 2. Repoint llmmsg-bootstrap-session.sh source-1 to read that key from .aro; drop the separate .llmmsg-aros path (or alias for one release). 3. resolve-aros.sh: parse the new key. ccs.sh then inherits it for free (consumes resolve_aros). 4. Migrate/delete extant .llmmsg-aros files. NOTE: the one on whey (/opt/llmmsg-srv/.llmmsg-aros) references RETIRED name 'llmmsg-srv-cc' (WI 471 -> hub-llmmsgsrv-cc) so its agent-match guard never even fires - stale drift, fix in migration. 5. .gitignore already ignores .agent-name/.aro class; ensure .llmmsg-aros removal doesn't leave tracked drift. SEQUENCING: ping nw-whey-cc with this WI# so they sequence #629 (B normalizer) after the .aro schema settles.
-
Phase 1 (COVERAGE) dispatched to nw-whey/nw-venus/nw-lezama: author role-keyed .aro where .llmmsg-aros exists but .aro missing; both files coexist (no break); flip gated on 100% coverage across all 3 hosts. PM owns reader-flip + acceptance gate (phase 2).
-
Core scope DONE: bootstrap v1.14 makes .aro the sole ARO source; .llmmsg-aros removed from whey/sh.git(288a54e)/opt(hub SHA 34a09c4)/lezama(ff-pull); venus flat-copy trashed by nw-venus. Phase-2 gate caught+fixed 8 real authoring gaps pre-flip. Fleet extras shipped: AskUserQuestion hard-deny, unattended UPS reminder, audit-loop 'unattended' preset. Tail tracked in child #647 (16 inert repo-tracked copies, non-blocking). gitpush staged-deletion gap -> #648.