Tianyi Cui
53680ee6bc
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/session/README.md
# packages/core/session/src/types.ts
# packages/core/session/tests/surface.spec.ts
# packages/examples/acp-demo/tests/acp-agent.spec.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# packages/hooks/hooks-claude/tests/coverage.spec.ts
# packages/hooks/hooks-codex/tests/coverage.spec.ts
# packages/session-query/session-query/tests/session-query.spec.ts
# packages/support/invariants/tests/invariants.spec.ts
# packages/ui/acp/tests/harness.ts
2026-07-17 21:56:10 +08:00
Tianyi Cui
322a7e0709
Merge remote-tracking branch 'origin/master' into worktree/agent-loop-testkit
2026-07-17 20:17:27 +08:00
Yichen Jiang
46a6c77beb
Merge remote-tracking branch 'origin/master' into worktree/agent-loop-testkit
...
# Conflicts:
# packages/README.md
2026-07-17 19:13:37 +08:00
Yichen Jiang
7d85d3027d
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/config-catalog.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# packages/README.md
# packages/bash/bash-local/README.md
# packages/bash/bash/README.md
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/examples/acp-demo/src/index.ts
# packages/examples/acp-demo/tests/acp-agent.spec.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/src/index.ts
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# packages/examples/stdio-demo/src/index.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# packages/util/README.md
# pnpm-lock.yaml
# tsconfig.build.json
# tsconfig.json
2026-07-17 18:39:05 +08:00
Dudu-0223
a3f62478e1
Merge origin/master into codex/truncated-design
2026-07-17 18:21:54 +08:00
Yichen Jiang
d3b959389a
test(support): add shared AgentLoop testkit
2026-07-16 17:39:53 +08:00
Yichen Jiang
027af418a2
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/architecture.md
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/bash.md
# docs/module-graph.md
# docs/tool-catalog.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/tool-schemas.golden.json
# examples/acp-agent/tests/snapshots/both-mode-turn/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/both-mode-turn/tool-schemas.golden.json
# examples/acp-agent/tests/snapshots/code-mode-turn/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.golden.json
# examples/acp-agent/tests/snapshots/skill-load/tool-schemas.golden.json
# examples/acp-agent/tests/snapshots/text-turn/tool-schemas.golden.json
# examples/acp-agent/tests/snapshots/workspace-edit/tool-schemas.golden.json
# packages/bash/bash-local/README.md
# packages/bash/bash-local/src/index.ts
# packages/bash/bash-local/tests/executor.spec.ts
# packages/bash/bash/README.md
# packages/bash/bash/src/index.ts
# packages/bash/bash/src/types.ts
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/package.json
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/bash/tool-bash/tsconfig.json
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/src/index.ts
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# pnpm-lock.yaml
2026-07-16 16:47:31 +08:00
Yichen Jiang
97190c81ba
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/event-producer-consumer.md
# 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
2026-07-16 16:39:13 +08:00
Tianyi Cui
8bb8ac8b3c
docs(tasks): condense background task prose
...
The background-task change repeated its lifecycle design across implemented RFCs, package READMEs, JSDoc, test commentary, and model-visible schemas. That repetition obscured the contracts that maintainers must preserve and added avoidable prompt tokens.
Rewrite the implemented RFCs around the current design, keep authorization, exact-owner cleanup, wait/abort ordering, producer quiescence, and teardown-failure guarantees at their owning surfaces, and remove peer surveys, review history, control-flow narration, and emphatic restatement.
Shorten the task and subagent schema wording, synchronize the bilingual tool cookbook, and regenerate the config, service, RFC, tool, and replay snapshot derivatives. Runtime behavior is unchanged; test edits update prose-only assertions and descriptions.
2026-07-15 21:08:58 +08:00
Yichen Jiang
20572f8468
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/config-catalog.md
# docs/module-graph.md
# packages/README.md
# packages/examples/acp-demo/README.md
# packages/examples/agent-spine-demo/README.md
# packages/examples/stdio-demo/README.md
# pnpm-lock.yaml
2026-07-15 16:53:56 +08:00
Yichen Jiang
162da52082
Merge branch 'master' into worktree/provider-routed-llm-adapters
2026-07-15 15:42:19 +08:00
Yichen Jiang
4f92ede4a0
Merge branch 'master' into codex/rfc-subagent-background-tasks
2026-07-15 15:41:56 +08:00
Tianyi Cui
0239ac3752
Merge remote-tracking branch 'origin/master' into codex/simp-drop-assembled-section-order
2026-07-15 14:05:54 +08:00
Yichen Jiang
09d9fec6f9
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
...
# Conflicts:
# docs/config-catalog.md
# docs/core-data-structures/bash.md
# packages/bash/bash-local/src/index.ts
# packages/bash/bash/src/types.ts
# packages/bash/bash/tests/service.spec.ts
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-15 13:38:17 +08:00
Yichen Jiang
2ed2fa3896
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# packages/bash/bash-local/tests/run.spec.ts
# packages/bash/tool-bash/src/index.ts
2026-07-15 13:34:09 +08:00
Yichen Jiang
75331f03a6
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-15 13:30:40 +08:00
Yichen Jiang
815365dbbe
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/sandbox-acp-agent/cordis.yml
# examples/sandbox-acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/sandbox-acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/sandbox-acp-agent/tests/snapshots/mode-switching/session.jsonl
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/properties.spec.ts
# packages/core/session/README.md
# packages/core/session/src/types.ts
# packages/core/session/tests/derived-cache.spec.ts
# packages/llm/llm-deepseek/src/index.ts
# packages/llm/llm-pi-ai/README.md
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-pi-ai/src/convert.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm/README.md
# packages/llm/llm/src/call-config.ts
# packages/llm/llm/src/index.ts
# packages/ui/acp-agent/src/index.ts
# packages/ui/acp/tests/harness.ts
# packages/ui/jsonrpc/README.md
# packages/ui/jsonrpc/src/server.ts
# packages/ui/stdio-agent/README.md
# packages/ui/stdio-agent/src/index.ts
# python/sdk/README.i18n.yaml
2026-07-14 22:17:50 +08:00
Yichen Jiang
e547980d77
feat(llm): route adapters by provider
2026-07-14 21:57:52 +08:00
Tianyi Cui
bd0a1855b9
Merge branch 'codex/simp-prune-tools-prompt-surface' into codex/simp-drop-assembled-section-order
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
2026-07-14 19:06:25 +08:00
Yichen Jiang
9956528495
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/bash.md
# docs/event-producer-consumer.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# docs/rfc/proposed/architecture/2026-06-20-generic-long-running-tool-runtime.md
# examples/AGENTS.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/code-mode-turn/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/permission-switching/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/system-prompt.golden.md
# examples/coding-agent/cordis.yml
# examples/sandbox-acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/sandbox-acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/sandbox-acp-agent/tests/snapshots/mode-switching/session.jsonl
# packages/bash/bash-local/README.md
# packages/bash/bash-local/src/index.ts
# packages/bash/bash-local/tests/executor.spec.ts
# packages/bash/bash-sandbox/README.md
# packages/bash/bash-sandbox/src/index.ts
# packages/bash/bash/README.md
# packages/bash/bash/src/index.ts
# packages/bash/bash/src/types.ts
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-core/README.md
# packages/core/agent-core/src/index.ts
# packages/subagent/subagent/README.md
# packages/subagent/tool-subagent/README.md
# packages/subagent/tool-subagent/src/index.ts
# packages/ui/acp-agent/README.md
# packages/ui/acp/README.md
# packages/ui/stdio-agent/README.md
# packages/util/brand/src/index.ts
# scripts/doc-budgets.manifest.json
2026-07-14 18:05:46 +08:00
Yichen Jiang
0d67c16d56
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/bash.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# docs/rfc/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-surface.md
# docs/rfc/implemented/feature/2026-06-30-hook-bridges.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/code-mode-turn/system-prompt.golden.md
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/sandbox-acp-agent/tests/snapshots/mode-switching/session.jsonl
# packages/bash/bash-local/README.md
# packages/bash/bash-local/src/run.ts
# packages/bash/bash-local/tests/run.spec.ts
# packages/bash/bash/README.md
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-core/src/index.ts
# packages/session-persistence/session-persistence-jsonl/src/index.ts
# packages/session-persistence/session-persistence-sqlite/src/index.ts
# packages/session-persistence/session-persistence/README.md
# packages/session-persistence/session-persistence/src/index.ts
# packages/ui/acp-agent/README.md
# packages/ui/stdio-agent/README.md
2026-07-14 18:04:05 +08:00
Tianyi Cui
3c1470046a
Merge remote-tracking branch 'origin/master' into codex/simp-prune-bash-surface
...
# Conflicts:
# docs/config-catalog.md
# packages/bash/tool-bash/src/index.ts
2026-07-14 17:38:15 +08:00
Dudu-0223
30ba5bd23c
Merge remote-tracking branch 'origin/master' into codex/truncated-design
...
# Conflicts:
# docs/config-catalog.md
# docs/rfc/INDEX.md
# examples/acp-agent/README.md
# packages/bash/tool-bash/tests/tools.spec.ts
2026-07-14 10:57:29 +08:00
Yichen Jiang
cb78634bf2
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
...
# Conflicts:
# docs/event-producer-consumer.md
# packages/bash/tool-bash/tests/tools.spec.ts
2026-07-14 09:59:21 +08:00
Yichen Jiang
f570d2201e
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/config-catalog.md
# packages/hooks/hooks-codex/src/index.ts
# packages/ui/acp-agent/src/index.ts
# packages/ui/stdio-agent/src/index.ts
2026-07-14 09:51:50 +08:00
Tianyi Cui
26e2fe9356
refactor: drop assembled section order echo
2026-07-14 04:41:23 +08:00
Tianyi Cui
8c8b422f17
refactor: prune bash implementation surface
2026-07-14 03:37:51 +08:00
Tianyi Cui
274db4966a
Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
...
# Conflicts:
# packages/ui/acp/tests/stream-update.spec.ts
2026-07-14 00:08:53 +08:00
Tianyi Cui
661504b3ec
chore: gate TypeScript duplication in CI
2026-07-13 23:42:54 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Yichen Jiang
ba329b16ce
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/module-graph.md
# docs/rfc/INDEX.md
# packages/core/agent-core/tests/agent-core.spec.ts
# pnpm-lock.yaml
2026-07-13 16:18:44 +08:00
Yichen Jiang
e2bc79a0ef
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/tool-catalog.md
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/core/agent-core/tests/agent-core.spec.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/index.ts
# packages/core/agent/README.md
# packages/core/agent/src/index.ts
# packages/core/agent/tests/agent.spec.ts
# packages/subagent/subagent/README.md
# packages/subagent/subagent/src/index.ts
# packages/subagent/tool-subagent/README.md
# packages/subagent/tool-subagent/src/index.ts
# pnpm-lock.yaml
# scripts/doc-budgets.manifest.json
2026-07-13 15:57:17 +08:00
Dudu-0223
f859332e9c
Merge remote-tracking branch 'origin/master' into codex/truncated-design
...
# Conflicts:
# docs/config-catalog.md
# docs/event-producer-consumer.md
# docs/rfc/INDEX.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# pnpm-lock.yaml
2026-07-13 14:23:52 +08:00
Dudu-0223
43535aab42
Merge remote-tracking branch 'origin/master' into codex/truncated-design
...
# Conflicts:
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# docs/tool-catalog.md
# examples/acp-agent/README.md
# packages/README.md
# packages/bash/bash/README.md
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# packages/support/acp-snapshot/src/harness.ts
# pnpm-lock.yaml
# scripts/gen-doc-graphs.ts
# scripts/gen-tool-catalog.ts
# scripts/type-equiv.manifest.json
2026-07-13 09:49:46 +08:00
Yichen Jiang
df9617aaff
feat(bash): generalize managed shell environment
2026-07-12 15:41:42 +08:00
Tianyi Cui
75838e10b5
docs: trim generated prose
2026-07-12 03:36:43 +08:00
Tianyi Cui
56e34619d7
Merge remote-tracking branch 'origin/master' into codex/pr224-rfc-rewrite
...
# Conflicts:
# docs/architecture.md
# docs/capability-seams.md
# docs/config-catalog.md
# docs/cookbook/extension-cookbook.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/rfc/implemented/feature/2026-06-30-interception-seams.md
# docs/rfc/proposed/feature/2026-06-14-acp-agent-client-protocol.md
# docs/tool-execution-pipeline.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-core/README.md
# packages/core/agent-loop/README.md
# packages/core/tools/README.md
# packages/core/tools/src/index.ts
# packages/core/tools/tests/tools.spec.ts
# packages/core/tools/tsconfig.json
# packages/ui/acp/src/index.ts
# scripts/doc-budgets.manifest.json
# scripts/gen-cordis-catalog.ts
# scripts/gen-doc-graphs.ts
2026-07-11 23:14:09 +08:00
Yichen Jiang
740106a51a
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/bash.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/tool-catalog.md
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# packages/README.md
# packages/bash/README.md
# packages/bash/bash-local/src/index.ts
# packages/bash/bash/README.md
# packages/bash/bash/package.json
# packages/bash/bash/src/index.ts
# packages/bash/bash/src/types.ts
# packages/bash/bash/tests/service.spec.ts
# packages/bash/bash/tsconfig.json
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/bash/tool-bash/tsconfig.json
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-core/README.md
# packages/core/agent-core/package.json
# packages/core/agent-core/src/index.ts
# packages/core/agent-core/tests/agent-core.spec.ts
# packages/core/tools/tests/gen-tool-catalog.spec.ts
# packages/hooks/hook-protocol/tests/runner.spec.ts
# packages/ui/acp-agent/tests/acp-agent.spec.ts
# packages/ui/stdio-agent/tests/stdio-agent.spec.ts
# pnpm-lock.yaml
# scripts/doc-budgets.manifest.json
# scripts/gen-tool-catalog.ts
2026-07-11 23:04:27 +08:00
Yichen Jiang
e1f317dcce
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# docs/module-graph.md
# docs/tool-catalog.md
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/package.json
# packages/bash/tool-bash/src/index.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-11 22:57:27 +08:00
Tianyi Cui
3263dab822
fix(core): enforce agent-scoped ownership boundaries
2026-07-11 22:55:26 +08:00
Tianyi Cui
b29a8eca71
fix(review): reconcile sandbox and approval contracts
2026-07-11 21:37:38 +08:00
Yichen Jiang
eea0a99985
feat: expose agent session log location
2026-07-10 20:52:27 +08:00
kingwl
3f663c9154
feat(modes): per-session sandbox/approval switching — the session log as the store, ACP config options
...
effective(session) = findLast(the session own knob events)?.value ?? the
composition-config default. One log-only event per knob, owned by its
domain (bash/sandbox-mode in dsh-bash, approval/policy in dsh-approval),
each exporting the same three-piece kit: the event declaration, a pure
fold, and THE write path — a switch IS its event; no owner service, no
facts map. Restart immunity and multi-session isolation fall out of the
log replay by construction.
Execution follows the fold on both sides: the bash tool stamps
escalation grant > session override > executor default, and the approval
seam prepends the never-gate that auto-rejects before any interactive
answerer. Visibility is two layers per knob: a per-agent prompt section
states the effective value on every request (logged through
request/header*, so what-the-model-was-told replays from the log), and an
agent/pre-step narrator injects at most one coalesced delta notice with
positional attribution (user switch vs operator/config drift). The ACP
bridge advertises one capability-gated select per composable knob with
currentValue folded per session, validates set_config_option against the
closed vocabularies, and anchors idle switches at the next turn
prompt-submit under the turn-enclosure contract.
2026-07-10 15:44:38 +08:00
kingwl
0e49615a3d
feat(tool-bash): sandbox escalation — one approved wider retry after a denial
...
The tool gate advertises sandbox_permissions (an enum of exactly the modes
STRICTLY WIDER than the mounted executor default — the schema makes a
non-widening request inexpressible) plus a required justification, exactly
when ctx.bash.sandboxMode reports a confining mode at registration:
composition truth, never a dead lever. An escalating call resolves
ctx.approval BEFORE anything executes with the audit-self-contained reason
"escalate sandbox to <mode>: <justification>"; allowed-once stamps the
granted mode onto that one bash request (the seam-level per-call override),
while rejected / cancelled / unavailable and the no-service / no-agent
paths each fail closed with their own error text and execute nothing. The
description teaches the flow only when the fields exist: retry the SAME
command once after a real denial, never preemptively; a rejected
escalation is final. No new session events: the attempt is an ordinary
tool/call, the decision is the approval audit pair, the outcome an
ordinary tool/result whose facts name the mode it ran under.
2026-07-10 15:43:28 +08:00
kingwl
2eed448acf
feat(bash): the sandboxed executor — per-call policy carrier, denial facts, runner-failure classification
...
dsh-bash grows the per-call policy carrier: BashExecRequest.sandboxMode
(request-optional, spec required-but-nullable — the owner pattern; resolve()
is the one explicit defaulting step) and the BashExecutor.sandboxMode
capability fact (undefined in the base class — composition truth the tool
layer can read). dsh-bash-local carries the field verbatim and confines
nothing.
dsh-bash-sandbox extends LocalBashExecutor and hands ctx.sandbox the exact
argv it is about to spawn. A denial is a RESULT FACT (the command RAN;
result.sandbox.denied is orthogonal to exitCode/signal), classified
conservatively against the wrap own dialect; a RUNNER failure outranks
denial — foreground re-throws the structured SANDBOX_UNAVAILABLE, a settled
background task stamps sandbox.runnerFailed — so a broken sandbox never
reads as a failing command and the command never runs unconfined.
dsh-tool-bash renders the markers and teaches the model not to retry around
a policy denial; escalation and per-session switching are staged follow-ups.
2026-07-10 15:43:02 +08:00
Dudu-0223
3bb90bd4b6
fix: make search raw output recovery backend-neutral
2026-07-10 11:53:02 +08:00
Yichen Jiang
712d481bdf
fix(bash): classify signal-terminated background processes
2026-07-10 10:19:54 +08:00
Yichen Jiang
35acd34fd9
fix(tools): enforce a disabled run_in_background at execution time (review findings)
...
enableRunInBackground: false removed the parameter from the advertised
schema only — the arg validator deliberately allows undeclared keys, so
a caller (or a model that has seen the parameter elsewhere) could still
force run_in_background: true and start background work past the
deployment's opt-out, in both tool-bash and tool-subagent. Both
producers now refuse the forced key loud in execute(); tests pin the
refusal (and that nothing spawns) alongside the untouched foreground
path; the schema-omission-is-advertising rule is recorded in the
runtime RFC and both READMEs.
2026-07-09 23:37:51 +08:00
Yichen Jiang
bd59fddacd
refactor(tasks): declare-then-execute — ctx.tasks.start() replaces register()
...
start({ kind, label, owner, run }) preflights everything that can fail
(the attachSurface fence, validation, the owner-cleanup attach) BEFORE
invoking the producer's run() starter, then commits atomically —
'work started but never got a collectable id' is now structurally
impossible instead of a producer try/catch rollback obligation (the
P1 review fix, rebuilt on #185 's declare/execute split). Producers
lose their catch-wraps; the leak tests now pin the stronger property
that a failed preflight never spawns anything. TaskRegistration splits
into TaskStart (identity + run) and TaskHooks (cancel/done/readOutput);
docs, type-equiv manifest, catalogs, and both RFCs move with it.
2026-07-09 21:55:07 +08:00
Yichen Jiang
184e164091
feat(tasks): background task runtime, generic task_* control tools, bash/subagent producers
...
One shared ctx.tasks registry (branded <kind>-N ids, owner-fenced
read/kill/wait/list, attachSurface misconfiguration fence, reported-flag
notice dedup, atomic register) + dsh-tool-tasks (task_output/task_list/
task_kill, completion-notice injection, background prompt habit).
Producers opt in via their own enableRunInBackground config: bash
(stream kind; seam slimmed to resolve/run/start returning a BashProcess
handle, bash_output/bash_kill deleted) and subagent (final-output kind;
done settles after run.dispose()). Owner disposal drains tasks through
the new awaited ctx.agents.onCleanup seam in the loop's disposal chain.
Both RFCs moved to implemented/; docs, catalogs, snapshots re-pinned.
2026-07-09 21:22:54 +08:00