mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-06 16:31:12 +08:00
feat: add message bus (.msg/) to codex team-lifecycle skill
Align codex version with Claude version's team_msg message bus for frontend pipeline UI integration: - Phase 2: create .msg/ dir, write meta.json with pipeline_stages/roles, init messages.jsonl with session event - Phase 4: log task completion events, update role_state in meta.json - Phase 5: update meta.json status to completed, log shutdown event - SKILL.md: document .msg/ in session directory and add schema reference
This commit is contained in:
@@ -457,6 +457,9 @@ TASK_COMPLETE:
|
||||
| +-- decisions.md # Architecture and design decisions
|
||||
| +-- conventions.md # Codebase conventions
|
||||
| +-- issues.md # Known risks and issues
|
||||
+-- .msg/ # Message bus (UI integration)
|
||||
| +-- meta.json # Pipeline metadata (stages, roles, team_name)
|
||||
| +-- messages.jsonl # NDJSON event log
|
||||
+-- shared-memory.json # Cross-agent state
|
||||
```
|
||||
|
||||
@@ -505,6 +508,56 @@ The state file replaces Claude's TaskCreate/TaskList/TaskGet/TaskUpdate system.
|
||||
|
||||
---
|
||||
|
||||
## Message Bus (.msg/)
|
||||
|
||||
The `.msg/` directory provides pipeline metadata for the frontend UI. This is the **same format** used by Claude version's `team_msg` tool with `type: "state_update"`.
|
||||
|
||||
### meta.json
|
||||
|
||||
Pipeline metadata read by the API for frontend display:
|
||||
|
||||
```json
|
||||
{
|
||||
"status": "active",
|
||||
"pipeline_mode": "<mode>",
|
||||
"pipeline_stages": ["role1", "role2", "..."],
|
||||
"roles": ["coordinator", "role1", "role2", "..."],
|
||||
"team_name": "lifecycle",
|
||||
"role_state": {
|
||||
"<role>": {
|
||||
"status": "completed",
|
||||
"task_id": "TASK-ID",
|
||||
"_updated_at": "<ISO8601>"
|
||||
}
|
||||
},
|
||||
"updated_at": "<ISO8601>"
|
||||
}
|
||||
```
|
||||
|
||||
**pipeline_stages by mode**:
|
||||
|
||||
| Mode | pipeline_stages |
|
||||
|------|-----------------|
|
||||
| spec-only | `["analyst", "writer", "reviewer"]` |
|
||||
| impl-only | `["planner", "executor", "tester", "reviewer"]` |
|
||||
| fe-only | `["planner", "fe-developer", "fe-qa"]` |
|
||||
| fullstack | `["planner", "executor", "fe-developer", "tester", "fe-qa", "reviewer"]` |
|
||||
| full-lifecycle | `["analyst", "writer", "planner", "executor", "tester", "reviewer"]` |
|
||||
| full-lifecycle-fe | `["analyst", "writer", "planner", "executor", "fe-developer", "tester", "fe-qa", "reviewer"]` |
|
||||
|
||||
### messages.jsonl
|
||||
|
||||
NDJSON event log (one JSON object per line):
|
||||
|
||||
```json
|
||||
{"id":"MSG-001","ts":"<ISO8601>","from":"coordinator","to":"coordinator","type":"state_update","summary":"Session initialized","data":{...}}
|
||||
{"id":"MSG-002","ts":"<ISO8601>","from":"analyst","to":"coordinator","type":"impl_complete","summary":"RESEARCH-001 completed","data":{...}}
|
||||
```
|
||||
|
||||
**Message types**: `state_update`, `impl_complete`, `impl_progress`, `test_result`, `review_result`, `error`, `shutdown`
|
||||
|
||||
---
|
||||
|
||||
## Session Resume
|
||||
|
||||
When the orchestrator detects an existing active/paused session:
|
||||
|
||||
Reference in New Issue
Block a user