tlc-claude-code 2.9.0 → 2.9.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/.claude/commands/tlc/build.md +59 -24
- package/package.json +1 -1
|
@@ -174,50 +174,85 @@ If orchestrator is down, dispatch directly via tmux on the host:
|
|
|
174
174
|
|
|
175
175
|
```bash
|
|
176
176
|
tmux new-session -d -s <task-id> -c $(pwd)
|
|
177
|
-
tmux send-keys -t <task-id> "/opt/homebrew/bin/codex --
|
|
177
|
+
tmux send-keys -t <task-id> "/opt/homebrew/bin/codex --dangerously-bypass-approvals-and-sandbox '<prompt>'" Enter
|
|
178
178
|
```
|
|
179
179
|
|
|
180
|
-
### Step O4: Report and
|
|
180
|
+
### Step O4: Report and Monitor
|
|
181
181
|
|
|
182
|
-
After dispatching all tasks, report:
|
|
182
|
+
After dispatching all tasks, report the initial state:
|
|
183
183
|
|
|
184
184
|
```
|
|
185
185
|
Dispatched N tasks to orchestrator:
|
|
186
|
-
ses_abc123 Task 1: Create schema codex running
|
|
187
|
-
ses_def456 Task 2: Add validation codex running
|
|
186
|
+
ses_abc123 Task 1: Create schema codex running
|
|
187
|
+
ses_def456 Task 2: Add validation codex running
|
|
188
188
|
|
|
189
|
-
|
|
190
|
-
I'm free — what would you like to work on?
|
|
189
|
+
Monitoring for completion...
|
|
191
190
|
```
|
|
192
191
|
|
|
193
|
-
|
|
192
|
+
**Do NOT stop here. Do NOT say "I'm free". Enter the monitoring loop immediately.**
|
|
194
193
|
|
|
195
|
-
|
|
194
|
+
### Step O5: Auto-Monitor Loop (Mandatory)
|
|
196
195
|
|
|
197
|
-
|
|
196
|
+
After dispatching, poll all sessions every 30 seconds until all reach terminal states. This loop runs automatically — do not wait for the user to ask.
|
|
198
197
|
|
|
199
|
-
|
|
198
|
+
```
|
|
199
|
+
Poll cycle:
|
|
200
|
+
1. For each dispatched session, check: GET /sessions/:id/status (or tmux capture-pane)
|
|
201
|
+
2. Classify each session:
|
|
202
|
+
- completed → ready for merge-back
|
|
203
|
+
- stuck → send Enter once, re-check next cycle. After 3 attempts, ask user: "Session stuck. Retry or cancel?"
|
|
204
|
+
- budget_exhausted → ask user: "Budget exhausted. Re-dispatch or skip?"
|
|
205
|
+
- crashed / errored → log error, mark task as failed, continue with others
|
|
206
|
+
- timed_out → log timeout, mark task as failed
|
|
207
|
+
- running → continue monitoring
|
|
208
|
+
3. When ANY session completes, report immediately: "✅ ses_abc123 Task 1 complete"
|
|
209
|
+
4. When ALL dispatched sessions reach terminal states, exit the loop
|
|
210
|
+
```
|
|
200
211
|
|
|
201
|
-
|
|
202
|
-
# Check all sessions
|
|
203
|
-
curl -s http://localhost:3100/sessions | node -e "
|
|
204
|
-
const d=require('fs').readFileSync('/dev/stdin','utf8');
|
|
205
|
-
JSON.parse(d).forEach(s=>console.log(s.id, s.status, s.project));
|
|
206
|
-
"
|
|
212
|
+
**Use Bash `sleep 30` between poll cycles. Do not use background tasks for this — poll sequentially in the main conversation so results are visible.**
|
|
207
213
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
214
|
+
Surface progress at natural milestones:
|
|
215
|
+
- When a session completes: one-line status update
|
|
216
|
+
- When all sessions in a parallel batch complete: summary + trigger next batch
|
|
217
|
+
- When a session fails: immediate report with error details
|
|
211
218
|
|
|
212
|
-
|
|
219
|
+
### Step O5a: Dispatch Dependent Tasks
|
|
220
|
+
|
|
221
|
+
When a batch of tasks completes, check the dependency graph for newly unblocked tasks. Dispatch them immediately without asking.
|
|
213
222
|
|
|
214
|
-
```bash
|
|
215
|
-
docker exec tlc-agent-runner tmux send-keys -t <session_id> Enter
|
|
216
223
|
```
|
|
224
|
+
Example:
|
|
225
|
+
Tasks 1+2 dispatched (parallel, no deps)
|
|
226
|
+
Task 1 completes → check if any task depends only on Task 1 → dispatch it
|
|
227
|
+
Task 2 completes → check if remaining tasks are unblocked → dispatch them
|
|
228
|
+
Tasks 3+4 now unblocked → dispatch immediately
|
|
229
|
+
...continue until all tasks dispatched and completed
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Step O5b: Auto Merge-Back
|
|
233
|
+
|
|
234
|
+
When all tasks in the phase complete (or all non-failed tasks complete):
|
|
235
|
+
|
|
236
|
+
1. Pull all commits from container worktrees to the host phase branch
|
|
237
|
+
2. Run the full test suite: `cd server && npx vitest run` (or project's test command)
|
|
238
|
+
3. If tests pass → continue to Step O5c
|
|
239
|
+
4. If tests fail → report failures, attempt auto-fix (one round), re-run tests
|
|
240
|
+
|
|
241
|
+
### Step O5c: Auto Review + PR
|
|
242
|
+
|
|
243
|
+
After tests pass:
|
|
244
|
+
|
|
245
|
+
1. Run auto-review (same checks as Step 10 in Inline Mode)
|
|
246
|
+
2. If review passes → push branch and create PR (ask user before pushing per project rules)
|
|
247
|
+
3. If review fails → fix issues, re-run tests, re-review (max 3 iterations)
|
|
217
248
|
|
|
218
249
|
### Step O6: Cleanup
|
|
219
250
|
|
|
220
|
-
|
|
251
|
+
After PR is created (or phase completes):
|
|
252
|
+
- Remove `.tlc/.build-routing-active`
|
|
253
|
+
- Remove `.tlc/.active-sessions.json`
|
|
254
|
+
- Mark completed tasks `[x]` in PLAN.md
|
|
255
|
+
- Report final summary
|
|
221
256
|
|
|
222
257
|
## INLINE MODE
|
|
223
258
|
|