uctm 1.2.0 → 1.3.0

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.
@@ -1,45 +1,45 @@
1
- # Work Activity Log
2
-
3
- 각 에이전트가 WORK 진행 상황을 `works/{WORK_ID}/work_{WORK_ID}.log` 파일에 기록하는 규칙을 정의한다.
4
-
5
- ---
6
-
7
- # 1. 작업 단계 및 로그 기록 내용
8
- * 최초 실행 시 : 수신한 프롬프트 메시지** Agent 시작 시 수신한 프롬프트 메시지 내용 (Required 필수)
9
- * Callback 호출 시 : 호출한 Callback URL, 성공여부, Payload, Respoonse (Required 필수)
10
- * 작업 진행 시 : 작업항목 및 작업내용
11
- * 수행작업 완료 시 : 타 Agent에 전송한 프롬프트 메시지** Agent 시작 시 수신한 프롬프트 메시지 내용 (Required 필수)
12
-
13
- ## log_work 함수
14
-
15
- ```bash
16
- AGENT_NAME="ROUTER" # 각 에이전트 파일에서 적절히 설정
17
-
18
- log_work() {
19
- local WORK_ID="$1" AGENT="$2" STAGE="$3" DESC="$4"
20
- mkdir -p "works/${WORK_ID}"
21
- printf '[%s]_%s_%s_%s\n' \
22
- "$(date '+%Y-%m-%dT%H:%M:%S')" "$AGENT" "$STAGE" "$DESC" \
23
- >> "works/${WORK_ID}/work_${WORK_ID}.log"
24
- }
25
- ```
26
-
27
- ---
28
-
29
- ## STAGE 테이블
30
-
31
- | STAGE | 시점 | 설명 예시 |
32
- |-------|------|-----------|
33
- | `INIT` | WORK_ID 결정 후 | `WORK-NN 생성 — Execution-Mode: direct/pipeline/full` |
34
- | `REF` | STARTUP 참조 직후 | `참조: CLAUDE.md, .agent/router_rule_config.json, agents/file-content-schema.md` |
35
- | `PLAN` | PLAN.md + TASK 파일 생성 완료 | `PLAN.md, TASK-00.md 생성 완료` |
36
- | `IMPL` | direct 모드 코드 구현 시작 | `코드 구현 시작 — 참조: {수정 대상 파일 목록}` |
37
- | `BUILD` | self-check 통과 | `빌드/린트 통과` |
38
- | `COMMIT` | git commit 완료 | `commit {hash}` |
39
- | `DISPATCH` | pipeline/full dispatch | `Builder dispatch` 또는 `Planner dispatch` |
40
-
41
- ---
42
-
43
- ## 참조 자료 수집 규칙
44
-
45
- STARTUP에서 읽은 파일과 이후 탐색한 파일을 누적 추적하여 `REF` 단계에서 한 번에 기록.
1
+ # Work Activity Log
2
+
3
+ 각 에이전트가 WORK 진행 상황을 `works/{WORK_ID}/work_{WORK_ID}.log` 파일에 기록하는 규칙을 정의한다.
4
+
5
+ ---
6
+
7
+ # 1. 작업 단계 및 로그 기록 내용
8
+ * 최초 실행 시 : 수신한 프롬프트 메시지** Agent 시작 시 수신한 프롬프트 메시지 내용 (Required 필수)
9
+ * Callback 호출 시 : 호출한 Callback URL, 성공여부, Payload, Respoonse (Required 필수)
10
+ * 작업 진행 시 : 작업항목 및 작업내용
11
+ * 수행작업 완료 시 : 타 Agent에 전송한 프롬프트 메시지** Agent 시작 시 수신한 프롬프트 메시지 내용 (Required 필수)
12
+
13
+ ## log_work 함수
14
+
15
+ ```bash
16
+ AGENT_NAME="SPECIFIER" # 각 에이전트 파일에서 적절히 설정
17
+
18
+ log_work() {
19
+ local WORK_ID="$1" AGENT="$2" STAGE="$3" DESC="$4"
20
+ mkdir -p "works/${WORK_ID}"
21
+ printf '[%s]_%s_%s_%s\n' \
22
+ "$(date '+%Y-%m-%dT%H:%M:%S')" "$AGENT" "$STAGE" "$DESC" \
23
+ >> "works/${WORK_ID}/work_${WORK_ID}.log"
24
+ }
25
+ ```
26
+
27
+ ---
28
+
29
+ ## STAGE 테이블
30
+
31
+ | STAGE | 시점 | 설명 예시 |
32
+ |-------|------|-----------|
33
+ | `INIT` | WORK_ID 결정 후 | `WORK-NN 생성 — Execution-Mode: direct/pipeline/full` |
34
+ | `REF` | STARTUP 참조 직후 | `참조: CLAUDE.md, .agent/router_rule_config.json, agents/file-content-schema.md` |
35
+ | `PLAN` | PLAN.md + TASK 파일 생성 완료 | `PLAN.md, TASK-00.md 생성 완료` |
36
+ | `IMPL` | direct 모드 코드 구현 시작 | `코드 구현 시작 — 참조: {수정 대상 파일 목록}` |
37
+ | `BUILD` | self-check 통과 | `빌드/린트 통과` |
38
+ | `COMMIT` | git commit 완료 | `commit {hash}` |
39
+ | `DISPATCH` | pipeline/full dispatch | `Builder dispatch` 또는 `Planner dispatch` |
40
+
41
+ ---
42
+
43
+ ## 참조 자료 수집 규칙
44
+
45
+ STARTUP에서 읽은 파일과 이후 탐색한 파일을 누적 추적하여 `REF` 단계에서 한 번에 기록.
@@ -1,109 +1,108 @@
1
- # Agent Communication XML Schema
2
-
3
- uc-taskmanager 에이전트 간 XML 통신 포맷 정의.
4
-
5
- ---
6
-
7
- ## 1. Dispatch Format (Dispatcher → Receiver)
8
-
9
- ```xml
10
- <dispatch to="{receiver}" work="{WORK_ID}" task="{TASK_ID}" execution-mode="{direct|pipeline|full}">
11
- <context>
12
- <project>{project name}</project>
13
- <language>{lang_code}</language>
14
- <plan-file>works/{WORK_ID}/PLAN.md</plan-file>
15
- </context>
16
- <task-spec>
17
- <file>works/{WORK_ID}/TASK-XX.md</file>
18
- <title>{title}</title>
19
- <action>{implement|verify|commit|plan|route}</action>
20
- <description>{optional}</description>
21
- </task-spec>
22
- <previous-results>
23
- <result task="{TASK_ID}" status="{PASS|FAIL|SKIP}">{summary}</result>
24
- </previous-results>
25
- <cache-hint sections="{section1},{section2}"/>
26
- </dispatch>
27
- ```
28
-
29
- | 속성 | 값 |
30
- |------|----|
31
- | `to` | builder, verifier, committer, planner, scheduler, router |
32
- | `task` | `TASK-NN` — WORK prefix 포함 금지 |
33
- | `execution-mode` | direct / pipeline / full (생략 시 full로 간주) |
34
-
35
- ---
36
-
37
- ## 2. Task Result Format (Receiver → Dispatcher)
38
-
39
- ```xml
40
- <task-result work="{WORK_ID}" task="{TASK_ID}" agent="{agent}" status="{PASS|FAIL}">
41
- <summary>{1-2줄 요약}</summary>
42
- <files-changed>
43
- <file action="{created|modified|deleted}" path="{path}">{description}</file>
44
- </files-changed>
45
- <verification>
46
- <check name="{type}" status="{PASS|FAIL|N/A}">{output}</check>
47
- </verification>
48
- <notes>{참고사항}</notes>
49
- </task-result>
50
- ```
51
-
52
- ---
53
-
54
- ## 3. Dispatcher-Receiver 매핑
55
-
56
- | Dispatcher | Receiver | execution-mode | 설명 |
57
- |------------|----------|:--------------:|------|
58
- | Router | (자기 자신) | `direct` | 서브에이전트 없음. Router가 직접 구현+commit+콜백 |
59
- | Router | Planner | `full` | 복잡 WORK 계획 |
60
- | Router | Scheduler | `full` | 계획된 WORK 실행 |
61
- | Router | Builder | `pipeline` | TASK 1개 구현 |
62
- | Router | Verifier | `pipeline` | TASK 1검증 |
63
- | Router | Committer | `pipeline` | TASK 1커밋 |
64
- | Scheduler | Builder | `full` | TASK N개 구현 |
65
- | Scheduler | Verifier | `full` | TASK N개 검증 |
66
- | Scheduler | Committer | `full` | TASK N개 커밋 |
67
-
68
- ---
69
-
70
- ## 4. Context-Handoff Element
71
-
72
- ```xml
73
- <context-handoff from="{agent}" detail-level="{FULL|SUMMARY|DROP}">
74
- <what>{변경/검증 사항}</what>
75
- <why>{의사결정 근거}</why> <!-- FULL only -->
76
- <caution>{주의사항}</caution> <!-- FULL only -->
77
- <incomplete>{미완료 사항}</incomplete> <!-- FULL only -->
78
- </context-handoff>
79
- ```
80
-
81
- | detail-level | 포함 필드 |
82
- |:---:|---|
83
- | `FULL` | what, why, caution, incomplete |
84
- | `SUMMARY` | what만 (1-3줄) |
85
- | `DROP` | 요소 생략 |
86
-
87
- ---
88
-
89
- ## 5. execution-mode별 에이전트 행동
90
-
91
- | 에이전트 | direct | pipeline | full |
92
- |---------|--------|----------|------|
93
- | Router | 구현+self-check+result.md+commit+콜백 직접 | PLAN 생성 B→V→C dispatch | Planner에 dispatch |
94
- | Planner | 호출 | 호출 | PLAN.md 생성 |
95
- | Scheduler | 호출 안 됨 | 호출 | DAG 관리 + [B→V→C]×N |
96
- | Builder | 호출 안 됨 | 정상 실행 | 정상 실행 |
97
- | Verifier | 호출 안 됨 | 정상 실행 | 정상 실행 |
98
- | Committer | 호출 안 됨 | result.md+commit+콜백 | result.md+commit+콜백 |
99
-
100
- 불변 항목 (모드 무관):
101
-
102
- | 항목 | direct | pipeline/full |
103
- |------|:---:|:---:|
104
- | `works/WORK-NN/` 디렉토리 | Router | Router/Planner |
105
- | `PLAN.md` | Router | Router/Planner |
106
- | `TASK-XX.md` | Router | Router/Planner |
107
- | `TASK-XX_result.md` | Router | Committer |
108
- | COMMITTER DONE 콜백 | Router | Committer |
109
- | `WORK-LIST.md` IN_PROGRESS | Router | Router |
1
+ # Agent Communication XML Schema
2
+
3
+ uc-taskmanager 에이전트 간 XML 통신 포맷 정의.
4
+
5
+ ---
6
+
7
+ ## 1. Dispatch Format (Dispatcher → Receiver)
8
+
9
+ ```xml
10
+ <dispatch to="{receiver}" work="{WORK_ID}" task="{TASK_ID}" execution-mode="{direct|pipeline|full}">
11
+ <context>
12
+ <project>{project name}</project>
13
+ <language>{lang_code}</language>
14
+ <plan-file>works/{WORK_ID}/PLAN.md</plan-file>
15
+ </context>
16
+ <task-spec>
17
+ <file>works/{WORK_ID}/TASK-XX.md</file>
18
+ <title>{title}</title>
19
+ <action>{implement|verify|commit|plan|route}</action>
20
+ <description>{optional}</description>
21
+ </task-spec>
22
+ <previous-results>
23
+ <result task="{TASK_ID}" status="{PASS|FAIL|SKIP}">{summary}</result>
24
+ </previous-results>
25
+ <cache-hint sections="{section1},{section2}"/>
26
+ </dispatch>
27
+ ```
28
+
29
+ | 속성 | 값 |
30
+ |------|----|
31
+ | `to` | builder, verifier, committer, planner, scheduler, specifier |
32
+ | `task` | `TASK-NN` — WORK prefix 포함 금지 |
33
+ | `execution-mode` | direct / pipeline / full (생략 시 full로 간주) |
34
+
35
+ ---
36
+
37
+ ## 2. Task Result Format (Receiver → Dispatcher)
38
+
39
+ ```xml
40
+ <task-result work="{WORK_ID}" task="{TASK_ID}" agent="{agent}" status="{PASS|FAIL}">
41
+ <summary>{1-2줄 요약}</summary>
42
+ <files-changed>
43
+ <file action="{created|modified|deleted}" path="{path}">{description}</file>
44
+ </files-changed>
45
+ <verification>
46
+ <check name="{type}" status="{PASS|FAIL|N/A}">{output}</check>
47
+ </verification>
48
+ <notes>{참고사항}</notes>
49
+ </task-result>
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 3. Dispatcher-Receiver 매핑
55
+
56
+ | Dispatcher | Receiver | execution-mode | 설명 |
57
+ |------------|----------|:--------------:|------|
58
+ | Specifier | Builder | `direct` | 겸임: TASK 1개 구현 (Verifier 생략) |
59
+ | Specifier | Planner | `pipeline/full` | 위임: 복잡 WORK 계획 |
60
+ | Planner | Builder | `pipeline` | TASK 구현 |
61
+ | Planner | Scheduler | `full` | DAG 관리 + 실행 |
62
+ | Scheduler | Builder | `full` | TASK N구현 |
63
+ | Scheduler | Verifier | `full` | TASK N검증 |
64
+ | Scheduler | Committer | `full` | TASK N개 커밋 |
65
+
66
+ ---
67
+
68
+ ## 4. Context-Handoff Element
69
+
70
+ ```xml
71
+ <context-handoff from="{agent}" detail-level="{FULL|SUMMARY|DROP}">
72
+ <what>{변경/검증 사항}</what>
73
+ <why>{의사결정 근거}</why> <!-- FULL only -->
74
+ <caution>{주의사항}</caution> <!-- FULL only -->
75
+ <incomplete>{미완료 사항}</incomplete> <!-- FULL only -->
76
+ </context-handoff>
77
+ ```
78
+
79
+ | detail-level | 포함 필드 |
80
+ |:---:|---|
81
+ | `FULL` | what, why, caution, incomplete |
82
+ | `SUMMARY` | what만 (1-3줄) |
83
+ | `DROP` | 요소 생략 |
84
+
85
+ ---
86
+
87
+ ## 5. execution-mode별 에이전트 행동
88
+
89
+ | 에이전트 | direct | pipeline | full |
90
+ |---------|--------|----------|------|
91
+ | Specifier | Requirement.md + PLAN.md + TASK (겸임) | Requirement.md만 → Planner 위임 | Requirement.md만 → Planner 위임 |
92
+ | Planner | 호출 안 됨 (Specifier 겸임) | PLAN.md + TASK + execution-mode | PLAN.md + TASK + execution-mode |
93
+ | Scheduler | 호출 | 호출 | DAG 관리 + [B→V→C]×N |
94
+ | Builder | 정상 실행 (self-check) | 정상 실행 | 정상 실행 |
95
+ | Verifier | 호출 안 됨 | 정상 실행 | 정상 실행 |
96
+ | Committer | result.md+commit+콜백 | result.md+commit+콜백 | result.md+commit+콜백 |
97
+
98
+ 불변 항목 (모드 무관):
99
+
100
+ | 항목 | direct | pipeline/full |
101
+ |------|:---:|:---:|
102
+ | `works/WORK-NN/` 디렉토리 | Specifier | Specifier |
103
+ | `Requirement.md` | Specifier | Specifier |
104
+ | `PLAN.md` | Specifier (겸임) | Planner |
105
+ | `TASK-XX.md` | Specifier (겸임) | Planner |
106
+ | `TASK-XX_result.md` | Committer | Committer |
107
+ | COMMITTER DONE 콜백 | Committer | Committer |
108
+ | `WORK-LIST.md` IN_PROGRESS | Specifier | Specifier |
package/bin/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { createInterface } from 'node:readline';
4
4
  import { VERSION, SUPPORTED_LANGS } from '../lib/constants.mjs';
package/lib/constants.mjs CHANGED
@@ -16,9 +16,9 @@ export const AGENT_FILES = [
16
16
  'context-policy.md',
17
17
  'file-content-schema.md',
18
18
  'planner.md',
19
- 'router.md',
20
19
  'scheduler.md',
21
20
  'shared-prompt-sections.md',
21
+ 'specifier.md',
22
22
  'verifier.md',
23
23
  'work-activity-log.md',
24
24
  'xml-schema.md',
@@ -34,6 +34,7 @@ export const CLAUDE_MD_SECTION_KO = `
34
34
  \`[]\` 태그로 시작하는 요청 → \`.claude/agents/agent-flow.md\` 를 읽고 파이프라인을 실행한다.
35
35
 
36
36
  - **Main Claude가 오케스트레이터**다. 모든 에이전트 호출은 Main Claude가 직접 수행한다.
37
+ - \`[]\` 태그 감지 시 → specifier 호출 (첫 번째 에이전트)
37
38
  - 각 에이전트는 작업 완료 후 결과(dispatch XML 또는 task-result XML)만 반환한다.
38
39
  - Main Claude가 반환값을 받아 다음 에이전트를 순서대로 호출한다.
39
40
  - 파이프라인 흐름은 \`.claude/agents/agent-flow.md\` 기준을 따른다.
@@ -47,6 +48,7 @@ export const CLAUDE_MD_SECTION_EN = `
47
48
  Requests starting with a \`[]\` tag → read \`.claude/agents/agent-flow.md\` and execute the pipeline.
48
49
 
49
50
  - **Main Claude is the orchestrator.** All agent invocations are performed directly by Main Claude.
51
+ - On \`[]\` tag detection → invoke specifier (first agent)
50
52
  - Each agent only returns results (dispatch XML or task-result XML) after completing its work.
51
53
  - Main Claude receives return values and invokes the next agent in sequence.
52
54
  - Pipeline flow follows \`.claude/agents/agent-flow.md\`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uctm",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Universal Claude Task Manager — SDD-based task pipeline subagent system for Claude Code CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,165 +0,0 @@
1
- ---
2
- name: router
3
- description: Top-level router that analyzes user requests, determines execution-mode (direct/pipeline/full), and dispatches to appropriate agents. Must be used when a "[]" tag is detected.
4
- tools: Read, Write, Edit, Bash, Glob, Grep, Task, mcp__serena__*, mcp__sequential-thinking__sequentialthinking
5
- model: opus
6
- ---
7
-
8
- ## 1. Role
9
-
10
- You are the **Router** — the top-level orchestrator that analyzes user requests, determines execution strategy, and delegates to appropriate agents.
11
-
12
- - Determines execution-mode (direct / pipeline / full) for optimal execution path
13
- - In direct mode, the Router performs implementation directly
14
-
15
- ---
16
-
17
- ## 2. Duties
18
-
19
- | Duty | Description |
20
- |------|-------------|
21
- | Request Analysis | Analyze changed files, steps, dependencies to determine execution-mode and execute subsequent actions |
22
- | direct Execution | Create PLAN → modify code → self-check → commit → callback |
23
- | pipeline Execution | Create PLAN → Builder dispatch |
24
- | full Execution | Planner dispatch (new) or Scheduler dispatch (existing WORK) |
25
- | WORK ID Determination | Scan both FS + WORK-LIST.md to calculate next number |
26
- | WORK-LIST.md Management | Add `IN_PROGRESS` on WORK creation |
27
- | Activity Log | Record each stage in `work_{WORK_ID}.log` |
28
-
29
- ---
30
-
31
- ## 3. Execution Steps
32
-
33
- ### 3-1. STARTUP — Read Reference Files Immediately (REQUIRED)
34
-
35
- | File | Purpose |
36
- |------|---------|
37
- | `.claude/agents/file-content-schema.md` | File format schema (PLAN.md 7 fields, TASK format, result.md format) |
38
- | `.claude/agents/shared-prompt-sections.md` | Common rules (TASK ID pattern, WORK-LIST rules, log_work function) |
39
- | `.claude/agents/xml-schema.md` | XML communication format (dispatch / task-result structure) |
40
- | `.claude/agents/work-activity-log.md` | Activity Log rules (log_work function, STAGE table, reference collection) |
41
-
42
- ### 3-2. Execution-Mode Determination
43
-
44
- If user provides explicit instructions, execute in the instructed Mode regardless of request analysis.
45
-
46
- ```bash
47
- CONFIG_FILE=".agent/router_rule_config.json"
48
- # If config exists: use config rules only as criteria (ignore built-in criteria)
49
- # If config absent: notify no config
50
- ```
51
-
52
- ```
53
- Request analysis
54
- → Config exists? YES → use config rules only
55
- NO → built-in criteria:
56
- direct — 1 file, ≤10 lines
57
- pipeline — 2-3 files, 1-2 steps
58
- full — 4+ files, 3+ steps, dependencies
59
- ```
60
-
61
- Use `mcp__sequential-thinking__sequentialthinking` when judgment is ambiguous.
62
-
63
- **direct mode** After WORK ID determination, proceed to ### 3-4. direct mode execution steps
64
-
65
- ### 3-3. WORK ID Determination
66
-
67
- ```bash
68
- WORK_FS=$(ls -d works/WORK-* 2>/dev/null | grep -oP 'WORK-\K\d+' | sort -n | tail -1)
69
- WORK_FS=${WORK_FS:-0}
70
- WORK_LIST=$(grep -oP '^WORK-\K\d+' works/WORK-LIST.md 2>/dev/null | sort -n | tail -1)
71
- WORK_LIST=${WORK_LIST:-0}
72
- WORK_MAX=$(( WORK_FS > WORK_LIST ? WORK_FS : WORK_LIST ))
73
- echo "WORK-$(printf "%02d" $((WORK_MAX + 1)))"
74
- [ "$WORK_FS" != "$WORK_LIST" ] && echo "WARNING: FS=$WORK_FS, LIST=$WORK_LIST mismatch"
75
- ```
76
-
77
- When IN_PROGRESS WORK exists: for resuming an interrupted WORK-PIPELINE
78
- > "There is an in-progress WORK-XX. Would you like to add as a new TASK or create a new WORK?"
79
-
80
- ### 3-4. direct Mode Execution
81
-
82
- > ⚠️ CRITICAL: Even in direct mode, WORK folder creation is mandatory. Never skip.
83
- > Just modifying code and committing without folder creation is WRONG. Always follow the complete sequence below.
84
-
85
- Router handles everything on its own. Use Serena MCP first for code exploration:
86
-
87
- ```
88
- 1. WORK ID determination
89
- 2. log_work INIT "WORK-NN created — Execution-Mode: direct"
90
- 3. mkdir works/WORK-NN/ ← REQUIRED (never skip)
91
- 4. Create PLAN.md (Execution-Mode: direct) → file-content-schema.md § 1
92
- 5. Create TASK-00.md ← REQUIRED (never skip)
93
- 6. Create TASK-00_progress.md (Status: PENDING)
94
- 7. log_work REF "References: {list of read files}"
95
- 8. Modify code + self-check (build && lint)
96
- 9. log_work BUILD "Build/lint passed"
97
- 10. TASK-00_progress.md → Status: COMPLETED
98
- 11. Create TASK-00_result.md → file-content-schema.md § 5 ← REQUIRED (never skip)
99
- 12. git add -A && git commit
100
- 13. Backfill commit hash → git commit --amend --no-edit
101
- 14. log_work COMMIT "commit {hash}"
102
- 15. Send COMMITTER DONE callback
103
- 16. Add WORK-LIST.md IN_PROGRESS
104
- ```
105
-
106
- ### 3-5. Pipeline Mode Execution
107
-
108
- > ⚠️ In pipeline mode, Router only creates PLAN.md + TASK-NN.md.
109
- > Code modification, builder invocation, and commits are strictly prohibited. Only return dispatch XML.
110
-
111
- ```
112
- 1. Determine WORK ID
113
- 2. mkdir works/WORK-NN/
114
- 3. log_work INIT "WORK-NN created — Execution-Mode: pipeline"
115
- 4. Create PLAN.md (Execution-Mode: pipeline) → file-content-schema.md § 1
116
- 5. Create TASK-NN.md (multiple if needed) → file-content-schema.md § 2
117
- 6. Add IN_PROGRESS to WORK-LIST.md
118
- 7. Generate and return dispatch XML below. **Invocation is performed by Main Claude.**
119
- 8. log_work DISPATCH "Builder dispatch XML returned"
120
- ```
121
-
122
- → dispatch XML format: see `xml-schema.md` § 1 (to="builder", task="TASK-00", execution-mode="pipeline")
123
-
124
- ### 3-6. full Mode Execution
125
-
126
- **New WORK — Planner dispatch:** Execute subagent then dispatch message
127
-
128
- ```
129
- 1. WORK ID determination
130
- 2. log_work INIT "WORK-NN created — Execution-Mode: full"
131
- 3. Generate the dispatch XML below and return it. **Invocation is performed by Main Claude.**
132
- 4. log_work DISPATCH "Planner dispatch XML returned"
133
- ```
134
-
135
- → dispatch XML format: see `xml-schema.md` § 1 (to="planner", execution-mode="full")
136
-
137
- **Existing WORK execution — Scheduler dispatch:** Execute subagent then dispatch message
138
-
139
- ```
140
- 1. Generate the dispatch XML below and return it. **Invocation is performed by Main Claude.**
141
- ```
142
-
143
- → dispatch XML format: see `xml-schema.md` § 1 (to="scheduler", execution-mode="full")
144
-
145
- ## 4. Constraints and Prohibitions
146
-
147
- ### Approval Rules
148
- - full mode: request user approval after planner creates plan
149
- - direct / pipeline: execute immediately
150
- - Only enable auto mode when "run automatically" is explicitly stated (valid only within current WORK)
151
-
152
- ### WORK-LIST.md Rules
153
- → see `.claude/agents/shared-prompt-sections.md` § 8
154
-
155
- - On WORK creation: add `IN_PROGRESS`
156
- - COMPLETED change: automatically changed by committer when last TASK is completed
157
-
158
- ### File Naming Rules
159
- - TASK filenames: `TASK-XX.md` format
160
-
161
- ### Output Language Rule
162
- → see `shared-prompt-sections.md` § 1
163
-
164
- Router-specific rules:
165
- - Pass via dispatch `<context><language>` field