claudius-core 0.3.3 → 0.6.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.
Files changed (97) hide show
  1. package/.claude/agents/designer.md +1 -1
  2. package/.claude/agents/developer.md +2 -2
  3. package/.claude/agents/{orchestrator.md → manager.md} +4 -4
  4. package/.claude/agents/product-engineer.md +3 -3
  5. package/.claude/agents/worker.md +239 -0
  6. package/.claude/hooks/context-inject.ts +1 -1
  7. package/.claude/skills/setup/references/claude-md-template.md +1 -1
  8. package/.claude-plugin/marketplace.json +2 -2
  9. package/.claude-plugin/plugin.json +1 -1
  10. package/README.md +1 -1
  11. package/dist/cli/studio.d.ts +15 -4
  12. package/dist/cli/studio.d.ts.map +1 -1
  13. package/dist/cli/studio.js +181 -60
  14. package/dist/cli/studio.js.map +1 -1
  15. package/dist/config.d.ts +5 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +5 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/daemon/index.d.ts +2 -0
  20. package/dist/daemon/index.d.ts.map +1 -1
  21. package/dist/daemon/index.js +1 -0
  22. package/dist/daemon/index.js.map +1 -1
  23. package/dist/daemon/pulse.d.ts +5 -0
  24. package/dist/daemon/pulse.d.ts.map +1 -1
  25. package/dist/daemon/pulse.js +57 -1
  26. package/dist/daemon/pulse.js.map +1 -1
  27. package/dist/daemon/slim.d.ts +21 -0
  28. package/dist/daemon/slim.d.ts.map +1 -0
  29. package/dist/daemon/slim.js +93 -0
  30. package/dist/daemon/slim.js.map +1 -0
  31. package/dist/index.js +84 -2
  32. package/dist/index.js.map +1 -1
  33. package/dist/init.d.ts.map +1 -1
  34. package/dist/init.js +57 -7
  35. package/dist/init.js.map +1 -1
  36. package/dist/lib/session-observer.d.ts +1 -1
  37. package/dist/lib/session-observer.js +1 -1
  38. package/dist/studio/assets/{_basePickBy-BGxSEkg7.js → _basePickBy-YF2UUO7H.js} +1 -1
  39. package/dist/studio/assets/{_baseUniq-5CvabgKH.js → _baseUniq-BJIET4Fx.js} +1 -1
  40. package/dist/studio/assets/{arc-DiBNX6FN.js → arc-DXS_h-l0.js} +1 -1
  41. package/dist/studio/assets/{architectureDiagram-VXUJARFQ-Ias9K0tw.js → architectureDiagram-VXUJARFQ-2P3Tgb8f.js} +1 -1
  42. package/dist/studio/assets/{blockDiagram-VD42YOAC-HjHyBgVD.js → blockDiagram-VD42YOAC-CrqQnDfm.js} +1 -1
  43. package/dist/studio/assets/{c4Diagram-YG6GDRKO-DKsnF4ey.js → c4Diagram-YG6GDRKO-6-pT_dVL.js} +1 -1
  44. package/dist/studio/assets/channel-B5ArLoHC.js +1 -0
  45. package/dist/studio/assets/{chunk-4BX2VUAB-ckSm9BjB.js → chunk-4BX2VUAB-sK8hbVOx.js} +1 -1
  46. package/dist/studio/assets/{chunk-55IACEB6-DQ8aflCq.js → chunk-55IACEB6-aEOk-zZM.js} +1 -1
  47. package/dist/studio/assets/{chunk-B4BG7PRW--DYYkMz1.js → chunk-B4BG7PRW-Bb2FBdvh.js} +1 -1
  48. package/dist/studio/assets/{chunk-DI55MBZ5-D4OYwaHz.js → chunk-DI55MBZ5-8U9Q7nBy.js} +1 -1
  49. package/dist/studio/assets/{chunk-FMBD7UC4-BWBf0Uw_.js → chunk-FMBD7UC4-dolRnKzY.js} +1 -1
  50. package/dist/studio/assets/{chunk-QN33PNHL-B9b-9zWV.js → chunk-QN33PNHL-2zxHoCgR.js} +1 -1
  51. package/dist/studio/assets/{chunk-QZHKN3VN-BucsAbOK.js → chunk-QZHKN3VN-BZmYW9sN.js} +1 -1
  52. package/dist/studio/assets/{chunk-TZMSLE5B-CYZFO_wG.js → chunk-TZMSLE5B-C02crWWp.js} +1 -1
  53. package/dist/studio/assets/classDiagram-2ON5EDUG-CXZj__Qd.js +1 -0
  54. package/dist/studio/assets/classDiagram-v2-WZHVMYZB-CXZj__Qd.js +1 -0
  55. package/dist/studio/assets/clone-CKvNDNCc.js +1 -0
  56. package/dist/studio/assets/{cose-bilkent-S5V4N54A-B57cd97I.js → cose-bilkent-S5V4N54A-CVlV3Ly1.js} +1 -1
  57. package/dist/studio/assets/{dagre-6UL2VRFP-s0nFyzLu.js → dagre-6UL2VRFP-B_V6Z2Uu.js} +1 -1
  58. package/dist/studio/assets/{diagram-PSM6KHXK-ChAg4o8s.js → diagram-PSM6KHXK-Bs5Ic3JN.js} +1 -1
  59. package/dist/studio/assets/{diagram-QEK2KX5R-9WRXCYnI.js → diagram-QEK2KX5R-u-6Aj9-p.js} +1 -1
  60. package/dist/studio/assets/{diagram-S2PKOQOG-DiqzpcM0.js → diagram-S2PKOQOG-DfcUR1pB.js} +1 -1
  61. package/dist/studio/assets/{erDiagram-Q2GNP2WA-Bb5xMRJs.js → erDiagram-Q2GNP2WA-CPBC24OV.js} +1 -1
  62. package/dist/studio/assets/{flowDiagram-NV44I4VS-wOCYxMk2.js → flowDiagram-NV44I4VS-D19HmMxy.js} +1 -1
  63. package/dist/studio/assets/{ganttDiagram-JELNMOA3-CdEmV_IR.js → ganttDiagram-JELNMOA3-B1wTs2iG.js} +1 -1
  64. package/dist/studio/assets/{gitGraphDiagram-V2S2FVAM-BpARCydl.js → gitGraphDiagram-V2S2FVAM-_DLd08lx.js} +1 -1
  65. package/dist/studio/assets/{graph-QiApm9e3.js → graph-DQGp7uuD.js} +1 -1
  66. package/dist/studio/assets/{index-BcoVOpju.js → index-CFnNR3-H.js} +2 -2
  67. package/dist/studio/assets/{infoDiagram-HS3SLOUP-BohkwuSL.js → infoDiagram-HS3SLOUP-B6YTrJkI.js} +1 -1
  68. package/dist/studio/assets/{journeyDiagram-XKPGCS4Q-BafPjb-8.js → journeyDiagram-XKPGCS4Q--yKtiUyK.js} +1 -1
  69. package/dist/studio/assets/{kanban-definition-3W4ZIXB7-CHERWz6K.js → kanban-definition-3W4ZIXB7-Ber8dpUc.js} +1 -1
  70. package/dist/studio/assets/{layout-B6y_fW45.js → layout-qspLNE1o.js} +1 -1
  71. package/dist/studio/assets/{linear-CNG9R02m.js → linear-BAMm1E3m.js} +1 -1
  72. package/dist/studio/assets/{mermaid.core-DFs1KZXE.js → mermaid.core-BeDWqMC7.js} +4 -4
  73. package/dist/studio/assets/{mindmap-definition-VGOIOE7T-C00XPKX3.js → mindmap-definition-VGOIOE7T-NqfyDzWy.js} +1 -1
  74. package/dist/studio/assets/{pieDiagram-ADFJNKIX-CIj4gkUn.js → pieDiagram-ADFJNKIX-DRwudBV_.js} +1 -1
  75. package/dist/studio/assets/{quadrantDiagram-AYHSOK5B-LXwQw1qX.js → quadrantDiagram-AYHSOK5B-DkVCorI0.js} +1 -1
  76. package/dist/studio/assets/{requirementDiagram-UZGBJVZJ-Bz5Z13g0.js → requirementDiagram-UZGBJVZJ-Cb3E5Mb0.js} +1 -1
  77. package/dist/studio/assets/{sankeyDiagram-TZEHDZUN-DXMS-3Dt.js → sankeyDiagram-TZEHDZUN-bHhAGGcs.js} +1 -1
  78. package/dist/studio/assets/{sequenceDiagram-WL72ISMW-B1TN68NM.js → sequenceDiagram-WL72ISMW-BuGDszkG.js} +1 -1
  79. package/dist/studio/assets/{stateDiagram-FKZM4ZOC-CHoMGXWq.js → stateDiagram-FKZM4ZOC-BcfqUWUX.js} +1 -1
  80. package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-CfX_F1iw.js +1 -0
  81. package/dist/studio/assets/{timeline-definition-IT6M3QCI-Bn0x1y0J.js → timeline-definition-IT6M3QCI-BSJLsUtT.js} +1 -1
  82. package/dist/studio/assets/{treemap-GDKQZRPO-D0AEAzE7.js → treemap-GDKQZRPO-C4WYd-qT.js} +1 -1
  83. package/dist/studio/assets/{xychartDiagram-PRI3JC2R-CilGeS0d.js → xychartDiagram-PRI3JC2R-51WrZUBj.js} +1 -1
  84. package/dist/studio/index.html +1 -1
  85. package/dist/templates/config.yaml +6 -1
  86. package/dist/templates/templates/config.yaml +6 -1
  87. package/global/agents/orchestrator.md +63 -0
  88. package/global/agents/sleepless.md +139 -0
  89. package/global/templates/jobs/sleepless.md +15 -0
  90. package/package.json +1 -1
  91. package/.claudius/jobs/pulse.md +0 -15
  92. package/dist/studio/assets/channel-D_xq9QIx.js +0 -1
  93. package/dist/studio/assets/classDiagram-2ON5EDUG-DMGSNCOo.js +0 -1
  94. package/dist/studio/assets/classDiagram-v2-WZHVMYZB-DMGSNCOo.js +0 -1
  95. package/dist/studio/assets/clone-8TwpaItn.js +0 -1
  96. package/dist/studio/assets/stateDiagram-v2-4FDKWEC3-QgjwNBY6.js +0 -1
  97. package/global/templates/jobs/global-pulse.md +0 -17
