Tianyi Cui
7d4fd14a1c
Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation
...
# Conflicts:
# docs/rfc/implemented/feature/2026-07-14-time-context-plugin.i18n.yaml
2026-07-15 16:56:04 +08:00
imccyu
6f77da4c8c
refactor: relocate demo app bundles to packages/examples/*-demo
...
Move the agent-spine bundle and the stdio/ACP/JSON-RPC app packages out of
core/ and ui/ into a new packages/examples/ group, renamed with a -demo
suffix so the npm name marks them as non-product surface:
core/agent-core -> examples/agent-spine-demo (dsh-agent-spine-demo)
ui/stdio-agent -> examples/stdio-demo (dsh-stdio-demo)
ui/acp-agent -> examples/acp-demo (dsh-acp-demo)
ui/jsonrpc-agent -> examples/jsonrpc-demo (dsh-jsonrpc-demo)
Update every code/config/test reference and reference-only doc mentions, and
regenerate module-graph, config-catalog, and doc-graphs. The jsonrpc bin
(dsh-jsonrpc-agent) and single-file exe (dsh-jsonrpc-agent-pkg) keep their
names; the SDK runtime-startup surface is reconciled separately.
2026-07-15 16:46:05 +08:00
Tianyi Cui
2ae7f6ac3f
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
...
# Conflicts:
# packages/support/README.md
# packages/support/acp-snapshot/README.md
2026-07-15 16:04:40 +08:00
Tianyi Cui
dc00509910
Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory
...
# Conflicts:
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/suite.ts
# packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-15 16:03:33 +08:00
Tianyi Cui
281eed3e57
Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/rfc/INDEX.md
# docs/rfc/implemented/testing/2026-07-06-pin-request-header-content-in-one-scenario.md
# docs/rfc/proposed/simplification/2026-07-12-simplify-session-log-representation.md
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/support/acp-snapshot/src/suite.ts
# packages/support/acp-snapshot/tests/fixtures/suite/pin-turn/session.jsonl
# packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-15 15:53:56 +08:00
Tianyi Cui
188698723c
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
2026-07-15 15:04:47 +08:00
Tianyi Cui
17693d20c4
Merge remote-tracking branch 'origin/codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory
...
# Conflicts:
# packages/support/acp-snapshot/src/suite.ts
2026-07-15 15:04:29 +08:00
Tianyi Cui
649865043d
docs: preserve prose cleanup in session simplification
2026-07-15 14:59:20 +08:00
Tianyi Cui
8ffcef7db9
test(snapshot): split pinned schemas into sidecars
2026-07-14 23:11:21 +08:00
Dudu-0223
d958d9fac6
test(snapshot): fold unknown-tool check into fixture guard
2026-07-14 21:27:41 +08:00
Dudu-0223
4afc701e98
fix(snapshot): register filesystem tools through explicit overlay
2026-07-14 21:25:58 +08:00
Tianyi Cui
66c2996b36
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
...
# Conflicts:
# docs/rfc/implemented/testing/2026-07-08-shared-acp-snapshot-package.md
# examples/acp-agent/tests/acp.e2e.ts
# examples/acp-agent/tests/escalation.e2e.ts
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/harness.ts
# packages/support/acp-snapshot/src/index.ts
2026-07-14 18:40:49 +08:00
Tianyi Cui
36a2430ec9
Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory
...
# Conflicts:
# docs/rfc/proposed/process/2026-06-20-discover-package-inventory.md
# examples/acp-agent/tests/acp.snapshot.ts
2026-07-14 18:38:18 +08:00
Tianyi Cui
78276c52a7
Merge branch 'codex/simp-session-dead-surface' into codex/simp-session-log-representation
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/persistence-catalog.md
# docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
# docs/rfc/implemented/feature/2026-06-18-compaction-capability-seam.md
# docs/rfc/implemented/feature/2026-07-06-explicit-tool-order.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# docs/rfc/implemented/feature/2026-07-07-session-prefix.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/src/request-log.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent/src/types.ts
# packages/core/session/README.md
# packages/core/session/src/request-header.ts
# packages/core/session/src/surface.ts
# packages/core/session/src/tool-pairing.ts
# packages/core/session/src/types.ts
# packages/core/session/tests/surface.spec.ts
# packages/core/session/tests/tool-pairing.spec.ts
# packages/llm/llm/src/call-config.ts
# packages/support/acp-snapshot/src/suite.ts
# packages/support/invariants/README.md
# packages/ui/user-approval/README.md
2026-07-14 18:34:34 +08:00
Tianyi Cui
7e9bf9b951
refactor: remove impossible ACP drain branch
2026-07-14 15:06:33 +08:00
Tianyi Cui
2027c70a17
fix: drain failed ACP launches
2026-07-14 12:38:32 +08:00
Tianyi Cui
85a1bbc7d5
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
2026-07-14 12:36:59 +08:00
Tianyi Cui
287041e39e
fix: preserve malformed snapshot fixtures
2026-07-14 12:35:25 +08:00
Tianyi Cui
1ab64dba62
Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
...
# Conflicts:
# docs/config-catalog.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/rfc/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# examples/AGENTS.md
# examples/README.md
# examples/acp-agent/README.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/acp.e2e.ts
# examples/acp-agent/tests/escalation.e2e.ts
# examples/sandbox-acp-agent/README.md
# examples/sandbox-acp-agent/cordis.snapshot.yml
# examples/sandbox-acp-agent/cordis.yml
# examples/sandbox-acp-agent/tests/acp.snapshot.ts
# packages/ui/acp-agent/src/bin.ts
# packages/ui/acp/README.md
# packages/ui/jsonrpc-agent/README.md
# packages/ui/jsonrpc-agent/src/bin.ts
# scripts/verify-translation-pairing.ts
2026-07-14 12:34:14 +08:00
Tianyi Cui
795371a209
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
...
# Conflicts:
# examples/acp-agent/tests/acp.e2e.ts
# examples/acp-agent/tests/escalation.e2e.ts
# examples/acp-agent/tests/hooks.e2e.ts
# packages/support/acp-snapshot/src/harness.ts
2026-07-14 11:53:45 +08:00
Tianyi Cui
fd5ee06a97
Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory
2026-07-14 11:49:56 +08:00
Tianyi Cui
4d5fb2cb1d
Merge branch 'codex/simp-session-dead-surface' into codex/simp-session-log-representation
...
# Conflicts:
# docs/core-data-structures/session.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# examples/acp-agent/tests/snapshots/permission-switching/system-prompt.golden.md
# examples/sandbox-acp-agent/tests/acp.snapshot.ts
# examples/sandbox-acp-agent/tests/snapshots/mode-switching/session.jsonl
# packages/core/session/README.md
# packages/core/session/src/index.ts
# packages/core/session/src/surface.ts
# packages/core/session/tests/surface.spec.ts
# scripts/type-equiv.manifest.json
2026-07-14 11:49:46 +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
Tianyi Cui
3e2ba3f557
fix: stop ACP teardown when fallback kill fails
2026-07-14 10:13:05 +08:00
Tianyi Cui
6b59b6050e
fix: preserve ACP scenario cleanup failures
2026-07-14 09:43:12 +08:00
Tianyi Cui
d4c96deac3
refactor: share ACP callback cleanup
2026-07-14 09:19:02 +08:00
Tianyi Cui
e784e4dce5
fix: await ACP client callbacks during shutdown
2026-07-14 09:12:32 +08:00
Tianyi Cui
0b492e6e62
fix: drain ACP test launcher streams
2026-07-14 07:22:22 +08:00
Tianyi Cui
e2a5a160d3
fix: settle ACP update waiters on shutdown
2026-07-14 07:00:10 +08:00
Tianyi Cui
140d32681e
fix: make ACP test teardown failure-safe
2026-07-14 06:33:22 +08:00
Tianyi Cui
60ce23d77c
fix: surface ACP launcher spawn failures
2026-07-14 06:07:37 +08:00
Tianyi Cui
9028c9b63b
fix: contain ACP update predicate failures
2026-07-14 05:35:34 +08:00
Tianyi Cui
e3d7bb62d8
fix(permission): address human review feedback
2026-07-14 01:09:44 +08:00
Tianyi Cui
f0cad87492
Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
2026-07-14 00:49:27 +08:00
Tianyi Cui
6ad4b4fa42
fix: let snapshot recording create fixture inventory
2026-07-14 00:46:46 +08:00
Tianyi Cui
0e7d539bbc
refactor: share the ACP test launcher
2026-07-14 00:18:00 +08:00
Tianyi Cui
e481288a3a
refactor: derive snapshot session fixtures from disk
2026-07-14 00:04:11 +08:00
Tianyi Cui
1123e946c0
refactor: simplify session log representation
2026-07-13 23:56:10 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Dudu-0223
5ac03dde3f
fix(review): generalize spill storage locators
2026-07-13 11:07:27 +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
kingwl
88db403d9f
Merge branch 'worktree-session-modes-rfc' (master: sandbox stack #169 , skills #109 , prompt snapshots #254 )
...
The stack rebases onto a moved master through its base branch. Beyond
mechanical unions (both branches' demo scripts, example rows, service
roles, tool lists, acp deps, doc budgets — each side fit alone, the
union needs the higher ceilings), three semantic reconciliations:
- The ACP bridge now carries BOTH per-session surfaces: the sandbox
stack's config options + approval answerer and this branch's session
modes; session/new and session/load advertise modes AND configOptions
side by side.
- The feature matrix supersedes the sandbox stance per the RFC's
second-lander rule: session/set_mode and current_mode_update flip to
shipped-by-dsh-mode, config-option rows stay as #169 wrote them, and
§6 records both landed features under the picker-to-modes /
knobs-to-config-options division.
- The snapshot pin grammar (#254 : one header snapshot + declared deltas
+ a Markdown prompt golden) gains a symmetric declaration for what a
delta cannot express: expectedHeaderSnapshots — a plan-mode flip
resorts the canonical tool list, so its widening lands as a second
full snapshot, now its own Markdown section. The pin-less-class and
model-turn-only-pin amendments carry over; new fixtures cover the
extended writer paths, and the plan-acp-agent scenarios re-recorded
under the merged composition (the app now bundles the skill tool)
with the suite's refresh mode wired through.
2026-07-12 20:08:09 +08:00
Tianyi Cui
75838e10b5
docs: trim generated prose
2026-07-12 03:36:43 +08:00
Tianyi Cui
da9cef381c
Merge remote-tracking branch 'origin/master' into codex/system-prompt-snapshots
...
# Conflicts:
# 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/support/acp-snapshot/src/suite.ts
2026-07-11 22:48:14 +08:00
Tianyi Cui
3baaecc078
Merge remote-tracking branch 'origin/master' into codex/skill-system
...
# Conflicts:
# docs/rfc/INDEX.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
2026-07-11 22:31:28 +08:00
Tianyi Cui
9339622d3b
test(acp): snapshot system prompts as Markdown
2026-07-11 22:24:20 +08:00
Tianyi Cui
1e2d8014a5
Merge remote-tracking branch 'origin/master' into feat/sandbox-support
...
# Conflicts:
# packages/workflow/workflow-workerthread/tests/workflow-workerthread.spec.ts
2026-07-11 21:43:10 +08:00
Yichen Jiang
386d4d3ec4
Merge branch 'master' into codex/skill-system
2026-07-10 22:58:15 +08:00
kingwl
ca39fd89b0
feat(example): sandbox-acp-agent — the live composition; RFCs to implemented
...
The three-entry cordis.yml (dsh-sandbox-local + dsh-bash-sandbox at a
read-only default + dsh-approval) served over ACP: the first live approval
composition. Recorded snapshot scenarios pin the wire end to end —
config-options advertisement, the mode-switching arc as the suite pinned
header (both switches, the prompt-section delta, one changed-by-the-user
notice per knob, a confined write landing under the switched mode), and
both escalation branches over scripted permissionAnswers (a grant runs
confined under workspace-write; a rejection executes nothing and pins the
fail-closed text). The with-key escalation e2e drives a real model +
real runner + the real bridge answerer, world-verified; ci.yml snapshot
lane and e2e.yml install bubblewrap so the confined replays actually
execute.
Both RFCs move to implemented/ (Decision/Consequences form, deferred
phases tracked in their own sections), with every cross-reference flipped.
2026-07-10 15:44:38 +08:00
kingwl
80d8726601
feat(acp): the bridge approval answerer + scripted permission answers
...
The ACP bridge registers the first real approval answerer: an ask for an
agent it owns becomes session/request_permission attached to the already-
streamed tool call (one-shot allow_once/reject_once only), outcomes map
conservatively (unknown optionId never grants, client cancel → cancelled),
and foreign or call-less requests delegate down the waterfall. The snapshot
harness accepts scripted permissionAnswers (FIFO; an unscripted prompt
answers cancelled, fail closed) so recorded scenarios can drive the wire
keylessly.
2026-07-10 15:43:02 +08:00