Tianyi Cui
6d1870c8c1
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/bash/tool-bash/src/index.ts
# packages/ui/stdio-agent/README.md
# packages/ui/stdio-agent/src/index.ts
# packages/ui/stdio/src/index.ts
# packages/workflow/workflow-workerthread/tests/workflow-workerthread.spec.ts
# packages/workflow/workflow/package.json
# scripts/gen-doc-graphs.ts
2026-07-15 16:24:43 +08:00
Tianyi Cui
10f50c1b55
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# packages/core/agent/src/types.ts
2026-07-15 15:07:11 +08:00
Tianyi Cui
649865043d
docs: preserve prose cleanup in session simplification
2026-07-15 14:59:20 +08:00
imccyu
517964fe84
Merge branch 'master' into refactor/agent-leaf-dependencies
2026-07-15 13:09:33 +08:00
imccyu
80fbeefbd6
refactor(ui): extract stdio plugin package
...
Move the readline front door from stdio-agent into @deepseek-ai/dsh-stdio, keeping the loader shape and the stdio coverage with the new package.
2026-07-15 10:04:40 +08:00
Tianyi Cui
77de6497b4
Merge remote-tracking branch 'origin/master' into codex/simp-drop-skill-provider-events
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-15 01:49:41 +08:00
imccyu
c67c3d9413
refactor: derive event graphs and scope invariants from TypeScript
2026-07-14 23:37:56 +08:00
Tianyi Cui
83271191d1
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/rfc/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-seams.md
# docs/rfc/implemented/architecture/2026-06-20-branded-ids.md
# docs/rfc/implemented/simplification/2026-06-20-remove-agent-boundary-mirror-events.md
# docs/rfc/proposed/feature/2026-07-07-claude-code-and-codex-subagent-backends.md
# docs/rfc/proposed/simplification/2026-06-20-unify-agent-and-session-id.md
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/tests/properties.spec.ts
# packages/core/agent/README.md
# packages/core/agent/src/index.ts
# packages/guard/repeat-tool-guard/src/index.ts
# packages/hooks/hooks-claude/tests/bridge.spec.ts
# packages/subagent/subagent-acp/tests/mock-acp-server.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/stdio-agent/src/index.ts
# packages/ui/stdio-agent/src/stdio-chat.ts
# packages/ui/stdio-agent/tests/stdio-chat.spec.ts
# packages/util/brand/src/index.ts
2026-07-14 18:51:24 +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
2df64c22ad
Merge remote-tracking branch 'origin/master' into codex/simp-drop-skill-provider-events
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-14 18:00:41 +08:00
Tianyi Cui
f0fc20ca42
docs: align prose with runtime contracts
2026-07-14 16:21:41 +08:00
Tianyi Cui
b58cf7ec2f
fix: coordinate overlapping configured reloads
2026-07-14 14:24:21 +08:00
Tianyi Cui
b47e4c5276
fix: suppress teardown startup failures
2026-07-14 12:45:12 +08:00
Tianyi Cui
a25c0f084f
fix: totalize configured startup failures
2026-07-14 12:25:30 +08:00
Tianyi Cui
9272d2871b
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
2026-07-14 11:56:09 +08:00
Tianyi Cui
7d6ef0a472
fix: contain config failure observers
2026-07-14 11:33:36 +08:00
Tianyi Cui
c1fb97c63a
fix: surface config startup failures
2026-07-14 11:23:38 +08:00
Tianyi Cui
e8f1bd41f5
fix: buffer stdio until exact session starts
2026-07-14 11:02:18 +08:00
Tianyi Cui
582a8ba288
refactor: drop unconsumed skill provider events
2026-07-14 04:32:40 +08:00
Tianyi Cui
709cc7200e
refactor: unify agent and session identity
2026-07-14 01:59:21 +08:00
Tianyi Cui
972e7cc77d
Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
...
# Conflicts:
# docs/config-catalog.md
# docs/event-producer-consumer.md
# docs/rfc/implemented/feature/2026-07-05-dynamic-workflows.md
# examples/acp-agent/tests/acp.snapshot.ts
# packages/code-runtime/code-runtime-worker/tests/built-lib.e2e.ts
# packages/code-runtime/code-runtime-worker/tsdown.config.ts
2026-07-14 00:40:36 +08:00
Tianyi Cui
788fb48d4c
Merge branch 'codex/simp-session-dead-surface' into codex/simp-session-log-representation
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-14 00:34:46 +08:00
Tianyi Cui
1123e946c0
refactor: simplify session log representation
2026-07-13 23:56:10 +08:00
Tianyi Cui
20402b637c
Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/rfc/proposed/feature/2026-07-08-interactive-side-sessions.md
# docs/rfc/proposed/simplification/2026-06-20-unify-agent-and-session-id.md
# examples/coding-agent/tests/keyless-smoke.e2e.ts
# packages/ui/acp/src/index.ts
2026-07-13 23:44:44 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Tianyi Cui
c45d7927cf
docs: tighten prose audit after master retarget
2026-07-13 16:24:32 +08:00
imccyu
67fe6c10b6
jsonrpc: SDK serving surface as plugins (dsh-jsonrpc + dsh-jsonrpc-agent)
2026-07-13 15:50:09 +08:00
Tianyi Cui
7c84611e38
Merge remote-tracking branch 'origin/worktree-agent-scope-design' into codex/trim-ai-prose
2026-07-13 13:22:22 +08:00
Tianyi Cui
e04ec07345
refactor(core): remove owner-final assembly machinery
2026-07-13 13:09:41 +08:00
Tianyi Cui
4ded5a32f6
Merge remote-tracking branch 'origin/worktree-agent-scope-design' into codex/trim-ai-prose
2026-07-13 12:07:23 +08:00
Tianyi Cui
f32cfafa1a
refactor: narrow synchronous extension contracts
2026-07-13 11:58:55 +08:00
Tianyi Cui
74ada5777c
Merge PR #224 updates into prose cleanup
2026-07-12 23:36:49 +08:00
Tianyi Cui
ed5304fb6d
docs(rfc): align scoped runtime contracts
2026-07-12 22:49:46 +08:00
Tianyi Cui
e8fed4fb66
fix(session): contain post-commit observers
2026-07-12 18:57:42 +08:00
Tianyi Cui
a34801df4b
fix(agent-loop): own queued message input
2026-07-12 16:54:37 +08:00
Tianyi Cui
d427478c44
fix(subagent): validate direct depth boundaries
2026-07-12 10:48:20 +08:00
Tianyi Cui
c5b1a7941f
fix(scope): harden lifecycle ownership foundation
...
Make Cordis construction and teardown ownership reentrancy-safe, then carry caller and provider ownership through reservation, setup, publication, quiescence, and sentinel retirement.
Stabilize registry carriers and factory/workflow boundaries, add adversarial lifecycle regressions, and align the rewritten RFC plus generated contracts with the enforced behavior.
2026-07-12 08:57:05 +08:00
Tianyi Cui
a9cb70d896
fix(scope): harden final ownership boundaries
2026-07-12 05:13:17 +08:00
Tianyi Cui
36b8370027
fix(scope): close remaining ownership boundaries
2026-07-12 03:51:55 +08:00
Tianyi Cui
75838e10b5
docs: trim generated prose
2026-07-12 03:36:43 +08:00
Tianyi Cui
35715423f8
fix(workflow): honor subagent readiness boundary
2026-07-12 01:35:09 +08:00
Tianyi Cui
3529b3c166
fix(scope): close final ownership races
...
Drain idle injection flushes before agent teardown, snapshot approval and subagent provider inputs, and gate subagent lifecycle events on real child readiness. Align the RFCs and generated contracts with the hardened behavior.
2026-07-12 00:31:46 +08:00
Tianyi Cui
06e42f439c
docs: regenerate merged catalogs
2026-07-11 23:42:52 +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
Tianyi Cui
36c94fbe3e
docs: align the agent-scope contracts
2026-07-11 22:55:40 +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
b29a8eca71
fix(review): reconcile sandbox and approval contracts
2026-07-11 21:37:38 +08:00
Tianyi Cui
fc0357a100
Merge remote-tracking branch 'origin/master' into codex/pr224-rfc-rewrite
...
# Conflicts:
# docs/architecture.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# scripts/doc-budgets.manifest.json
# scripts/gen-doc-graphs.ts
2026-07-11 20:38:25 +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
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