Commit graph

190 commits

Author SHA1 Message Date
Haoran
168fff86dd Fix empty tool-use response handling 2026-08-15 00:03:45 +08:00
Yang Haoran
985456f4ad
Merge pull request #233 from Mr-JingShi/main
Some checks are pending
CI / build (push) Waiting to run
Test / python-smoke (push) Waiting to run
Test / web-build (push) Waiting to run
refactor: enhance MessageBus.read_inbox with clear parameter
2026-08-14 23:31:44 +08:00
Yang Haoran
1a323fb70c
Merge pull request #521 from shareAI-lab/fix/skill-frontmatter-parsing
Fix skill frontmatter parsing on the current course
2026-08-14 23:25:21 +08:00
Haoran
acdeacc47a Fix skill frontmatter parsing 2026-08-14 23:14:19 +08:00
Yang Haoran
eb4307f4e4
Merge pull request #512 from shareAI-lab/feat/course-v22-refresh
Some checks failed
CI / build (push) Has been cancelled
Test / python-smoke (push) Has been cancelled
Test / web-build (push) Has been cancelled
feat: streamline the course into 17 harness lessons
2026-08-12 09:47:36 +08:00
Haoran
990e4056b9 docs: refine the integrated harness tagline 2026-08-12 09:25:11 +08:00
Haoran
7e2f2fd99b refactor: streamline the course to 17 lessons 2026-08-12 03:02:42 +08:00
Haoran
ab35e59672 Refine course progression and runtime safety 2026-08-11 15:13:13 +08:00
Haoran
b36dbcd84f Consolidate agent harness course into 19 lessons 2026-08-04 02:25:40 +08:00
Haoran
2ad77cee19 feat: refresh goal loop lesson 2026-07-31 21:44:10 +08:00
Haoran
13dc5396bb feat: refresh context compaction lesson 2026-07-31 15:52:53 +08:00
Haoran
2affb3f345 docs: simplify Chinese course prose 2026-07-31 03:54:12 +08:00
Haoran
4a14529774 docs: rename s19 to integrated harness 2026-07-31 03:35:17 +08:00
Haoran
2d69019342 feat: consolidate course into 21 lessons 2026-07-31 03:15:58 +08:00
Haoran
4bc33ec858 docs: make workflow and goal lessons harness-first 2026-07-30 20:05:33 +08:00
Haoran
cb8fae1bdd feat: refresh course through workflow and goal loops 2026-07-30 19:14:04 +08:00
github-actions[bot]
2dd1852d9e Merge remote-tracking branch 'upstream/main' 2026-07-28 19:12:03 +00:00
Yang Haoran
7b564c3ee6
Merge pull request #490 from shareAI-lab/fix/s18-idle-poll-wtctx-update
Some checks failed
CI / build (push) Has been cancelled
Test / python-smoke (push) Has been cancelled
Test / web-build (push) Has been cancelled
fix(s18): update wt_ctx after idle_poll auto-claims a worktree task
2026-07-29 01:27:46 +08:00
root
43beba5e51 fix(s18): update wt_ctx after idle_poll auto-claims a worktree task
idle_poll wrote the worktree path into the prompt text but never
updated wt_ctx["path"], so the teammate's bash/read/write tools
still ran in the main repo instead of the bound worktree.

Change idle_poll to return (result, claimed_task_id) tuple, and
update wt_ctx in the caller when a worktree-bound task was claimed.
s20 already handles this correctly by passing worktree_context into
idle_poll directly.

Closes #475
2026-07-29 01:23:37 +08:00
github-actions[bot]
57ee0c6316 Merge remote-tracking branch 'upstream/main' 2026-07-28 17:20:45 +00:00
Yang Haoran
d6c804f2d4
Merge pull request #489 from shareAI-lab/docs/s16-fix-protocol-flowchart
Some checks are pending
CI / build (push) Waiting to run
Test / python-smoke (push) Waiting to run
Test / web-build (push) Waiting to run
docs(s16): fix protocol flowchart — separate shutdown and plan approval flows
2026-07-29 00:20:32 +08:00
root
a2374c5bd4 docs(s16): fix protocol flowchart — separate shutdown and plan approval flows
Split the single protocol row into two distinct flows:
- Protocol A (yellow): shutdown, initiated by Lead via request_shutdown
- Protocol B (blue): plan approval, initiated by Teammate via submit_plan

