Commit Graph
3185 Commits
Author SHA1 Message Date
Tianyi Cui f4c9e53a2a docs(persistence): state backend ownership precisely
The shared coordinator serializes operations within one backend instance; it does not coordinate multiple instances writing the same on-disk session. Remove prose that implied unsupported shared-writer semantics.

Also update the older seam-simplification note to describe the surviving loadStored existence probe instead of the removed loadLive hook, so implemented documentation matches the current contract.
2026-07-20 17:42:44 +08:00
Tianyi Cui c9d3d5d557 fix(jsonl): reject unusable roots at plugin load
A configured root that already exists as a file or unreadable directory cannot host cwd buckets, but the backend previously mounted and deferred that deterministic configuration error until a later list or write.

Probe the resolved root while the plugin loads, surface every error except ENOENT, and keep an absent root valid for lazy first materialization. Document the timing contract, regenerate the config catalog, and pin the non-directory case at the load boundary.
2026-07-20 17:42:44 +08:00
Tianyi Cui 73e3f658c6 fix(persistence): bind JSONL identity before mutation
JSONL discovered a log by the requested session id but later routed repair and append from the parsed header. A log selected for session A could therefore declare session B and redirect mutation to B.

Validate the requested id and exact header-derived cwd-bucket path before returning a stored prefix, reject duplicate ids across buckets, and repeat the id/cwd guards in the coordinator before repair or state publication. Collapse the redundant loadLive hook into loadStored while retaining the existing bucket layout and one-live-writer topology, avoiding flat-layout churn and a locator generic that SQLite and test backends do not need.
2026-07-20 17:42:44 +08:00
Tianyi Cui 1a97a6b6f9 Merge pull request #432 from deepseek-harness/codex/code-runtime-budget-flake
test(code-runtime): stabilize slow-binding budget case
2026-07-20 17:39:40 +08:00
Tianyi Cui c56bee0390 Merge remote-tracking branch 'origin/master' into codex/code-runtime-budget-flake 2026-07-20 17:33:29 +08:00
Tianyi Cui 6eaa6073a2 test(code-runtime): stabilize slow-binding budget case 2026-07-20 17:32:17 +08:00
Tianyi Cui b8826c9e9a Merge pull request #353 from deepseek-harness/codex/compact-tool-result-prune
feat(compact): prune tool results before summarization
2026-07-20 17:30:57 +08:00
Tianyi Cui ddad8833df Merge remote-tracking branch 'origin/master' into codex/pr353-retarget-master-20260719 2026-07-20 17:27:24 +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 60ecdbc88b Merge remote-tracking branch 'origin/master' into codex/pr353-retarget-master-20260719 2026-07-20 17:23:17 +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 7aee299bda docs(compact): correct pruning surface contracts 2026-07-20 17:02:28 +08:00
Tianyi Cui bd99e8d04a Merge branch 'master' into steering-unwrap 2026-07-20 17:02:18 +08:00
Tianyi Cui a625ef4fe9 docs(compact): qualify pruning cache reuse 2026-07-20 16:47:56 +08:00
Tianyi Cui 6b44d01bc8 Merge master into compact-tool-result-prune 2026-07-20 16:41:59 +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