Skip to content

Restore shared constitution article installation - #33

Open
darlingm wants to merge 1 commit into
unclebob:mainfrom
darlingm:fix/restore-shared-constitution-installation
Open

darlingm wants to merge 1 commit into
unclebob:mainfrom
darlingm:fix/restore-shared-constitution-installation

Conversation

@darlingm

Copy link
Copy Markdown

Summary

  • Port the shared constitution installer omitted from the Babashka launcher.
  • Install missing shared articles in the project before configuration is parsed.
  • Install missing project and shared articles in role worktrees during runtime synchronization.
  • Preserve the original no-overwrite behavior and source ordering.
  • Add regression coverage for the project and role-worktree paths.

This behavior was added to the shell launcher in 27b7e83. The function and both call sites disappeared during the larger Babashka port in 9afcb6f, while the pack bootstrap and README continued to expect it.

Fixes #32.

Test plan

  • bb test — 25 tests, 97 assertions, 0 failures, 0 errors

Port the installer omitted from the Babashka launcher. Install missing shared and project articles in the project and role worktrees without overwriting existing target articles, and add regression coverage for both paths.

Fixes unclebob#32.

Co-authored-by: GPT-5.6-sol (high) via Codex <noreply@openai.com>
@sbernholtz

Copy link
Copy Markdown

hi @unclebob,
+1 on the issue and suggested fix

also, thanks for sharing the swarm forge "agentic orchestration platform", very valuable insights!

@sbernholtz

Copy link
Copy Markdown

I independently reproduced this with the six-pack configuration reduced to one specifier agent.

After running ./swarm:

  • swarmforge/scripts/shared-articles/ contained engineering.prompt, handoffs.prompt, and workflow.prompt.
  • swarmforge/constitution/articles/ still contained only the three local articles.
  • Startup otherwise completed successfully, including the tmux session, handoff daemon, and runtime state.

The live agent initially read only constitution/articles/*.prompt. It discovered shared-articles/handoffs.prompt later only because specifier.prompt mentioned the undefined “file-based handoff format” and the agent
searched for its definition. It then read the remaining shared articles voluntarily.

The agent explicitly confirmed:

The constitution explicitly required only constitution/articles/; it did not include every shared article.

This means the defect can be masked by incidental model exploration, but shared instructions are not reliably loaded. PR #33 restores the documented deterministic behavior.

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.

Babashka launcher no longer installs shared constitution articles

2 participants