role-os 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "role-os",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "Role OS — a multi-Claude operating system where 61 specialized roles execute work through contracts, conflict detection, escalation, and structured evidence. 10 team packs, 9 missions including dogfood swarm (multi-pass convergence), deep audit with manifest-scaled dynamic dispatch, and brainstorm with traceable disagreement.",
5
5
  "homepage": "https://mcp-tool-shop-org.github.io/role-os/",
6
6
  "bugs": {
@@ -205,7 +205,7 @@ function buildDynamicSteps(mission, manifest) {
205
205
  function buildSwarmSteps(mission, manifest) {
206
206
  const steps = [];
207
207
  const domains = manifest.domains || [];
208
- const stages = manifest.stages || ["health-a", "health-b", "health-c", "feature"];
208
+ const stages = manifest.stages || ["health-a", "health-b", "health-c", "feature", "treatment"];
209
209
  const waveLoops = mission.waveLoops || [];
210
210
 
211
211
  // For each stage, create domain agent steps + coordinator gate
package/src/mission.mjs CHANGED
@@ -331,9 +331,9 @@ export const MISSIONS = {
331
331
  // ── Dogfood Swarm (Multi-Pass Health + Feature Convergence) ─────────────────
332
332
  "dogfood-swarm": {
333
333
  name: "Dogfood Swarm",
334
- description: "Three-stage health pass (bug/security → proactive → humanization) then iterative feature pass with exclusive file ownership, build gates, and user checkpoints. Moves a repo from 'works' to 'production-ready.' Domain agent count scales with repo structure.",
334
+ description: "Three-stage health pass (bug/security → proactive → humanization), iterative feature pass, final synthesis, then Full Treatment (shipcheck, branding, handbook, repo-knowledge). Moves a repo from 'works' to 'whole.' Domain agent count scales with repo structure.",
335
335
  pack: "swarm",
336
- entryPath: "Generate swarm manifest → Save-point tag → Health-A wave (5 agents parallel, loop until 0 CRITICAL+HIGH) → Health-B wave (proactive, user review) → Health-C wave (humanization, loop) → Feature wave (user approval gate, loop) → Synthesizer → Critic verdict",
336
+ entryPath: "Generate swarm manifest → Save-point tag → Health-A wave (5 agents parallel, loop until 0 CRITICAL+HIGH) → Health-B wave (proactive, user review) → Health-C wave (humanization, loop) → Feature wave (user approval gate, loop) → Final test Full Treatment (shipcheck → README + translations → landing page → handbook → repo-knowledge DB) → Critic verdict",
337
337
  roleChain: [
338
338
  "Swarm Coordinator", // ×1 — orchestrates all stages, enforces gates
339
339
  "Swarm Backend Agent", // ×1 — exclusive ownership of backend files
@@ -390,6 +390,15 @@ export const MISSIONS = {
390
390
  buildGate: true,
391
391
  userApproval: true,
392
392
  },
393
+ {
394
+ stage: "treatment",
395
+ lens: "Full Treatment — shipcheck gate (hard gates A-D must pass), README finalize + logo + badges, translations (user-run), landing page scaffold, handbook (3-7 pages via Starlight), repo metadata, repo-knowledge DB entry, deploy + verify",
396
+ exitCondition: "shipcheck audit exits 0 + landing page deployed + handbook pages live + repo-knowledge DB entry created",
397
+ maxIterations: 2,
398
+ buildGate: true,
399
+ userApproval: true,
400
+ notes: "Read memory/full-treatment.md + memory/handbook-playbook.md before starting. Translations run locally by user (not Claude). Version must be v1.0.0 minimum. CI must pass before moving on.",
401
+ },
393
402
  ],
394
403
  // Exclusive ownership — domain file boundaries (new primitive, unique to swarm)
395
404
  exclusiveOwnership: {
@@ -430,6 +439,11 @@ export const MISSIONS = {
430
439
  { role: "Swarm Frontend Agent", produces: "wave-report", consumedBy: "Swarm Coordinator", stage: "feature" },
431
440
  { role: "Swarm Coordinator", produces: "swarm-gate", consumedBy: "Swarm Synthesizer", stage: "feature" },
432
441
 
442
+ // Treatment: Full Treatment wave (shipcheck, README, landing page, handbook, repo-knowledge)
443
+ { role: "Swarm Infra Agent", produces: "wave-report", consumedBy: "Swarm Coordinator", stage: "treatment" },
444
+ { role: "Swarm Frontend Agent", produces: "wave-report", consumedBy: "Swarm Coordinator", stage: "treatment" },
445
+ { role: "Swarm Coordinator", produces: "swarm-gate", consumedBy: "Swarm Synthesizer", stage: "treatment" },
446
+
433
447
  // Final: Synthesize + Critic verdict
434
448
  { role: "Swarm Synthesizer", produces: "swarm-final-report", consumedBy: "Critic Reviewer", stage: "final" },
435
449
  { role: "Critic Reviewer", produces: "review-verdict", consumedBy: null, stage: "final" },
@@ -441,17 +455,20 @@ export const MISSIONS = {
441
455
  { trigger: "health pass stuck at max iterations", from: "Swarm Coordinator", to: "Swarm Synthesizer", action: "synthesize with partial health — document remaining CRITICAL/HIGH" },
442
456
  { trigger: "feature audit finds no gaps", from: "Swarm Coordinator", to: "Swarm Synthesizer", action: "skip feature execution, advance to final synthesis" },
443
457
  { trigger: "user rejects feature audit", from: "Swarm Coordinator", to: "Swarm Coordinator", action: "re-scope feature audit with user feedback, re-run" },
458
+ { trigger: "shipcheck audit fails during treatment", from: "Swarm Coordinator", to: "Swarm Infra Agent", action: "fix failing hard gates (A-D), re-run shipcheck audit" },
459
+ { trigger: "translations not run by user", from: "Swarm Coordinator", to: "Swarm Coordinator", action: "prompt user to run translate-all.mjs locally, do NOT run from Claude" },
444
460
  ],
445
- honestPartial: "One or more health stages complete but feature pass blocked or incomplete. Per-stage findings are individually valid and actionable. Manifest and wave reports exist even if synthesis does not. Build gate status is known.",
461
+ honestPartial: "One or more stages complete but later stages blocked or incomplete. Per-stage findings are individually valid and actionable. Manifest and wave reports exist even if synthesis does not. Build gate status is known. A repo that passes health+feature but not treatment is 'production-ready but not whole.'",
446
462
  stopConditions: [
447
- "All four stages converge — Synthesizer produces final report, Critic accepts",
463
+ "All five stages converge (health, feature, final test, treatment) — Synthesizer produces final report, Critic accepts",
448
464
  "Health pass stuck after max iterations — synthesize with partial health findings",
449
465
  "Feature pass stuck after max iterations — synthesize with partial feature progress",
466
+ "Treatment blocked (shipcheck fails, translations pending) — synthesize with partial treatment status",
450
467
  "Build gate fails repeatedly — stop and report infrastructure issue",
451
468
  "User halts swarm — synthesize from completed stages",
452
469
  ],
453
470
  dispatchDefaults: { model: "sonnet", maxTurns: 40, maxBudgetUsd: 6.0 },
454
- trialEvidence: "Proven on claude-collaborate (2026-03-28): 35→129 tests, 106 health findings fixed, v1.1.0 shipped. Protocol v2.0.",
471
+ trialEvidence: "Proven on claude-collaborate (2026-03-28): 35→129 tests, 106 health findings fixed, v1.1.0 shipped. Stillpoint (2026-03-29): 26→136 tests, treatment pending. Protocol v3.0 (added Phase 10: Full Treatment).",
455
472
  },
456
473
  };
457
474
 
@@ -140,7 +140,7 @@ export function generateSwarmManifest(cwd, options = {}) {
140
140
  repo: repoName,
141
141
  repoType,
142
142
  domains,
143
- stages: ["health-a", "health-b", "health-c", "feature"],
143
+ stages: ["health-a", "health-b", "health-c", "feature", "treatment"],
144
144
  exclusiveOwnership: {
145
145
  mode: "strict",
146
146
  maxAgentsPerWave: domains.length,