gui-yue
328af249dc
Merge pull request #330 from Leiber-CivilComEngineer/fix-400-error-in-s13-background-tasks
...
fix 400 error in s13_background_tasks
2026-05-31 15:57:15 +08:00
Leiber Lyu
3fe4b128b5
Fix a bug where tool_result messages must appear before text in user messages
2026-05-31 14:29:41 +10:00
gui-yue
5c955480ee
Merge pull request #329 from hardness1020/docs/s07-three-level-disclosure
...
docs(s07_skill_loading): note SKILL.md can guide later resource access via file/bash tools
2026-05-31 09:40:28 +08:00
hardness1020
afb0f07f14
docs(s07_skill_loading): note SKILL.md can guide later resource access via file/bash tools
2026-05-30 12:11:22 -07:00
Marcus Chang
71577e0142
fix(s03): route permission-overview deny arrow back to messages[] ( #318 )
...
* fix(s03): route denied tool calls back to tool_result
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-05-29 19:48:06 +08:00
gui-yue
ca33bf1913
Merge pull request #322 from hardness1020/fix/extract-text-placement
...
fix(s06): move extract_text() next to its only caller
2026-05-29 14:02:22 +08:00
gui-yue
a548d78c4a
Merge pull request #298 from neystan/fix/s07-reminder-tool-result-order
...
fix: prevent tool_result order corruption in s07 reminder injection
2026-05-29 12:43:21 +08:00
neystan
2ba5b7e837
fix: prevent tool_result order corruption in s07 reminder injection
2026-05-29 12:10:44 +08:00
gui-yue
7a91315625
Merge pull request #320 from hardness1020/fix/s04-hooks-problem-block-idiom
...
fix(s04): align problem code block with early-continue idiom
2026-05-29 11:48:07 +08:00
hardness1020
369b598af7
fix(s06): move extract_text() next to its only caller
...
extract_text() is new in s06 (listed in the docstring under "Changes
from s05") but was defined under the "FROM s02-s05 (unchanged)" banner.
Move it into the "NEW in s06: Subagent" section, directly above its only
caller spawn_subagent(). Pure move, no logic change.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 16:53:26 -07:00
hardness1020
6d4970977d
fix(s04): use early-continue idiom in problem code block
...
The problem block used a nested `if block.type == "tool_use":` while the
solution block and code.py use `if block.type != "tool_use": continue`.
This made the problem->solution diff show two changes instead of the one
the section teaches (the README states only one place in the loop changed).
Align all three README variants (zh/en/ja) to the early-continue idiom.
2026-05-28 10:34:42 -07:00
Yang Haoran
c586792bbb
Merge pull request #312 from Gui-Yue/fix/s09-memory-turn-context
...
fix: inject s09 memories as turn context
2026-05-26 14:56:49 +08:00
gui-yue
6acbf6add1
Merge pull request #310 from shareAI-lab/codex/web-s01-s20-curriculum
...
fix: prevent course SVG text overflow
2026-05-26 14:30:14 +08:00
Gui-Yue
c396d59f03
fix: inject s09 memories as turn context
2026-05-26 06:18:13 +00:00
Haoran
4d12ca93de
fix: prevent course svg text overflow
2026-05-26 11:17:58 +08:00
Yang Haoran
8a20e2566b
Merge pull request #307 from shareAI-lab/codex/web-s01-s20-curriculum
...
Complete web curriculum visuals and interactions
2026-05-25 22:41:30 +08:00
Haoran
fdd7d2a851
feat: complete web curriculum visuals
2026-05-25 22:38:02 +08:00
gui-yue
956d8272ce
Merge pull request #301 from WorkHaH/fix-s02-output-decoding
...
Fixed the child process output decoding issue in the s02 tool call.
2026-05-25 18:26:15 +08:00
WorkHaH
de4f09b12b
Fix subprocess output decoding in s02
2026-05-25 14:35:32 +08:00
gui-yue
dc816a843c
Merge pull request #297 from Gui-Yue/chore/update-agent-formula-main
...
docs: refine one statement
2026-05-24 23:39:38 +08:00
gui-yue
0d7fd028b4
Merge pull request #294 from Gui-Yue/todo-task-fix
...
fix: align TodoWrite memory model with task system docs
2026-05-24 23:39:16 +08:00
gui-yue
0e8ac5aa2d
Merge pull request #303 from Gui-Yue/fix/s11-print-full-continuation
...
fix: print full s11&s20 continuation output
2026-05-24 23:35:47 +08:00
Gui-Yue
a510aef5da
fix: print full s11 continuation output
2026-05-24 15:34:14 +00:00
Gui-Yue
824f7f737d
docs: refine Chinese harness formula wording
2026-05-22 16:11:17 +00:00
gui-yue
06ac34ed4d
Merge pull request #287 from 123456wda/fix/s06-compact-focus-param
...
fix(s06): wire compact tool's focus parameter into auto_compact
2026-05-22 22:31:20 +08:00
Gui-Yue
6d48bc978b
fix: align TodoWrite memory model with task system docs
2026-05-21 23:55:00 +08:00
gui-yue
1baf1aca5a
Follow up PR #265 : refine chapters, diagrams, and add S20 ( #283 )
...
* feat: s01-s14 docs quality overhaul — tool pipeline, single-agent, knowledge & resilience
Rewrite code.py and README (zh/en/ja) for s01-s14, each chapter building
incrementally on the previous. Key fixes across chapters:
- s01-s04: agent loop, tool dispatch, permission pipeline, hooks
- s05-s08: todo write, subagent, skill loading, context compact
- s09-s11: memory system, system prompt assembly, error recovery
- s12-s14: task graph, background tasks, cron scheduler
All chapters CC source-verified. Code inherits fixes forward (PROMPT_SECTIONS,
json.dumps cache, real-state context, can_start dep protection, etc.).
* feat: s15-s19 docs quality overhaul — multi-agent platform: teams, protocols, autonomy, worktree, MCP tools
Rewrite code.py and README (zh/en/ja) for s15-s19, the multi-agent platform
chapters. Each chapter inherits all previous fixes and adds one mechanism:
- s15: agent teams (TeamCreate, teammate threads, shared task list)
- s16: team protocols (plan approval, shutdown handshake, consume_inbox)
- s17: autonomous agents (idle polling, auto-claim, consume_lead_inbox)
- s18: worktree isolation (git worktree, bind_task, cwd switching, safety)
- s19: MCP tools (MCPClient, normalize_mcp_name, assemble_tool_pool, no cache)
All appendix source code references verified against CC source. Config priority
corrected: claude.ai < plugin < user < project < local.
* fix: 5 regressions across s05-s19 — glob safety, todo validation, memory extraction, protocol types, dep crash
- s05-s09: glob results now filter with is_relative_to(WORKDIR) (inherited from s02)
- s06-s08: todo_write validates content/status required fields (inherited from s05)
- s09: extract_memories uses pre-compression snapshot instead of compacted messages
- s16: submit_plan docstring clarifies protocol-only (not code-level gate)
- s17-s19: match_response restores type mismatch validation (from s16)
- s17-s19: claim_task deps list handles missing dep files without crashing
* fix: s12 Todo V2 logic reversal, s14/s15 cron range validation, s18/s19 worktree name validation
- s12 README (zh/en/ja): fix Todo V2 direction — interactive defaults to Task,
non-interactive/SDK defaults to TodoWrite. Fix env var name to
CLAUDE_CODE_ENABLE_TASKS (not TODO_V2).
- s14/s15: add _validate_cron_field with per-field range checks (minute 0-59,
hour 0-23, dom 1-31, month 1-12, dow 0-6), step > 0, range lo <= hi.
Replace old try/except validation that only caught exceptions.
- s18/s19: add validate_worktree_name() to remove_worktree and keep_worktree,
not just create_worktree.
* fix: align s16-s19 teaching tool consistency
* fix pr265 chapter diagrams
* Add comprehensive s20 harness chapter
* Fix chapter smoke test regressions
* Clarify README tutorial track transition
---------
Co-authored-by: Haoran <bill-billion@outlook.com >
2026-05-20 21:45:38 +08:00
123456wda
c171f8a545
fix(s06): wire compact tool's focus parameter into auto_compact
...
The compact tool schema declares a "focus" parameter ("What to preserve
in the summary") but the handler ignored it entirely -- the parameter
was never passed to auto_compact(). Now the focus value is captured from
block.input and included in the summarization prompt so the LLM knows
what details to prioritize when compressing the conversation.
2026-05-15 10:59:51 +08:00
Xinlu Lai
c354cf7721
Update README.md
2026-05-11 22:25:37 +08:00
CrazyBoyM
4b95969a03
refine: separate agency origin from agent product definition in READMEs
...
Resolves the contradiction between "Agent is the model" and
"Model is the driver, Harness is the vehicle". All three language
versions now clearly distinguish: agency comes from training,
but a working agent product = model + harness.
2026-04-15 00:58:19 +08:00
CrazyBoyM
8bad6eb73f
refine: separate agency origin from agent product definition in README-zh
...
Adjust the philosophical framing to resolve the contradiction between
"Agent is the model" and "Model is the driver, Harness is the vehicle".
Now clearly distinguishes: agency comes from training (not coded),
but a working agent product = model + harness.
2026-04-15 00:56:37 +08:00
chenyizhongx
d882d01e07
fix(web): remove duplicate "Execution Flow" heading in Deep Dive (#151 )
2026-04-01 21:00:52 +08:00
Zhang
6511c98631
Fix unhandled OSError in subprocess and unsafe dict access in subagent ( #159 )
...
- agents/s01_agent_loop.py: Add FileNotFoundError/OSError handling in run_bash()
- agents/s04_subagent.py: Same fix + use .get() for block.input['prompt']
(consistent with .get() already used for 'description' on line 157)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 21:00:47 +08:00
jigelang
117e59c541
fix s06:some model textblock may not be the first element ( #156 )
...
Co-authored-by: liuyuchao.tick <liuyuchao.tick@bytedance.com >
2026-04-01 21:00:25 +08:00
comey246
92b50e5cd2
Fix typo in zh/s04-subagent.md ( #163 )
...
"胖" just means fat, "臃肿" means size and content very much
2026-04-01 20:59:52 +08:00
CrazyBoyM
16b927c8ee
Fix s_full.py consistency: auto_compact keeps newest messages, nag reminder appends after tool_results
...
Two issues found during post-merge audit:
1. auto_compact used [:80000] (oldest) instead of [-80000:] (newest), inconsistent with s06
2. nag reminder used insert(0,...) instead of append(), inconsistent with s03
2026-03-30 00:09:37 +08:00
CrazyBoyM
def7c9a03e
Preserve read_file results during micro_compact (PR #72 )
...
Skip compacting read_file tool outputs since they are reference material.
Compacting them into placeholders forces the agent to re-read the same
files, creating loops. Other tool results are still compacted normally.
2026-03-30 00:06:02 +08:00
Xinlu Lai
e4edd82c8c
Merge pull request #88 from wbxl2000/main
...
优化中文翻译: 保留英文专有名词
2026-03-30 00:04:18 +08:00
Xinlu Lai
21bc06153f
Merge pull request #83 from QuentinHsu/fix/web-theme-mount-sync
...
fix(header): sync theme icon state after mount
2026-03-30 00:04:13 +08:00
CrazyBoyM
40f5a6ecc9
Merge pull request #123 : prevent task claiming race condition in s11
...
Add double-checked validation inside _claim_lock: verify task owner,
status, and blockedBy before claiming. Check claim_task return value
in idle loop to skip failed claims.
2026-03-29 23:57:14 +08:00
CrazyBoyM
5f2b0f205e
Simplify task graph to single-source blockedBy (PR #127 )
...
Remove unused blocks field and add_blocks parameter. The LLM never
used add_blocks in practice, making it dead code that taught a
misleading bidirectional pattern. Replace with remove_blocked_by
for dependency rewiring. Single-source-of-truth with blockedBy only.
2026-03-29 23:56:39 +08:00
CrazyBoyM
5c7b873d3b
Merge pull request #118 from deanbear/fix-auto-compact-400
...
fix: remove hardcoded assistant ack after auto_compact to fix 400
2026-03-29 23:52:02 +08:00
Xinlu Lai
61eb6ee87b
Merge pull request #85 from folook/fix/task_system_one_way_synchronization
...
fix(task-system): sync blocks when adding blockedBy dependencies
2026-03-29 23:49:15 +08:00
Xinlu Lai
6ac84e96a7
Merge pull request #110 from Zheisenbergy/Zheisenbergy-patch-1
...
fix: fix auto_compact truncating latest conversation content
2026-03-29 23:49:11 +08:00
CrazyBoyM
10d90cdcc6
Separate tool name from output across all agent sessions (s03-s_full)
...
Extends the readability fix from PR #128 (s02) to all remaining sessions.
Tool name and output are now on separate lines, consistent with s01's
existing pattern and improving readability for multi-line tool output.
2026-03-29 23:27:41 +08:00
CrazyBoyM
a66558a8df
Reapply "Merge pull request #128 from jimpablo/improve-output-format"
...
This reverts commit a879813eac .
2026-03-29 23:26:49 +08:00
CrazyBoyM
a879813eac
Revert "Merge pull request #128 from jimpablo/improve-output-format"
...
This reverts commit 86f7ac1410 , reversing
changes made to 3b9b87f027 .
2026-03-29 23:17:45 +08:00
Xinlu Lai
de2f03acec
Merge pull request #77 from Gujiassh/fix/s-full-follow-up
...
Fix running background status in s_full
2026-03-29 23:06:41 +08:00
Xinlu Lai
1e85c99a6f
Merge pull request #145 from Gujiassh/fix/python-smoke-tests
...
test: replace stale Python checks with smoke tests
2026-03-29 23:06:38 +08:00
Xinlu Lai
75d2066ecc
Merge pull request #135 from meowsaic/main
...
Fix: s_full.py print text responses in __main__ REPL loop
2026-03-29 23:06:35 +08:00