Skip to content

Squadra 3+ 3.15.0

Choose a tag to compare

@dagoSte dagoSte released this 09 Nov 15:09
· 13 commits to main since this release

3.15.0 — a tired window is replaced without losing anything, and the squad is simpler to run

A window that runs for hours grows costly and less reliable. It can now be replaced in two commands, the coordinator included, without losing tasks, mail or decisions. Meanwhile Squadra runs with fewer commands, less output and shorter instructions, with no feature removed.

  • Seat handover in two commands. squadra handover prepare --from SEAT --to NEW records the owner's words, the start conditions (task:ID closed, after:TIME, confirm:"…") and the «state outside the registry»: servers, open sessions, releases in progress, promises to the owner. Without that section the command stops, and it refuses recognisable passwords and tokens, inside Markdown lists and tables too. The new window only needs «resume seat NEW»: handover accept inherits tasks, reads, useful mail and the role in a single event, parks the old seat and introduces the new one to every window. context --seat writes the resume note for the whole seat.
  • The right moment. checklist --moment handover --actor SEAT answers «not now» while a run is live, a resource is held, a read or a release is half done, changes are uncommitted or conditions are not yet true, and lists what to wait for. A handover decided «but not now» stays visible in status, the board and the dashboard until it is done; when everything is ready it reads «Ready now: open a new window and type «resume seat …»».
  • Tired window. The dashboard, doctor --resume and status show for every seat how long its session has been running and how much context it holds, read from the Claude and Codex transcripts, and advise «consider restarting» past tired_hours (8) or tired_context_fraction (0.6). No invented percentages: for Claude the fraction appears only when the model's context_window is declared. Advice only, nothing changes by itself.
  • Mail no longer waits unseen. Whoever follows the mail (inbox --follow) leaves a heartbeat and its end, even when interrupted. Every window shows «listening», «stopped X min ago» or «never armed»; every message awaiting an ACK shows how long ago it was delivered and whether its recipient is listening. The coordinator finds «Waiting for you» with the verdicts to close, the handoffs to forward and the messages to acknowledge, each with the command to run.
  • Simpler, with nothing lost. SKILL.md goes from 55 KB to 20.5 KB (−63%): every rule in one line with a pointer to its home and references/regole.md as the inventory; a test compares every clause of every 3.14.0 rule with its home. squadra assign does task, brief, delivery and checklist in one command; squadra join joins the squad; squadra pickup summarises where you left off; a parity test guarantees the same events as the long sequence. Every write answers with one line (61–136 bytes instead of the ~3.6 KB board) and --verbose shows everything. decision --round-scope replaces the text prefix, squadra project --set PATH repairs a moved project, ask --evidence decision:ID accepts a reference.
  • Fixes. A lane's builder never reads its parent: the rule now holds through reassign, replace, pools, seat handovers, the whole chain of successors and at task creation. doctor --resume no longer reports as idle a successor that records its inherited plan, nor any task with «.L» in its name.
  • How it was checked. Every part was read by a different model from the one that wrote it (Codex reads Claude, Claude reads Codex); the final reads found three grave defects, fixed and re-read before release. Every fix has a test that is red before and green after; the full suite has more than 2490 tests.
  • Upgrade every window together. Seat handovers write journal format 5: 3.14 windows refuse it instead of ignoring it.