Tianyi Cui
e8eddc7ef8
Rename RFCs to Agent Notes
2026-07-19 22:52:03 +08:00
Tianyi Cui
a278374e8f
docs: structure model experience fields
2026-07-19 18:08:42 +08:00
Tianyi Cui
bcc920369c
docs: document package KV cache effects
2026-07-19 17:39:50 +08:00
Tianyi Cui
59dc310bb5
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/architecture.md
# 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/module-graph.md
# examples/coding-agent/tests/code-mode.e2e.ts
# examples/coding-agent/tests/coding-task.e2e.ts
# examples/coding-agent/tests/compaction.e2e.ts
# examples/coding-agent/tests/full-loop.e2e.ts
# examples/coding-agent/tests/todo-write.e2e.ts
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/cordis/tool-cordis/tests/integration.spec.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/index.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/core/agent-loop/tests/config-session-id.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/coverage-edges.spec.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent-loop/tests/properties.spec.ts
# packages/core/agent-loop/tests/request-cache.e2e.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent-loop/tests/resume.spec.ts
# packages/core/agent-loop/tests/scope-lifecycle.spec.ts
# packages/core/agent-loop/tests/tool-order.spec.ts
# packages/core/agent-loop/tests/turn-stop.spec.ts
# packages/core/agent/src/types.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/src/index.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# packages/fs/tool-fs/tests/fs-tools.e2e.ts
# packages/guard/repeat-tool-guard/tests/repeat-tool-guard.spec.ts
# packages/hooks/hooks-claude/tests/bridge.spec.ts
# packages/hooks/hooks-claude/tests/coverage.spec.ts
# packages/hooks/hooks-codex/tests/bridge.spec.ts
# packages/hooks/hooks-codex/tests/coverage.spec.ts
# packages/subagent/subagent-fork/tests/multi-subagent.spec.ts
# packages/subagent/subagent-fork/tests/subagent-fork.spec.ts
# packages/subagent/subagent-inprocess/tests/structured.spec.ts
# packages/subagent/subagent-inprocess/tests/subagent-inprocess.spec.ts
# packages/subagent/subagent-spawn/tests/spawn.e2e.ts
# packages/subagent/subagent-spawn/tests/subagent-spawn.spec.ts
# packages/todo/tool-todo/tests/integration.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/workflow/workflow-workerthread/tests/integration.spec.ts
2026-07-18 12:21:15 +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
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
Tianyi Cui
6143537d4e
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/core-data-structures/bash.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# 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/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
# packages/util/brand/README.md
# packages/util/brand/src/index.ts
2026-07-15 23:29:47 +08:00
Tianyi Cui
6c846531e7
Merge current master into PR #106
2026-07-15 22:44:47 +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
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
Yichen Jiang
6edd4a205b
Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
...
# Conflicts:
# packages/README.md
2026-07-15 13:25:29 +08:00
Yichen Jiang
ca14bcc34b
Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
...
# Conflicts:
# AGENTS.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# packages/fs/fs-local/src/index.ts
# pnpm-lock.yaml
2026-07-15 13:07:11 +08:00
Tianyi Cui
0642a1d666
Merge current master into PR #219 fixes
...
Origin/master advanced after the reviewed fixes were first pushed, leaving PR #219 conflicted. Merge the new vendor Cordis/loader update into the PR branch rather than rewriting pushed history, so the task fixes remain based on the exact current landing target.
Preserve the upstream package graph, lockfile, app-boot, and built-bin adjustments as landed on master; resolve only genuine overlaps with the task fixes and regenerate derived artifacts where required.
# Conflicts:
# packages/subagent/tool-subagent/package.json
2026-07-15 12:45:47 +08:00
imccyu
31f4441fd4
pkg: update vendor dep
2026-07-15 11:28:45 +08:00
Yichen Jiang
ee111fd978
Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
...
# Conflicts:
# AGENTS.md
# 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
# docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
# docs/rfc/implemented/feature/2026-06-15-code-mode.md
# docs/rfc/implemented/feature/2026-06-30-hook-bridges.md
# docs/rfc/implemented/feature/2026-06-30-interception-seams.md
# docs/rfc/implemented/feature/2026-07-08-repeat-tool-guard.md
# docs/rfc/proposed/simplification/2026-07-04-prune-dead-core-spine-surface.md
# examples/AGENTS.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/acp.snapshot.ts
# examples/echo-agent/cordis.yml
# examples/sandbox-acp-agent/cordis.yml
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-core/README.md
# packages/core/agent-core/src/index.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent/src/types.ts
# packages/core/tools/README.md
# packages/core/tools/src/code-mode.ts
# packages/core/tools/src/index.ts
# packages/fs/fs-local/src/index.ts
# packages/fs/fs/README.md
# packages/fs/fs/src/index.ts
# packages/guard/repeat-tool-guard/README.md
# packages/guard/repeat-tool-guard/src/index.ts
# packages/hooks/hooks-claude/src/index.ts
# packages/hooks/hooks-codex/src/index.ts
# packages/ui/acp-agent/src/index.ts
2026-07-14 19:50:25 +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
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
440afff96e
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# packages/ui/stdio-agent/README.md
2026-07-14 15:27:32 +08:00
Tianyi Cui
8590ba00a4
Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
...
# Conflicts:
# docs/AGENTS.md
# docs/config-catalog.md
# packages/bash/bash-sandbox/src/index.ts
# packages/bash/bash/src/session-mode.ts
# packages/bash/tool-bash/README.md
# packages/code-runtime/code-runtime-worker/README.md
# packages/compact/compact/src/index.ts
# packages/core/agent-core/README.md
# packages/hooks/hooks-claude/src/config.ts
# packages/hooks/hooks-claude/src/index.ts
# packages/hooks/hooks-codex/src/config.ts
# packages/hooks/hooks-codex/src/index.ts
# packages/llm/llm/README.md
# packages/session-persistence/session-persistence-jsonl/README.md
# packages/session-persistence/session-persistence/README.md
# packages/skill/skill-local/README.md
# packages/support/acp-snapshot/README.md
# packages/support/invariants/src/index.ts
# packages/ui/acp/README.md
# packages/ui/jsonrpc-agent/README.md
# packages/ui/jsonrpc/README.md
# packages/ui/permission/README.md
# packages/ui/user-approval/README.md
# packages/ui/user-interaction/README.md
# packages/web/web-search-deepseek/README.md
2026-07-14 14:37:16 +08:00
Tianyi Cui
89d8d56785
docs: omit model experience for generic packages
2026-07-14 13:31:31 +08:00
Tianyi Cui
c74f17a143
docs: audit hook compatibility limits
2026-07-14 11:22:53 +08:00
Tianyi Cui
709cc7200e
refactor: unify agent and session identity
2026-07-14 01:59:21 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Yichen Jiang
351a2e42b3
fix(tasks): close background task review findings
2026-07-13 16:29:50 +08:00
Tianyi Cui
c45d7927cf
docs: tighten prose audit after master retarget
2026-07-13 16:24:32 +08:00
Tianyi Cui
7195d9eda2
docs: gate concise model experience summaries
2026-07-13 15:47:46 +08:00
Yichen Jiang
1aadce9fe7
refactor(core): centralize DSH home resolution
2026-07-12 16:30:01 +08:00
Tianyi Cui
75838e10b5
docs: trim generated prose
2026-07-12 03:36:43 +08:00
Tianyi Cui
b5cd511f35
docs: address model experience review
2026-07-12 02:55:26 +08:00
Tianyi Cui
a08485fc80
Merge remote-tracking branch 'origin/codex/package-readme-limitations-audit-20260712' into codex/model-experience-readmes-20260712
...
# Conflicts:
# docs/cookbook/adding-a-package.md
# docs/rfc/INDEX.md
# package.json
# packages/AGENTS.md
# packages/bash/bash-sandbox/README.md
# packages/sandbox/sandbox-local/README.md
# packages/sandbox/sandbox/README.md
# packages/session-persistence/session-persistence-sqlite/README.md
# packages/support/acp-snapshot/README.md
# packages/ui/app-boot/README.md
# packages/ui/user-approval/README.md
# packages/workflow/tool-workflow/README.md
2026-07-12 02:48:49 +08:00
Tianyi Cui
027970043c
docs: document package model experience
2026-07-12 02:12:36 +08:00
Tianyi Cui
41a7c70cb1
docs: audit package limitations on current stack
2026-07-12 02:08:35 +08:00
Yichen Jiang
3fe196a751
Adapt workspace context to session prefixes
2026-07-10 14:32:44 +08:00
Yichen Jiang
7b54768ee7
Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
...
# Conflicts:
# AGENTS.md
# docs/architecture.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# packages/bash/bash-local/tests/executor.spec.ts
# packages/bash/bash-local/tests/run.spec.ts
# packages/core/agent-core/src/index.ts
# packages/core/agent-core/tests/agent-core.spec.ts
# packages/fs/fs-local/src/fsio.ts
# packages/ui/acp-agent/package.json
# packages/ui/acp-agent/src/index.ts
# packages/ui/acp-agent/tsconfig.json
# packages/ui/stdio-agent/package.json
# packages/ui/stdio-agent/tsconfig.json
# packages/util/README.md
# pnpm-lock.yaml
# tsconfig.build.json
# tsconfig.json
2026-07-09 23:04:41 +08:00
Yichen Jiang
beaace5eb3
Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
...
Adopts #185 (dsh-timeout: clampTimeout/deadline/timeoutOf drive bash
run() timeout classification; runBash loses its own timer) and #108
(ask_user_question) across the task-runtime rework: bash-local keeps
the BashProcess handle shape with master's deadline mechanics, tool
catalogs/expectations carry both the task_* and ask-user tools, and
generated docs are regenerated on the union.
2026-07-09 21:32: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
Dudu-0223
a4a9900be1
simplify retention omitted metadata
2026-07-09 13:53:51 +08:00
Dudu-0223
571c6025d5
fix: address master merge gate failures
2026-07-09 13:01:14 +08:00
Dudu-0223
78318f5d12
Merge remote-tracking branch 'origin/master' into codex/truncated-design
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# knip.json
# packages/README.md
# scripts/gen-module-graph.ts
# tsconfig.base.json
# tsconfig.build.json
# tsconfig.json
2026-07-09 12:54:30 +08:00
Dudu-0223
326b199f25
fix: address codex review round 2
...
- spill-policy reserves the spill notice's byte cost inside maxInlineBytes, so
the replacement (preview + notice) never exceeds the documented model-facing
cap. When the notice alone fills the budget the preview is empty; when even a
notice-only replacement is not smaller than the original, the inline result is
kept (spilling would only add bytes).
- retention TextRetainer trims an oversized single suffix chunk to the last
suffixCap bytes on push, so tail/headTail retention stays bounded by suffixCap
instead of retaining and re-copying the whole chunk in finish() — this is the
spill preview path, which pushes the whole result as one chunk.
2026-07-09 09:51:35 +08:00
Dudu-0223
f4acb1cf05
fix: report omitted bytes against retained text, not budget (codex round 2)
...
finish() derived the exact omitted count from the pre-trim prefix/suffix
budget, but the UTF-8 boundary trims drop additional partial-codepoint bytes,
so an "Omitted N bytes" notice overstated what was kept (head maxBytes:2 over
'a€b' returned 'a' but claimed exact 3 when 4 bytes are absent). Derive the
count from the bytes actually returned (total − keptPrefix − keptSuffix) so
exact metadata matches the text and atLeast stays a valid lower bound.
2026-07-07 10:01:03 +08:00
Dudu-0223
cbfdf9d092
fix: preserve a codepoint spanning the head|tail split (codex round 1)
...
When headTail budgets cover the whole stream, omitted is 0 and the two
retained halves are contiguous — the split is artificial and a multibyte
codepoint can straddle it. finish() now decodes the contiguous buffer as one
in that case; the per-side UTF-8 boundary trims and separate decoding apply
only when a real middle gap exists. Without this, a headTail retainer could
drop a character while reporting truncated:false.
2026-07-07 09:46:15 +08:00
Dudu-0223
7a1c2779a7
feat(retention): add dsh-retention bounded-output library
...
Ship @deepseek-ai/dsh-retention under packages/util/: pure ItemRetainer /
TextRetainer plus neutral notice helpers, so tools that cap model-facing
output share one "what did we keep, what did we omit, may we stop reading"
mechanic while keeping grouping, exit codes, provider errors, and recovery
prose tool-owned. The two retainers are separate names because they differ in
resource model: item-head can stop the upstream on the first over-cap probe
(shouldStop), while text tail/head-tail must read to the end. The library
documents glob/grep/bash/web_fetch/web_search mappings but migrates no tool
yet — glob/grep don't exist, and migration is deliberately separate work.
Flips the RFC to implemented/ and rewrites its skeleton to shipped reality.
2026-07-07 09:33:59 +08:00
Dudu-0223
6beed9a883
test: make the timeout-wins race deterministic under fake timers
...
CI (node 24/26) failed on the exact-boundary construction: advanceTimersByTime(100)
then an immediate upstream.abort() let the manual abort win the race on some
runtimes, so timeoutOf returned undefined. Advance unambiguously past the deadline
and assert the timeout classification before firing the late abort — that late
abort is now asserted as a no-op, which is the real first-cause-wins invariant.
2026-07-06 19:55:46 +08:00
Dudu-0223
760bc9aa6a
fix: scope timeoutOf by deadline code so nesting composes (codex round 2)
...
Round 2 P2: timeoutOf() accepted ANY TimeoutReason, so under nesting — when
the upstream handed to deadline() is itself a deadline (the RFC's named
tools/execute middleware follow-up) and its outer timer fires first —
AbortSignal.any preserves the outer reason and the inner bash/web would report
the outer timeout as their own (timedOut / WEB_FETCH_TIMEOUT) though their local
timer never expired. Add an optional code to timeoutOf; bash and web pass their
own code, so a foreign timeout falls through to the upstream-cancel path.
2026-07-06 17:07:11 +08:00
Dudu-0223
8615e019d3
feat(timeout): add dsh-timeout and converge bash + web_fetch onto it
...
Timeout timing/classification was re-implemented three ways across the
tool-bearing capabilities, with the fusion of timeout+cancel and the
timeout-vs-cancel reason recovery being the error-prone parts. Extract that
shared half into a zero-dependency @deepseek-ai/dsh-timeout library
(clampTimeout/deadline/timeoutOf/TimeoutReason) and leave the non-shareable
hard-kill in each capability, per the timeout-library RFC.
bash: run() owns the deadline; runBash drops its killTimer and no longer
classifies (SpawnSpec/SpawnOutcome lose timeoutMs/timedOut/aborted), so the
public timedOut/aborted booleans become mutually-exclusive first-abort
classifications. web_fetch: the hand-rolled controller/timer/listener/
signal.reason dance is replaced by provider-owned deadline/timeoutOf, keeping
the WEB_FETCH_TIMEOUT / WEB_ABORTED contract. fs stays timeout-free (README
states why).
2026-07-06 16:25:04 +08:00
Yichen Jiang
e23a6902e7
fix project instruction review findings
2026-07-01 18:51:50 +08:00
Yichen Jiang
21ae734839
fix: tighten project instruction path handling
2026-06-29 21:42:23 +08:00