request_plan is now shown as a plain message (grey dashed box/arrow),
not a protocol action. review_plan is added to the diagram. All three
language SVGs updated with the same layout.

Closes #373
2026-07-29 00:14:40 +08:00
github-actions[bot]
3c412644ad Merge remote-tracking branch 'upstream/main' 2026-07-28 15:13:54 +00:00
Yang Haoran
ac822662f5
Merge pull request #488 from shareAI-lab/fix/s10-use-dynamic-context-in-prompt
fix(s10): assemble system prompt from dynamic context instead of static strings
2026-07-28 22:34:56 +08:00
root
b4e7269d76 fix(s10): assemble system prompt from dynamic context instead of static strings
PROMPT_SECTIONS["memory"] was defined but never referenced, and
update_context() collected enabled_tools and workspace that
assemble_system_prompt() ignored, using hardcoded strings instead.

Now assemble_system_prompt reads tools and workspace from the
context dict, and PROMPT_SECTIONS only holds the identity line.
All three README code snippets are synchronized.

Closes #471
2026-07-28 22:27:58 +08:00
Yang Haoran
2f4d02d7d8
Merge pull request #487 from shareAI-lab/docs/s08-clarify-reactive-compact-wording
docs(s08): clarify reactive_compact aggressive wording refers to trigger, not compression
2026-07-28 22:27:13 +08:00
root
b6eb5c0f3b docs(s08): clarify reactive_compact aggressive wording refers to trigger, not compression
The original phrasing "more aggressive than compact_history" was
ambiguous: the code shows reactive_compact is actually more
conservative in compression (keeps ~5 recent messages vs replacing
everything with a summary).  The real difference is the trigger
mechanism — reactive_compact is an emergency response to a 413
error, not a proactive threshold-based trigger.

Clarify in all three README languages that the aggressiveness is
about the trigger, not the compression strategy.

Closes #467
2026-07-28 22:17:25 +08:00
Yang Haoran
1286850c5f
Merge pull request #461 from ggttyy1/fix/rounds-since-todo
fix: reset rounds_since_todo on each session
2026-07-28 21:57:01 +08:00
Yang Haoran
d04e064306
Merge pull request #463 from ggttyy1/fix/with-retry-lambda
Fix/resolve lambda default param capturing current_model
2026-07-28 21:56:33 +08:00
Yang Haoran
a7eb274df2
Merge pull request #486 from shareAI-lab/fix/s17-readme-s16-comparison-table
docs(s17): fix incorrect s16 comparison in changes-from-s16 table
2026-07-28 21:37:42 +08:00
root
fc114def7a docs(s17): fix incorrect s16 comparison in changes-from-s16 table
The table had several inaccurate entries for the s16 column. s16
already had a WORK→IDLE→SHUTDOWN state machine, handled
shutdown_request during IDLE, and used consume_lead_inbox for
protocol routing and history injection — but the table described
s16 as having none of these.

This updates the table so the s16 column reflects what s16
actually does, verified against s16_team_protocols/code.py.
All three README languages are synchronized.

