Commit Graph

3171 Commits

Author SHA1 Message Date
NI0317
a7bfade7eb refactor(pty): rename model-facing tools to terminal_* and harden teardown
Rename the six model-facing tools pty_* -> terminal_* and align every
description, guidance section, ACP card title, and rendered result to
terminal terminology. Package and service internals keep their technical
PTY names (PtyService, "unknown PTY session", node-pty).

Harden the local backend teardown:
- a failed close is retryable: drop the memoized rejection so a later
  terminal_close re-runs against the live process table
- service disposal clears the backend, reservation, and owner-cleanup
  registries even when a close fails
- stop readiness polling before teardown so an in-flight send settles as
  session_exit instead of a mis-inferred wait reason
- bound the sanitizer's pending buffer against unterminated escape runs

Update the tool catalog, package READMEs, the bilingual Agent Note, and the
acp/headless pty-tools snapshots to match.
2026-07-21 19:29:56 +08:00
NI0317
85ac747208 fix: wait for PTY startup readiness 2026-07-21 16:12:42 +08:00
NI0317
58cde5103a feat: add persistent PTY sessions 2026-07-21 16:01:00 +08:00
NI0317
b4750f6333 Merge remote-tracking branch 'origin/master' into rfc/pty 2026-07-20 17:33:50 +08:00
Tianyi Cui
90b8f583df Merge pull request #401 from deepseek-harness/worktree/contain-result-observer-rejections
fix: contain result observer rejections and correct bundle attribution
2026-07-20 17:24:40 +08:00
Tianyi Cui
442330d55b Merge origin/master into worktree/contain-result-observer-rejections 2026-07-20 17:19:55 +08:00
Tianyi Cui
a9c5d4ee32 Merge pull request #400 from deepseek-harness/worktree/acp-default-fs-suite
fix(acp-agent): enable the default filesystem suite
2026-07-20 17:14:58 +08:00
Tianyi Cui
44345feaf7 Merge origin/master into worktree/acp-default-fs-suite 2026-07-20 17:10:28 +08:00
Tianyi Cui
0a8ce10d7a Merge pull request #424 from deepseek-harness/steering-unwrap
fix(session): project injected content verbatim, dropping the XML envelopes
2026-07-20 17:05:07 +08:00
Tianyi Cui
9f5b01d446 Merge origin/master into worktree/acp-default-fs-suite 2026-07-20 17:03:33 +08:00
Tianyi Cui
bd99e8d04a Merge branch 'master' into steering-unwrap 2026-07-20 17:02:18 +08:00
NI0317
f1f35116ea docs(agent-note): propose persistent PTY sessions 2026-07-20 16:57:28 +08:00
Tianyi Cui
34c0800d3c Merge pull request #309 from deepseek-harness/cross-family-fs-sandbox
Cross-family file sandbox: one policy home, sandboxed fs provider, fs escalation parity
2026-07-20 16:35:50 +08:00
Turtle
f593ef5ab5 fix(session): drop the <context> envelope and project context verbatim
context/message previously defaulted to a <context source="…">…</context>
wrapper. No model is trained on a <context> tag either, and message
framing does not belong on the session surface: the surface projects the
durable log, and a caller that wants a frame formats its own content —
which the one heavy producer (workspace-context) already does with its own
<system-reminder> frame, opting out via 'raw'. The tag only added
machinery — ContextEnvelope plus an envelope field threaded through
InjectOptions, HookContext, the context/message event, and the agent-loop
inject/additionalContexts plumbing.

context/message now projects its content verbatim as a user-role message,
sharing one deriveEventMessage case with user/message and steering/message.
ContextEnvelope and every envelope field are removed; context/message.meta
still carries durable, model-hidden JSON state. Regenerated catalogs and
website API; refreshed the three affected keyless snapshots (envelope field
only; timestamps unchanged).

Broadens and renames the steering Agent Note to cover both envelope
removals as one decision.

Agent Note: .agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.md
2026-07-20 16:22:20 +08:00
Turtle
b25b78fd02 fix(session): project steering messages as plain user content
steering/message previously rendered inside a <steering source="…">
envelope like context/message. No model is trained on a <steering> tag,
so the framing is arbitrary markup the model was never taught to read;
recorded transcripts show it treating the instruction as third-party
metadata and refusing it. Framing also does not belong on the session
surface — a caller that wants a frame formats its own content. It now
projects verbatim as a plain user-role message; the <context> envelope is
untouched and renderTagged becomes context-only.

