mirror of
https://github.com/shareAI-lab/analysis_claude_code.git
synced 2026-09-24 22:33:39 +08:00
Consolidate agent harness course into 19 lessons
This commit is contained in:
@@ -1,45 +1,97 @@
|
||||
{
|
||||
"version": "s17",
|
||||
"title": "Worktree Isolation",
|
||||
"description": "A task can be bound to an isolated git worktree so concurrent agents avoid stepping on each other.",
|
||||
"title": "Integrated Harness",
|
||||
"description": "The harness composes context assembly, tools, memory, teams, background work, cron, worktrees, and MCP.",
|
||||
"steps": [
|
||||
{
|
||||
"type": "user_message",
|
||||
"content": "Update the docs and parser in parallel without letting the changes interfere.",
|
||||
"annotation": "Concurrent edits need isolated working directories."
|
||||
"content": "Prepare this project for release. Check the code, update the docs, and report deployment readiness.",
|
||||
"annotation": "One ordinary request needs several earlier capabilities to work together."
|
||||
},
|
||||
{
|
||||
"type": "system_event",
|
||||
"content": "assemble_prompt: memory + task graph + skills + available tools + policy",
|
||||
"annotation": "The runtime builds the prompt from layered sources of context."
|
||||
},
|
||||
{
|
||||
"type": "assistant_text",
|
||||
"content": "I suggest a docs teammate while I run the release checks and inspect deployment status. Shall I start that team?",
|
||||
"annotation": "The Lead proposes the team before adding another persistent agent."
|
||||
},
|
||||
{
|
||||
"type": "user_message",
|
||||
"content": "Yes. Start the docs teammate and continue.",
|
||||
"annotation": "User confirmation opens the team boundary inherited from S15."
|
||||
},
|
||||
{
|
||||
"type": "tool_call",
|
||||
"toolName": "load_skill",
|
||||
"content": "{\"name\":\"code-review\"}",
|
||||
"annotation": "Skills contribute procedural context before execution."
|
||||
},
|
||||
{
|
||||
"type": "tool_call",
|
||||
"toolName": "create_task",
|
||||
"content": "{\"subject\":\"Update release notes\",\"description\":\"Prepare release documentation and report the result.\"}",
|
||||
"annotation": "The shared task board gives the docs work a stable owner and lifecycle."
|
||||
},
|
||||
{
|
||||
"type": "tool_result",
|
||||
"toolName": "create_task",
|
||||
"content": "Created task_1712345678_0042: Update release notes",
|
||||
"annotation": "The task ID connects the assignment to its working directory."
|
||||
},
|
||||
{
|
||||
"type": "tool_call",
|
||||
"toolName": "create_worktree",
|
||||
"content": "{\"task_id\":\"task_docs\",\"name\":\"docs-fix\"}",
|
||||
"annotation": "The tool validates a safe worktree name before touching git."
|
||||
},
|
||||
{
|
||||
"type": "system_event",
|
||||
"content": "git worktree add .worktrees/docs-fix -b agent/docs-fix",
|
||||
"annotation": "A separate branch and checkout are created for that task."
|
||||
"content": "{\"name\":\"release-docs\",\"task_id\":\"task_1712345678_0042\"}",
|
||||
"annotation": "The pending docs task receives a separate checkout before it is claimed."
|
||||
},
|
||||
{
|
||||
"type": "tool_result",
|
||||
"toolName": "create_worktree",
|
||||
"content": "task_docs bound to .worktrees/docs-fix",
|
||||
"annotation": "The task record stores the assigned worktree path."
|
||||
},
|
||||
{
|
||||
"type": "system_event",
|
||||
"content": ".worktrees/events.jsonl <- {event:\"created\", task:\"task_docs\", worktree:\"docs-fix\"}",
|
||||
"annotation": "Lifecycle events are emitted as a side channel."
|
||||
"content": "Worktree 'release-docs' created for task_1712345678_0042",
|
||||
"annotation": "The task now carries the checkout used by its eventual owner."
|
||||
},
|
||||
{
|
||||
"type": "tool_call",
|
||||
"toolName": "keep_worktree",
|
||||
"content": "{\"task_id\":\"task_docs\",\"reason\":\"needs human review\"}",
|
||||
"annotation": "Closeout can preserve a worktree instead of deleting it immediately."
|
||||
"toolName": "spawn_teammate",
|
||||
"content": "{\"name\":\"docs\",\"role\":\"documentation engineer\",\"prompt\":\"Claim task_1712345678_0042, update the release notes in its task-bound worktree, and report the result.\"}",
|
||||
"annotation": "Team delegation handles a parallel slice of the release."
|
||||
},
|
||||
{
|
||||
"type": "tool_call",
|
||||
"toolName": "bash",
|
||||
"content": "{\"command\":\"npm run lint && npm run test\",\"run_in_background\":true}",
|
||||
"annotation": "Long-running validation goes through the background task path."
|
||||
},
|
||||
{
|
||||
"type": "tool_call",
|
||||
"toolName": "connect_mcp",
|
||||
"content": "{\"name\":\"deploy\"}",
|
||||
"annotation": "External capabilities are added only when needed."
|
||||
},
|
||||
{
|
||||
"type": "tool_call",
|
||||
"toolName": "mcp__deploy__status",
|
||||
"content": "{\"service\":\"web\"}",
|
||||
"annotation": "Connecting discovers the tool; a separate call performs the status check."
|
||||
},
|
||||
{
|
||||
"type": "tool_result",
|
||||
"toolName": "mcp__deploy__status",
|
||||
"content": "[deploy] web: running (v1.4.2)",
|
||||
"annotation": "The readiness statement now comes from the MCP tool result rather than the connection event."
|
||||
},
|
||||
{
|
||||
"type": "system_event",
|
||||
"content": "recover: background task done, teammate replied, deploy status result appended",
|
||||
"annotation": "The integrated runtime folds asynchronous results back into the loop."
|
||||
},
|
||||
{
|
||||
"type": "assistant_text",
|
||||
"content": "The docs task now has an isolated worktree and can be reviewed independently from parser changes.",
|
||||
"annotation": "The user sees the isolation boundary, not just a raw git command."
|
||||
"content": "Release preparation is ready: checks passed, docs are updated in the teammate worktree, and deployment status is available.",
|
||||
"annotation": "The integrated harness returns a single user-facing outcome."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user