Closes #480
2026-07-28 21:29:53 +08:00
github-actions[bot]
a78f861093 Merge remote-tracking branch 'upstream/main' 2026-07-28 12:49:18 +00:00
root
581241cdc7 fix(s03,s04,s20): remove dead safe_path, sync READMEs
- Delete safe_path entirely (following PR #483 approach) — no dead code
- Update all 3 READMEs per module to reflect read_file in Gate 2
- s04: also update permission_hook snippet in READMEs
- s20: remove safe_path (already replaced with inline resolution)

Closes #482
2026-07-28 20:24:01 +08:00
root
97b8541b36 fix(s04,s20): resolve Gate2 safe_path conflict same as s03
s04_hooks: permission_hook checks path + asks user, but safe_path
still raised hard ValueError — user approval was ineffective, same
root cause as s03 (#482).

s20_comprehensive: permission_hook used safe_path directly inside
try/except, silently denying all writes outside workspace without
ever asking the user.  Now uses is_relative_to check + user prompt.

Both files also add read_file to the permission coverage.

s05-s08 intentionally NOT changed: their permission_hook does not
check paths at all — safe_path is their only path-safety defense.
2026-07-28 20:23:58 +08:00
Viper
4d8d420e41 fix(s03): let Gate 2 own the workspace boundary instead of safe_path
safe_path hard-raised on out-of-workspace paths while Gate 2 asked about the same condition, so approving an out-of-workspace write never took effect. Make the permission pipeline the sole boundary authority: drop safe_path, resolve paths directly in the file tools, and extend the Gate 2 rule to read_file. Sync all three READMEs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 20:23:56 +08:00
ggttyy1
fbd40c4539 fix: resolve lambda default param capturing current_model 2026-07-11 21:39:23 +08:00
ggttyy1
ffe1fef0b5 fix: make rounds_since_todo a local variable 2026-07-11 19:47:55 +08:00
ggttyy1
4faf3e4c52 fix: reset rounds_since_todo on each session 2026-07-11 18:36:19 +08:00
github-actions[bot]
c0d7022cc5 Merge remote-tracking branch 'upstream/main' 2026-06-26 20:29:03 +00:00
Yang Haoran
a9cafe953a
Merge pull request #433 from Bill-Billion/codex/update-env-models
Some checks failed
CI / build (push) Has been cancelled
Test / python-smoke (push) Has been cancelled
Test / web-build (push) Has been cancelled
[codex] Update provider model examples
2026-06-27 03:36:34 +08:00
Haoran
9d9453cff0 Update provider model examples 2026-06-27 03:32:20 +08:00
github-actions[bot]
ca2fc1adf5 Merge remote-tracking branch 'upstream/main' 2026-06-26 18:25:24 +00:00
Yang Haoran
4545a380e6
Merge pull request #362 from Panda-eyes123/fix
fix: show error messages when API exceptions occur in s12-s20
2026-06-27 01:55:39 +08:00
Yang Haoran
85f6e511bb
Merge pull request #361 from YonganZhang/docs/canonical-kode-repo-links
docs: use canonical Kode repository links
2026-06-27 01:29:36 +08:00
Yang Haoran
5c3328101f
Merge pull request #286 from 123456wda/fix/s09-s10-s11-missing-dev-null-check
fix: add missing "> /dev/" dangerous command check in s09/s10/s11
2026-06-27 01:28:25 +08:00
Yang Haoran
939446d412
Merge pull request #245 from bansalkanav/main
fix sequence notation by adding missing `>` after active step markers
2026-06-27 01:27:06 +08:00
Yang Haoran
5cde7c548f
Merge pull request #432 from Bill-Billion/add_contributing
Add CONTRIBUTING with contribution scope and review policy
2026-06-27 01:25:31 +08:00
Haoran
c32ce1af94 Add CONTRIBUTING with scope and review policy
State the contribution rules for this teaching repository: tie each PR to an
issue, keep teaching code minimal, keep the three language READMEs in sync,
target current chapter files, and disclose AI assistance. Note that bulk PRs
generated by an agent across many repositories may be closed without detailed
review.
2026-06-27 01:17:52 +08:00
Yang Haoran
dd092054ed
Merge pull request #431 from Bill-Billion/fix_374_idle_poll
s17: remove redundant idle_poll agent_name parameter and sync READMEs
2026-06-27 01:03:50 +08:00
Haoran
f366a86239 Sync s17 READMEs with the idle_poll signature change
The code change dropped the redundant agent_name parameter, but the
trilingual README snippets still showed the old four-arg signature, the
double-passed call site, and agent_name inside the function body
(read_inbox and claim_task). Update all three language code blocks to
the three-arg form and bump the translation-sync markers so the docs
match the code.
2026-06-27 00:54:34 +08:00