Agent Note: .agents/notes/implemented/simplification/2026-07-20-unwrap-steering-message-projection.md
2026-07-20 15:51:27 +08:00
Yichen Jiang
4b861eccb0 Merge branch 'master' into worktree/contain-result-observer-rejections 2026-07-20 15:23:42 +08:00
Yichen Jiang
512c8d2d04 Merge branch 'master' into worktree/acp-default-fs-suite 2026-07-20 15:18:22 +08:00
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
b877ede82d Merge pull request #317 from deepseek-harness/chore/import-landlock-run
chore: adopt node-addon-landlock-run source as native/ subtree
2026-07-20 12:35:01 +08:00
Tianyi Cui
a3f792ea9f docs(landlock-run): align source and release guidance 2026-07-20 12:25:43 +08:00
Tianyi Cui
801289adf2 fix(landlock-run): enforce probe CLI contract 2026-07-20 12:25:36 +08:00
Tianyi Cui
733a90e708 Merge master into chore/import-landlock-run 2026-07-20 12:18:12 +08:00
Tianyi Cui
77c04a340f Merge pull request #271 from deepseek-harness/codex/grep-glob-require-rg
feat(fs-search): hide grep/glob without rg
2026-07-20 12:17:06 +08:00
Tianyi Cui
51e1cc782d Merge master into codex/grep-glob-require-rg 2026-07-20 12:09:05 +08:00
Tianyi Cui
d81760f8a0 Merge pull request #327 from deepseek-harness/codex/acp-agent-auto-compaction
feat(acp): enable automatic compaction
2026-07-20 12:08:10 +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
kingwl
48f19044de Merge remote-tracking branch 'origin/master' into chore/import-landlock-run
Conflict: doc-budgets manifest — master raised the AGENTS.md ceiling to 1600
(superseding this branch's 1377 bump for the native/ line), take master's
values.
2026-07-20 11:11:09 +08:00
Tianyi Cui
023bed1a83 Merge pull request #414 from deepseek-harness/codex/require-agent-notes
Require Agent Notes for non-trivial changes
2026-07-19 23:58:32 +08:00
Tianyi Cui
b1b57a0ac5 Require Agent Notes for non-trivial changes 2026-07-19 23:29:55 +08:00
Tianyi Cui
4b7765c774 Merge pull request #410 from deepseek-harness/codex/agent-notes
Rename RFCs to Agent Notes
2026-07-19 23:26:15 +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
4779d04af8 Remove generated Agent Note index 2026-07-19 23:15:23 +08:00
Tianyi Cui
13433025f2 Merge pull request #411 from deepseek-harness/codex/jsonrpc-max-tokens-success-env
Make jsonrpc-agent max-token success env-configurable
2026-07-19 23:12:38 +08:00
Tianyi Cui
642b1c29d3 feat(examples): configure max-token success via env 2026-07-19 23:03:08 +08:00
Tianyi Cui
e8eddc7ef8 Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00
Tianyi Cui
b736889ac7 Merge pull request #389 from deepseek-harness/worktree/dsbench-patch
feat(jsonrpc): add evaluation-ready coding-agent composition
2026-07-19 22:34:15 +08:00
Tianyi Cui
f0c812794c Merge branch 'master' into worktree/dsbench-patch 2026-07-19 22:31:38 +08:00
Tianyi Cui
35f96add4e Merge pull request #367 from deepseek-harness/worktree/pi-ai-manual-e2e
ci: add manual pi-ai Azure OpenAI and Anthropic e2e workflow
2026-07-19 22:22:24 +08:00
Tianyi Cui
235f39a898 Merge remote-tracking branch 'origin/master' into worktree/dsbench-patch 2026-07-19 22:20:34 +08:00
Tianyi Cui
a1c85447b8 refactor(examples): rename DSBench composition to jsonrpc-agent 2026-07-19 22:19:42 +08:00
Tianyi Cui
3d6d0de07c Merge branch 'master' into worktree/pi-ai-manual-e2e 2026-07-19 22:19:36 +08:00
Tianyi Cui
114896ee6a Merge pull request #370 from deepseek-harness/worktree-sdk-followup
SDK follow-up: headless create, dsh-sdk create <source>, launcher telemetry
2026-07-19 22:19:16 +08:00
Tianyi Cui
a19dcf40ef Merge remote-tracking branch 'origin/master' into codex/pr370-review-20260719 2026-07-19 22:00:45 +08:00
Tianyi Cui
c225b4956e docs(telemetry): document cache effect 2026-07-19 21:53:31 +08:00