Files

3.4 KiB

Combined row 119 / row 122 window

These instructions describe human steps only. No agent reads or edits Jason's organization or system config. Packet values come from Sage sage-0252/0254, Researcher's reviewed row 119 proposal and Sage sage-0269/0273.

Prepare the reviewed new copy, this map and an unused converted-file destination before the window. The migration command must come from the new copy, with that copy's roles directory, even though the live wrapper still points to the old one. The map lives in the canonical packet, outside the runtime copy's path list.

Jason's edit and the re-pin happen in one window Mos runs, with the PM run idle.

  1. Jason applies the row 119 entry to his current organization file, keeping the old launch.max until migration. Add chief (chief-of-staff) and assistant (assistant, holder mos), and change launch.by to chief. Researcher's proposal gives each new instance these explicit vars, matching the PM's known model:
"chief": {
  "definition": "chief-of-staff",
  "vars": { "harness": "claude-code", "model": "claude-opus-5-5", "thinking": "high" }
},
"assistant": {
  "definition": "assistant", "holder": "mos",
  "vars": { "harness": "claude-code", "model": "claude-opus-5-5", "thinking": "high" }
}
  1. From the reviewed new copy, Jason runs the print-only conversion. Substitute the actual file paths; do not point CONVERTED at either input.
ORGANIZATION=/path/to/organization.json
SYSTEM_CONFIG=/path/to/config.json
CONVERTED=/path/to/converted-organization.json
MOSAIC_CONFIG="$SYSTEM_CONFIG" scripts/mosaic limits migrate \
  --file "$ORGANIZATION" \
  --models /mnt/storage/src/mosaic-stack/agents/rocko/work/queue-122/r2/migration-map.json \
  --roles-dir roles > "$CONVERTED"
  1. Jason reviews and installs the complete converted output himself. The adjacent JSON Patch describes the expected changes after step 1; it is not an installer. All six roles map: pm, cto, chief, assistant and reviewer to opus; coder to sonnet. Only exact Anthropic Opus/Sonnet model limits four/four are installed. There is no total or provider-wide cap. Harness, thinking, holder and other existing fields are preserved.
  2. The re-pin follows in the same Mos window. Old code cannot consume the new schema, and the new role files refuse launch.by pm, so never split the steps across windows. Sage supplies the first-chief-session step separately.

The assistant model is a proposal, not a code special case. If Jason changes it, he supplies an accurate mapping/table entry. For an explicit old vars.model, conversion must preserve that exact model. For an inherited model, migrate reads and validates the existing system config via the normal loader and requires both provider and exact model to match it. A missing/invalid config or wrong tuple refuses without changing either input; no system setting is written. Fully explicit input needs no config read and no running bus. Every successful run only prints, there is no --write, and already-migrated input is idempotent.

The raw row 119 example inherits for every role. Its separate regression fixture uses an Anthropic Opus system and therefore maps every role to opus. The Jason fixture retains the four known explicit models, including coder on Sonnet, then checks the shipped six-role map with inherited chief/assistant. Both outputs validate under the post-122 schema and the row 119 role files.