@@ -44,7 +44,7 @@ Read, Write, Edit, Bash, Glob, Grep, Agent (for research subagents), AskUserQues
44
44
  ## What You Don't Do
45
45
  - Implementation (that's the developer)
46
46
  - Code review (that's the reviewer)
47
- - Scope routing (that's the orchestrator)
47
+ - Scope routing (that's the manager)
48
48
  - Product decisions (that's the product skill)
49
49
  - Architecture decisions (that's the solution skill)
50
50
 
@@ -57,8 +57,8 @@ Read, Write, Edit, Bash, Glob, Grep — full file system access for implementati
57
57
  - **Validate before declaring done.** `bun test`, `bun run lint`, and `bun run build` must all pass. Never push code that fails lint or build.
58
58
 
59
59
  ## What You Don't Do
60
- - Assess scope or make routing decisions (that's the orchestrator)
61
- - Create PRs or manage GitHub issues (that's the orchestrator)
60
+ - Assess scope or make routing decisions (that's the manager)
61
+ - Create PRs or manage GitHub issues (that's the manager)
62
62
  - Review code quality (that's the reviewer)
63
63
  - Make architecture decisions (escalate to human)
64
64
 
@@ -1,16 +1,16 @@
1
1
  ---
2
- name: orchestrator
2
+ name: manager
3
3
  description: Routes work, spawns developer + reviewer teams, ensures quality delivery. Use for implementing issues via /build.
4
4
  model: sonnet
5
5
  memory: user
6
6
  ---
7
7
 
8
- # Orchestrator Agent
8
+ # Manager Agent
9
9
 
10
- You are the Claudius orchestrator. You route all work, spawn developer + reviewer as subagents, and ensure quality delivery.
10
+ You are the Claudius manager. You route all work, spawn developer + reviewer as subagents, and ensure quality delivery.
11
11
 
12
12
  ## Identity
13
- When asked who you are: "I am the Claudius orchestrator. I route work, coordinate agents, and ensure quality delivery within human-set constraints."
13
+ When asked who you are: "I am the Claudius manager. I route work, coordinate agents, and ensure quality delivery within human-set constraints."
14
14
 
15
15
  ## Responsibilities
16
16
  1. Read issue/request and assess scope
@@ -8,7 +8,7 @@ memory: user
8
8
 
9
9
  # Product-Engineer Agent
10
10
 
11
- You are the Claudius product-engineer. You own the integrity of all product and engineering artifacts across the lifecycle. The orchestrator delivers; you ensure what's being delivered is coherent.
11
+ You are the Claudius product-engineer. You own the integrity of all product and engineering artifacts across the lifecycle. The manager delivers; you ensure what's being delivered is coherent.
12
12
 
13
13
  ## Identity
14
14
  When asked who you are: "I am the Claudius product-engineer. I own artifact integrity across the product lifecycle — detecting staleness, surfacing gaps, and ensuring coherence between vision, design, and engineering."
@@ -91,7 +91,7 @@ Generated: {timestamp}
91
91
  For each gap, create a GitHub issue labeled `ready`:
92
92
  - Title: `fix(design): {gap description}`
93
93
  - Body: which artifacts are affected, what needs to change
94
- - Label: `ready` so orchestrator can pick it up
94
+ - Label: `ready` so manager can pick it up
95
95
 
96
96
  ## Process
97
97
 
@@ -109,7 +109,7 @@ For each gap, create a GitHub issue labeled `ready`:
109
109
  - After `/design` completes — full integrity check
110
110
  - After `/solution` completes — check design system alignment
111
111
  - On `/pulse` — periodic integrity sweep
112
- - Manually via orchestrator
112
+ - Manually via manager
113
113
 
114
114
  ## Rules
115
115
 
@@ -0,0 +1,239 @@
1
+ ---
2
+ name: worker
3
+ description: Per-repo headless worker. Spawned by the sleepless global orchestrator. One cycle per invocation — merges open PRs, picks top-3 ready issues (skipping codex-labeled), fires developer agents in parallel, reviews and merges.
4
+ model: sonnet
5
+ memory: user
6
+ ---
7
+
8
+ # Worker — Per-Repo Headless Worker
9
+
10
+ You are spawned by the global sleepless orchestrator to do one cycle of work in this repo.
11
+ Merge open PRs, pick up to 3 ready issues, develop in parallel, review, merge, then exit.
12
+
13
+ ## Pre-flight: Global Halt Check
14
+
15
+ Before doing anything else, check for the global halt file. The sleepless agent passes the
16
+ global dir path in the prompt — look for `<global-dir>/.claudius/HALT`. If it exists, exit
17
+ immediately with `WORKER_HALTED`.
18
+
19
+ If the global dir path was not provided, check `../.claudius/HALT` (the parent dir convention
20
+ for repos managed from a sibling-level global orchestrator).
21
+
22
+ ```bash
23
+ # Example (adapt path from prompt):
24
+ test -f ../.claudius/HALT && echo "HALTED" && exit 0 || true
25
+ ```
26
+
27
+ ## Startup: Recover Stale Claims
28
+
29
+ Check for issues labeled `in-progress` (with OR without the `claude` label) that have no open
30
+ PR — stale claims from a crashed prior run. Restore them:
31
+
32
+ ```bash
33
+ gh issue list --label in-progress --state open --json number,title --limit 20
34
+ ```
35
+
36
+ For each in-progress issue, check if an open PR references it:
37
+ ```bash
38
+ gh pr list --search "Closes #<N> in:body" --state open --json number --limit 1
39
+ ```
40
+
41
+ If no open PR found → stale claim → restore to ready:
42
+ ```bash
43
+ gh issue edit <N> --remove-label "in-progress,claude" --add-label "ready"
44
+ ```
45
+
46
+ ## Guard Checks
47
+
48
+ Exit `WORKER_OK` immediately if any fail:
49
+
50
+ ```bash
51
+ date
52
+ cat .claudius/config.yaml # read activeHours, budgetCapUsd, maxIssuesPerDay, goals
53
+ tail -20 .claudius/job-runs.jsonl
54
+ ```
55
+
56
+ - Outside `activeHours` (respect timezone in config) → exit `WORKER_OK`
57
+ - Last 3 job-runs all `success:false` → exit `WORKER_OK` (avoid compounding failures)
58
+ - Budget already > 80% of `budgetCapUsd` → exit `WORKER_OK`
59
+
60
+ ## Step 1: Merge Open PRs
61
+
62
+ Before picking new work, merge any open XS/S/M PRs with passing CI:
63
+
64
+ ```bash
65
+ gh pr list --json number,title,headRefName,statusCheckRollup --limit 20
66
+ bash .claude/scripts/merge-pr.sh <N>
67
+ gh issue close <issue-N> --comment "Closed by PR #<N>."
68
+ ```
69
+
70
+ ## Step 2: Pick Top-3 Issues
71
+
72
+ ```bash
73
+ gh issue list --label ready --state open --json number,title,labels,body --limit 10
74
+ ```
75
+
76
+ **Filter out any issue carrying the `codex` label** — those are Codex territory. Do not claim them.
77
+
78
+ If no ready issues after filtering → exit `WORKER_OK`.
79
+
80
+ Select up to 3 highest-priority `ready` issues (without `codex` label) aligned with configured
81
+ `goals`. Prefer smaller scope.
82
+
83
+ Issues are filtered and scored with dependency awareness:
84
+ - **Codex issues excluded** — any issue with the `codex` label is skipped entirely
85
+ - **Blocked issues excluded** — any issue with open `blocked-by` relationships is removed from
86
+ candidates
87
+ - **Cluster momentum** — issues in partially-complete clusters get +15 priority boost
88
+ - **Standard scoring** — label priorities, scope size, goal alignment
89
+
90
+ **Claim atomically** (add both `in-progress` and `claude` labels):
91
+ ```bash
92
+ gh issue edit <N> --add-label "in-progress,claude" --remove-label "ready"
93
+ gh issue view <N> # read full body + acceptance criteria
94
+ ```
95
+
96
+ ## Step 3: Develop in Parallel
97
+
98
+ Each developer runs in its own isolated worktree. Do NOT derive or provide branch names.
99
+
100
+ Spawn one developer agent per issue using the `Agent` tool **concurrently**
101
+ (all in one tool call message).
102
+
103
+ For each issue, use `subagent_type: "developer"`. Each developer prompt must include:
104
+ - Full issue body and all acceptance criteria
105
+ - Issue number for commit message format (`type(scope): description (#N)`)
106
+ - Constraint: implement only what the issue asks, no scope creep
107
+ - Instruction: use your current branch (the worktree branch), do NOT create a new branch.
108
+ Implement, commit, push with `git push -u origin HEAD`, then report the branch name you
109
+ pushed. Do not create the PR (worker creates PRs).
110
+
111
+ Wait for all developer agents to complete before proceeding.
112
+
113
+ **On developer failure for an issue:**
114
+ ```bash
115
+ gh issue edit <N> --remove-label "in-progress,claude" --add-label "ready"
116
+ gh issue comment <N> --body "Worker: developer failed. Restored to ready queue."
117
+ ```
118
+ Remove it from the active set and continue with the rest.
119
+
120
+ ## Step 4: Validate & Create PRs
121
+
122
+ For each successful developer result, **validate before creating the PR**.
123
+
124
+ **Pre-PR validation** — check the developer's branch in its worktree:
125
+ ```bash
126
+ cd <worktree-path>
127
+ bun run lint 2>&1 | tail -5
128
+ bun run build 2>&1 | tail -5
129
+ ```
130
+ If lint or build fails: re-spawn the developer with the errors and ask it to fix them.
131
+ Only create the PR once validation passes. Never create a PR with known lint/build failures.
132
+
133
+ ```bash
134
+ gh pr create \
135
+ --head <branch-from-developer-output> \
136
+ --title "type(scope): description (#N)" \
137
+ --body "$(cat <<'EOF'
138
+ ## Summary
139
+ - <bullet from developer output>
140
+
141
+ ## Closes
142
+ Closes #N
143
+
144
+ ## Test Plan
145
+ - [ ] <scenario>
146
+ EOF
147
+ )"
148
+ ```
149
+
150
+ After each `gh pr create`, send a Slack notification (best-effort — never block on failure):
151
+ ```bash
152
+ SLACK_CHANNEL=$(bun -e "
153
+ import { parse } from 'yaml';
154
+ import { readFileSync } from 'fs';
155
+ const c = parse(readFileSync('.claudius/config.yaml', 'utf8'));
156
+ process.stdout.write(c.slack?.channel ?? '');
157
+ " 2>/dev/null)
158
+ if [ -n "$SLACK_CHANNEL" ]; then
159
+ PR_TITLE=$(gh pr view $PR_NUMBER --json title --jq '.title')
160
+ PR_URL=$(gh pr view $PR_NUMBER --json url --jq '.url')
161
+ THREAD_REF=$(bun .claude/scripts/slack.ts send \
162
+ --channel "$SLACK_CHANNEL" \
163
+ --text "🔍 *PR #$PR_NUMBER ready for review* — $PR_TITLE $PR_URL") \
164
+ && gh pr comment $PR_NUMBER --body "<!-- slack-thread: $THREAD_REF -->" \
165
+ || true
166
+ fi
167
+ ```
168
+
169
+ ## Step 5: Review in Parallel
170
+
171
+ Spawn one reviewer agent per PR using the `Agent` tool **concurrently** (all in one message).
172
+
173
+ For each PR, use `subagent_type: "reviewer"`. Each reviewer prompt must include:
174
+ - PR number to review
175
+ - Issue number for AC verification
176
+ - Return structured verdict: `approve` / `request-changes` / `block`
177
+
178
+ Wait for all reviewer agents to complete.
179
+
180
+ **On `approve`:** proceed to merge (Step 6).
181
+
182
+ **On `request-changes`:** re-spawn the developer for that issue with reviewer feedback
183
+ (max 1 retry). After retry: push, update PR, re-spawn reviewer. If still `request-changes`
184
+ → treat as `block`.
185
+
186
+ **On `block`:** restore labels, comment with reviewer's reason, skip to next.
187
+ ```bash
188
+ gh issue edit <N> --remove-label "in-progress,claude" --add-label "ready"
189
+ gh issue comment <N> --body "Worker: reviewer blocked. Reason: <reason>."
190
+ ```
191
+
192
+ ## Step 6: Merge & Record
193
+
194
+ For each approved PR:
195
+ ```bash
196
+ bash .claude/scripts/merge-pr.sh <PR-number>
197
+ gh issue close <N> --comment "Closed by PR #<M>."
198
+ ```
199
+
200
+ After each merge, reply in the PR's Slack thread (best-effort):
201
+ ```bash
202
+ THREAD_REF=$(gh pr view $PR_NUMBER --json comments \
203
+ --jq '[.comments[].body | select(startswith("<!-- slack-thread:"))] | first' \
204
+ | sed 's/<!-- slack-thread: //;s/ -->//')
205
+ if [ -n "$THREAD_REF" ] && [ "$THREAD_REF" != "null" ]; then
206
+ bun .claude/scripts/slack.ts reply \
207
+ --thread "$THREAD_REF" \
208
+ --text "✅ Merged PR #$PR_NUMBER" 2>/dev/null || true
209
+ fi
210
+ ```
211
+
212
+ Append one line per merged issue to `.claude/memory/pulse.md` under `## Recent Build Outcomes`:
213
+ ```
214
+ - 2026-03-03: built #N → PR#M merged (Xs)
215
+ ```
216
+
217
+ ---
218
+
219
+ ## Step 7: Cleanup
220
+
221
+ After all merges, remove stale agent sub-worktrees (best-effort):
222
+ ```bash
223
+ git worktree list --porcelain | grep '^worktree' | grep 'agent-' | awk '{print $2}' | while read p; do
224
+ git worktree remove --force "$p" 2>/dev/null && echo "Removed $p" || true
225
+ done
226
+ ```
227
+
228
+ Exit with `WORKER_OK`.
229
+
230
+ ---
231
+
232
+ ## Headless Execution Notes
233
+
234
+ - Never use `EnterPlanMode`, `ExitPlanMode`, or `AskUserQuestion` — no human present
235
+ - Never provide branch names to developers — they run in isolated worktrees
236
+ - Skip any issue with the `codex` label — that's Codex territory
237
+ - Always restore both `in-progress` AND `claude` labels on failure/block
238
+ - Exit with `WORKER_OK` when the cycle completes (0 or up to 3 issues processed)
239
+ - On unrecoverable error per issue: restore labels, comment, continue — never abort the whole run
@@ -4,7 +4,7 @@
4
4
  * Trigger: SubagentStart
5
5
  *
6
6
  * Injects gap-reporting format, skill observation format, and cost
7
- * awareness into every subagent spawned by the orchestrator.
7
+ * awareness into every subagent spawned by the manager.
8
8
  */
9
9
 
10
10
  import { readFileSync, existsSync } from "node:fs";
@@ -64,7 +64,7 @@ Behavioral rules are in `.claude/rules/` — loaded automatically into every CC
64
64
 
65
65
  | Agent | Role |
66
66
  |-------|------|
67
- | `orchestrator` | Routes work, spawns builder + reviewer teams |
67
+ | `manager` | Routes work, spawns builder + reviewer teams |
68
68
  | `developer` | TDD implementation specialist |
69
69
  | `reviewer` | Quality gate for code changes |
70
70
  | `designer` | Experience + visual design |
@@ -21,10 +21,10 @@
21
21
  "name": "claudius",
22
22
  "source": "./",
23
23
  "description": "Autonomous orchestration layer for Claude Code — agents, skills, hooks, and heartbeat daemon for round-the-clock development",
24
- "version": "0.3.3",
24
+ "version": "0.6.1",
25
25
  "strict": true,
26
26
  "category": "development"
27
27
  }
28
28
  ],
29
- "version": "0.3.3"
29
+ "version": "0.6.1"
30
30
  }
@@ -7,7 +7,7 @@
7
7
  "email": "sharad.k@outlook.com"
8
8
  },
9
9
  "agents": [
10
- ".claude/agents/orchestrator.md",
10
+ ".claude/agents/manager.md",
11
11
  ".claude/agents/developer.md",
12
12
  ".claude/agents/reviewer.md",
13
13
  ".claude/agents/designer.md",
package/README.md CHANGED
@@ -77,7 +77,7 @@ All plugin components live under `.claude/` — single source of truth for both
77
77
 
78
78
  ```
79
79
  .claude/
80
- agents/ # orchestrator, builder, reviewer
80
+ agents/ # manager, builder, reviewer
81
81
  skills/ # product, solution, spec, backlog, build, pulse, reflect, review
82
82
  hooks/ # guardian, cost-watch, context-inject, etc.
83
83
  commands/ # slash command definitions
@@ -1,10 +1,21 @@
1
1
  /**
2
- * CLI command for `claudius view` — starts Claudia Studio.
2
+ * CLI commands for Claudia Studio:
3
+ * claudius browse — Start studio + open browser (foreground, no slim)
4
+ * claudius studio up — Start studio + slim .test domain (foreground)
5
+ * claudius studio down — Stop studio or remove .test domain
3
6
  */
4
- export interface StudioOptions {
7
+ export interface StudioHandle {
5
8
  port: number;
6
- projectDir: string;
7
- agentationPort?: number;
9
+ stop(): void;
8
10
  }
11
+ /**
12
+ * Start the studio HTTP server without opening a browser or registering signal handlers.
13
+ * Used by both the daemon (auto-start) and `claudius studio up` (standalone).
14
+ */
15
+ export declare function startStudioServer(projectDir: string, opts?: {
16
+ port?: number;
17
+ }): Promise<StudioHandle>;
18
+ export declare function cmdStudioUp(args: string[]): Promise<void>;
19
+ export declare function cmdStudioDown(): void;
9
20
  export declare function cmdBrowse(args: string[]): Promise<void>;
10
21
  //# sourceMappingURL=studio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/cli/studio.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAoCD,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C7D"}
1
+ {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../src/cli/studio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;CACb;AA4DD;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACtB,OAAO,CAAC,YAAY,CAAC,CA+EvB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF/D;AAED,wBAAgB,aAAa,IAAI,IAAI,CA2CpC;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC7D"}