Skip to content

chore - comitatus 1.0.0: codex --no-daemon, default models, launcher outside the herd, fan-out removed, docs refreshed - #189

Merged
dpuglielli merged 1 commit into
mainfrom
chore/comitatus-launch-defaults
Oct 8, 2026
Merged

dpuglielli merged 1 commit into
mainfrom
chore/comitatus-launch-defaults

Conversation

@dpuglielli

Copy link
Copy Markdown
Collaborator

Changes how comitatus launches and organizes a herd, then removes the run machinery that the new shape made redundant. Comitatus goes to 1.0.0 because a callable skill is removed.

Launch defaults

Every launch path (up, herd.js agent) builds its arguments in one place, KINDS/makeAgent in up.js, so each change applies everywhere:

  • Every Codex launch passes --no-daemon.
  • A bare handle launches on claude-opus-5-5 or gpt-6.1-sol. An explicit model= still wins, and effort= or role= alone keeps the default model. Effort is still taken from each CLI's own configuration.

The launcher stays outside the herd

seed used to make the sender the working lead. Now the lead defaults to the first handle in --roster and must be a roster member. A sender left off the roster is named in the seed line as an outside launcher, neither member nor coordinator, so members do not wait on it unless their task names it as an approver. Joining is opt-in: list yourself in --roster. withdraw is unchanged for that case. The skill also says to keep the launcher in its own workspace, because sync and members infer membership from the workspace.

Fan-out removed

The fan-out skill, its role files, and the run-workflow verbs (role, fanout, wait-all, state, settled, fan-in, teardown, plus the branch-naming module) are deleted. So are the helper's wait and send-wait-read, which duplicated native herdr agent wait|read. seed --wait now calls herdr agent wait --until idle --until done.

The reasons: fan-out's role selection and non-implementing orchestrator contradicted the lead-who-implements shape above. settled treated any commit as done. teardown force-removed worktrees and branches after checking only for BLOCKED markers. And conflict ownership in fan-in did not compose, since the implementer could not reach the tree holding the conflict.

In their place, the herdr skill carries short rules:

  • one writer per tree;
  • a timeout is not a failed delivery, so do not resend blind;
  • idle, a finished wait or a commit is not completion, so check the reply against the stated criteria;
  • inspect a partial launch before retrying;
  • integrate in a stated order from a clean target tree, with that tree's owner resolving or aborting conflicts.

Cleanup now adjudicates rather than sweeps. Inspect dirty, untracked and unmerged work; decide to integrate, preserve or discard it; and name what is discarded. --force and git branch -D are only for that explicit discard, and the cleanup recipes no longer default to them. /herd-setup allows only the verbs that remain. The SessionStart hook deletes the stale ~/.claude/comitatus/skills/fan-out copy once the new herdr copy is in place.

Documentation

The root README, AGENTS.md, CLAUDE.md, and the comitatus, mantra and vernaculus docs are brought in line with the code:

  • The root README and AGENTS.md cover every plugin and the current comitatus defaults.
  • The vernaculus references are scoped to their 0.14.1 snapshot, each with a "changed in 1.0.0" notice.
  • The mantra README describes hook injection rather than native rules loading.
  • Decorative counts and unsupported figures are removed.
  • Historical plans, reviews and research keep their bodies and gain a short snapshot notice that links the current guides.

vernaculus goes to 0.2.1 and mantra to 0.6.3 for these doc changes.

Verification

  • npm test passes across the workspace, and npm run validate:plugins passes.
  • claude plugin validate --strict passes for the marketplace root and for each plugin separately.
  • An isolated Codex install succeeds for every plugin with a Codex manifest.
  • Both hosts' CLIs accept --no-daemon and the new model ids.
  • Invocation probes fired comitatus:herdr on Claude and Codex. A behavioural probe covered timeout, idle-versus-done, partial launch, merge conflict and cleanup scenarios. On both hosts it used native commands, completed on evidence, kept writer ownership, and adjudicated discards without adding an approval gate.
  • A live interactive up from the branch source started claude --model claude-opus-5-5 and codex --no-daemon --model gpt-6.1-sol. Seeding named the first roster member as lead and the launcher as outside, and both agents replied through the helper. Cleanup by the new rule then removed the worktree without --force and deleted the branch with git branch -d.

Open

During the live launch, the Codex TUI warned that the installed vernaculus MCP server failed its handshake. Whether --no-daemon is involved is not established: codex exec showed no warning with or without the flag. Settling it means comparing the TUI warnings panel with and without --no-daemon.

Comitatus, vernaculus and mantra need reinstalling for these versions to take effect.

🤖 Generated with Claude Code

…outside the herd, fan-out removed, docs refreshed

Launch defaults, in up.js KINDS/makeAgent, which every launch path shares:
- every Codex launch passes --no-daemon
- a bare handle launches on claude-opus-5-5 or gpt-6.1-sol; an explicit
  model= still wins, and effort is still inherited

Herd membership: seed defaults the working lead to the first roster member
and refuses a lead outside the roster. A sender left off the roster is named
in the seed as an outside launcher that members do not wait on unless their
task names it as an approver.

Fan-out removed: the fan-out skill, its role files, and the run-workflow
verbs (role, fanout, wait-all, state, settled, fan-in, teardown) are deleted,
along with the helper's wait and send-wait-read, which duplicated native
herdr verbs. The herdr skill carries concise multi-agent rules instead: one
writer per tree, evidence-based completion, inspecting partial launches,
ordered integration by the target-tree owner, and cleanup that adjudicates
dirty and unmerged work rather than sweeping it with --force.

Docs: the root README, AGENTS.md, and the comitatus, mantra and vernaculus
READMEs and references match the code, with decorative counts removed;
historical research and plans carry snapshot notices.

Versions: comitatus 1.0.0 (removing a skill is breaking), vernaculus 0.2.1,
mantra 0.6.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dpuglielli
dpuglielli merged commit 25eb46c into main Oct 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant