Commit Graph

582 Commits

Author SHA1 Message Date
kingwl
2530bf8aa3 fix(sandbox): address PR #309 review — TOCTOU direction, denial metadata, shared roots, docs
- fs-sandbox: delegate the mutation with the freshly re-canonicalized target
  (not the stale one), so the checked identity is the mutated identity — a
  symlink swapped in after resolve() can no longer escape workspace-write.
- tool-fs: map a denial to an FsError carrying FS_SANDBOX_DENIED (not a plain
  Error), so ToolRegistry keeps the structured code on result.error for
  retry/observers while the message stays the shared marker.
- sandbox-local: derive the Seatbelt writable set from the shared
  writableRoots() helper, so the profile and the fs fence cannot drift.
- gen-doc-graphs: ctx.sandboxPolicy is owned by dsh-sandbox-policy and read only
  by the sandboxed executor/provider (the tool layers use the pure fold).
- docs: bash-sandbox/bash/permission READMEs and bash.md reflect the relocated
  policy home and the sandbox/mode rename; drop the stale stdout.golden.jsonl.
2026-07-20 13:59:18 +08:00
kingwl
1dd5757897 Merge remote-tracking branch 'origin/master' into cross-family-fs-sandbox
# Conflicts:
#	packages/fs/README.md
2026-07-20 13:38:51 +08:00
Tianyi Cui
51e1cc782d Merge master into codex/grep-glob-require-rg 2026-07-20 12:09:05 +08:00
Tianyi Cui
f9a152409e Merge master into codex/grep-glob-require-rg
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-09-bash-backed-grep-glob-discovery.md
#	packages/fs/tool-fs-search/README.md
2026-07-20 11:53:03 +08:00
Tianyi Cui
247526d4ca fix(acp): adapt compaction wiring to token meter 2026-07-20 11:47:17 +08:00
Tianyi Cui
80cdcce085 Merge origin/master into codex/acp-agent-auto-compaction 2026-07-20 11:45:13 +08:00
kingwl
2e7cdddb89 Merge remote-tracking branch 'origin/master' into cross-family-fs-sandbox
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.md
#	.agents/notes/implemented/feature/2026-07-14-cross-family-fs-sandbox.zh.md
#	docs/capability-seams.md
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	docs/persistence-catalog.md
#	docs/rfc/INDEX.md
#	examples/acp-agent/README.md
#	examples/acp-agent/fs.cordis.snapshot.yml
#	examples/acp-agent/fs.cordis.yml
#	examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
#	examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
#	examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
#	examples/acp-agent/tests/snapshots/workspace-context/system-prompt.expected.md
#	examples/acp-agent/tests/snapshots/workspace-context/tool-schemas.expected.json
#	examples/acp-agent/tests/snapshots/workspace-edit/system-prompt.expected.md
#	examples/acp-agent/tests/snapshots/workspace-edit/tool-schemas.expected.json
#	packages/bash/bash/src/index.ts
#	packages/bash/tool-bash/package.json
#	packages/bash/tool-bash/src/index.ts
#	packages/bash/tool-bash/tests/tools.spec.ts
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/fs/README.md
#	packages/fs/tool-fs/src/edit.ts
#	packages/fs/tool-fs/src/write.ts
#	packages/sandbox/README.md
#	pnpm-lock.yaml
2026-07-20 11:44:37 +08:00
Yichen Jiang
58a8612118 Merge branch 'master' into worktree/acp-default-fs-suite 2026-07-20 11:43:11 +08:00
Tianyi Cui
ee1af10c52 docs(acp): note per-model compaction config 2026-07-20 11:38:55 +08:00
Tianyi Cui
2dd3b1dfba fix(commands): harden registry and UI ordering 2026-07-20 11:27:10 +08:00
Tianyi Cui
cf05624b9f Merge codex/goal-session into codex/commands 2026-07-20 09:11:50 +08:00
Tianyi Cui
69daf1c147 Merge codex/goal-tools into codex/goal-session
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.md
#	.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.zh.md
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	packages/goal/goal/tests/goal.spec.ts
#	website/zh-CN/api/harness/events.md
#	website/zh-CN/api/harness/goals.md
2026-07-20 08:58:37 +08:00
Tianyi Cui
89f9900be1 fix(goal): preserve interactive human turns 2026-07-20 08:50:51 +08:00
Tianyi Cui
3b0b0cefeb feat: implement bounded LLM request recovery 2026-07-20 03:34:19 +08:00
Tianyi Cui
e5bec9b1b9 Merge codex/goal-session into codex/commands 2026-07-20 02:41:35 +08:00
Tianyi Cui
d2cd315506 Merge codex/goal-tools into codex/goal-session 2026-07-20 02:41:29 +08:00
Tianyi Cui
1a14b60569 test(goal): close terminal pause e2e 2026-07-20 02:38:14 +08:00
Tianyi Cui
4f1a0fe015 Merge codex/goal-session into codex/commands 2026-07-20 01:30:43 +08:00
Tianyi Cui
b21193ded5 Merge codex/goal-tools into codex/goal-session 2026-07-20 01:21:40 +08:00
Tianyi Cui
dddebe6755 Merge codex/goal-domain into codex/goal-tools 2026-07-20 01:12:37 +08:00
Tianyi Cui
af4313ec11 Merge rfc/loop into codex/goal-domain 2026-07-20 01:04:15 +08:00
Tianyi Cui
7a4909f221 Merge remote-tracking branch 'origin/master' into codex/jsonl-zstd-persistence
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.i18n.yaml
#	.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md
#	.agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.zh.md
#	docs/rfc/INDEX.md
#	packages/session-persistence/session-persistence-jsonl/README.md
2026-07-20 00:15:32 +08:00
Tianyi Cui
d139948ed2 feat(persistence): compress JSONL logs with Zstandard 2026-07-20 00:06:21 +08:00
Tianyi Cui
3a36064dc6 Merge remote-tracking branch 'origin/master' into codex/agent-notes 2026-07-19 23:15:37 +08:00
Tianyi Cui
400b4658ef Merge remote-tracking branch 'origin/codex/goal-session' into codex/commands 2026-07-19 23:05:08 +08:00
Tianyi Cui
642b1c29d3 feat(examples): configure max-token success via env 2026-07-19 23:03:08 +08:00
Tianyi Cui
87d644f813 Merge remote-tracking branch 'origin/codex/goal-tools' into codex/goal-session 2026-07-19 23:01:13 +08:00
Tianyi Cui
6f68300ccc Merge remote-tracking branch 'origin/codex/goal-domain' into codex/goal-tools 2026-07-19 22:57:51 +08:00
Tianyi Cui
e8eddc7ef8 Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00
Tianyi Cui
8bb4e4a42e Merge remote-tracking branch 'origin/rfc/loop' into codex/goal-domain 2026-07-19 22:49:25 +08:00
Tianyi Cui
4cb9c7ada2 Merge remote-tracking branch 'origin/codex/goal-session' into codex/commands
# Conflicts:
#	packages/examples/stdio-demo/README.md
#	packages/ui/tui/README.md
2026-07-19 22:40:13 +08:00
Tianyi Cui
adc350eba2 Merge remote-tracking branch 'origin/codex/goal-tools' into codex/goal-session 2026-07-19 22:33:34 +08:00
Tianyi Cui
b808e1c8df Merge remote-tracking branch 'origin/codex/goal-domain' into codex/goal-tools 2026-07-19 22:28:52 +08:00
Tianyi Cui
4164c7120e Merge remote-tracking branch 'origin/rfc/loop' into codex/goal-domain 2026-07-19 22:20:18 +08:00
Tianyi Cui
a1c85447b8 refactor(examples): rename DSBench composition to jsonrpc-agent 2026-07-19 22:19:42 +08:00
Tianyi Cui
2850c22b7a feat(ui): add plugin command registry 2026-07-19 22:11:59 +08:00
Yichen Jiang
4c0bdc7180 Merge remote-tracking branch 'origin/master' into worktree/acp-default-fs-suite 2026-07-19 21:49:06 +08:00
Yichen Jiang
43d036ca41 Merge remote-tracking branch 'origin/master' into worktree/dsbench-patch 2026-07-19 21:46:17 +08:00
Tianyi Cui
25555c9cfc feat(goal): drive same-session goal rounds 2026-07-19 20:30:43 +08:00
Tianyi Cui
0129063ae7 feat(goal): add model-facing goal tools 2026-07-19 19:22:10 +08:00
Tianyi Cui
a525776015 feat(goal): add persisted same-session goal domain 2026-07-19 18:47:34 +08:00
Yichen Jiang
1cb63c7a18 fix(acp-agent): enable default filesystem suite 2026-07-19 18:27:44 +08:00
Tianyi Cui
6e790b95f2 fix(compact): complete master retarget integration
Declare the tool-result pruning plugin in the examples workspace so the repl Cordis configuration resolves through plain Node and the Loader metadata gate.

Express the validated single-node surface rewrite without a non-null assertion or an unreachable defensive branch, preserving both the runtime contract and per-file 100% coverage.
2026-07-19 18:11:48 +08:00
Tianyi Cui
9c5b86051b Merge master into tool-result pruning
Retarget the pruning feature onto the merged compaction foundation.

Adapt content-only tool-result rewrite validation to the session-owned surface manager, migrate the demo wiring to repl-agent, and refresh generated type, catalog, and website contracts while preserving pressure and overflow pruning behavior.
2026-07-19 17:54:55 +08:00
Tianyi Cui
0893aaa7cb test: rename golden snapshot files to expected 2026-07-19 17:45:49 +08:00
Yichen Jiang
b0dc299508 Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget
# Conflicts:
#	examples/acp-agent/tests/acp.snapshot.ts
2026-07-19 17:42:52 +08:00
Yichen Jiang
d614374ac6 Merge branch 'master' into fix/subagent-depth-budget 2026-07-19 17:24:24 +08:00
Yichen Jiang
cb74477d42 feat(tool-subagent): default maxDepth 1 with at-cap schema hiding
An omitted maxDepth meant unbounded recursion, and the shipped examples
shipped that default. maxDepth now defaults to 1; a numeric cap requires
the provider's depthLimit capability (the mount fails loud and points to
the explicit 'provider-managed' opt-out for out-of-process providers),
and a child AT the cap loses the delegating tool from its own schema via
the child toolFilter — prompt-face hiding on top of the execution-face
depth check. Examples pin maxDepth explicitly. The ACP snapshot harness
gains Scenario.childToolOmissions so a child session may legitimately
omit declared delegation tools from its pinned header and prompt;
affected subagent/workflow goldens are re-recorded.
2026-07-19 17:20:49 +08:00
Yichen Jiang
0d00106fa8 fix(session): persist the delegation depth in the session header
A subagent child's recursion depth lived only in runtime AgentOptions,
so a persisted child came back from resume counted as top-level and
maxDepth stopped binding after every restart. Add
SessionHeader.delegationDepth, round-trip it through the JSONL and
SQLite backends (SQLite schema v5), restore it on agent-loop resume,
and write it when the in-process backends create a child. The seam now
owns the shared depth vocabulary (delegationDepthOf): the persisted
header is authoritative and monotone — runtime options may deepen it
but never lower it.
2026-07-19 17:20:36 +08:00
Tianyi Cui
fd54b5c848 Merge latest master into post-step recovery
Combine agent initiator scoping and exact Cordis JSDoc inspection with post-step compaction and bounded request recovery.

Regenerate the Cordis and website API catalogs, and classify the recovery and compaction types required by the current catalog link-coverage gate.
2026-07-19 16:46:01 +08:00