Commit Graph
1020 Commits
Author SHA1 Message Date
Tianyi Cui e5ac87454b Merge remote-tracking branch 'origin/master' into codex/remove-stdio-agent
# Conflicts:
#	AGENTS.md
#	docs/config-catalog.md
#	examples/echo-agent/README.md
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/stdio-demo/tests/built-bin.e2e.ts
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
#	scripts/run-gates.ts
2026-07-20 20:20:21 +08:00
Tianyi Cui 44ad2ef073 Remove the Echo agent 2026-07-20 20:16:41 +08:00
Tianyi Cui 6cf681df4b Merge branch 'rfc/loop' into codex/goal-domain
# Conflicts:
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/config-catalog.md
#	docs/event-producer-consumer.md
#	docs/glossary.md
#	docs/module-graph.md
#	examples/package.json
#	pnpm-lock.yaml
#	website/.vitepress/config/api-sidebar.json
#	website/zh-CN/api/harness/events.md
2026-07-20 20:06:23 +08:00
Tianyi Cui 153e4b47bd Merge branch 'master' into codex/jsonl-zstd-persistence 2026-07-20 19:58:41 +08:00
Tianyi Cui 2191d45ece Merge origin/master into codex/remove-stdio-agent
# Conflicts:
#	examples/repl-agent/cordis.yml
2026-07-20 19:58:40 +08:00
Tianyi Cui 82ce9dfe0e Merge branch 'master' into codex/jsonl-zstd-persistence 2026-07-20 19:52:47 +08:00
Tianyi Cui 4cadf096ce Remove the stdio agent 2026-07-20 19:26:04 +08:00
Tianyi Cui 9f6f87cf69 test(ralph): snapshot fresh-agent rounds in headless app 2026-07-20 18:18:08 +08:00
Tianyi Cui 94a6a95c8e Merge PR #415 into Ralph tool stack 2026-07-20 18:10:21 +08:00
Tianyi Cui 283c78eec8 test(goal): refresh shipped ACP goal snapshots 2026-07-20 18:06:34 +08:00
Tianyi Cui 08b37399d1 Merge command and goal feedback fixes into goal commands
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
#	docs/glossary.md
2026-07-20 18:04:03 +08:00
Tianyi Cui 75e98d6974 test(acp): drop obsolete transcript rerecordings 2026-07-20 18:02:38 +08:00
Tianyi Cui d5638ee8e1 Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget
# Conflicts:
#	website/zh-CN/api/harness/agents.md
#	website/zh-CN/api/harness/events.md
#	website/zh-CN/api/harness/sessions.md
#	website/zh-CN/api/harness/subagents.md
2026-07-20 18:00:40 +08:00
Tianyi Cui 41d3e78d3a test(snapshots): require explicit delegation depth 2026-07-20 17:59:13 +08:00
Tianyi Cui 46d60d6d90 fix(tool-subagent): enforce depth only at runtime 2026-07-20 17:58:57 +08:00
Tianyi Cui 78560dbc91 test(commands): refresh ACP goal lifecycle snapshot 2026-07-20 17:52:21 +08:00
Tianyi Cui bbdd92ebc1 Merge goal-session snapshot fixes into commands 2026-07-20 17:46:05 +08:00
Tianyi Cui 4e74794236 test(goal): isolate the ACP lifecycle snapshot 2026-07-20 17:44:57 +08:00
Tianyi Cui a87d3e7e55 Merge branch 'codex/goal-session' into codex/commands 2026-07-20 17:24:39 +08:00
Tianyi Cui 51f8bef112 Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget 2026-07-20 17:24:09 +08:00
Tianyi Cui 77ab5516a9 Merge goal tool fixes and align same-session blockers 2026-07-20 17:23:55 +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 2d345b5882 Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/persistence-catalog.md
#	website/zh-CN/api/harness/sessions.md
2026-07-20 17:14:24 +08:00
Tianyi Cui 1a1ff56ab7 fix(tool-subagent): default maxDepth to 3 2026-07-20 17:12:14 +08:00
Tianyi Cui 44345feaf7 Merge origin/master into worktree/acp-default-fs-suite 2026-07-20 17:10:28 +08:00
Tianyi Cui 9f5b01d446 Merge origin/master into worktree/acp-default-fs-suite 2026-07-20 17:03:33 +08:00
Tianyi Cui 27f37942df Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget 2026-07-20 17:02:25 +08:00
Tianyi Cui bd99e8d04a Merge branch 'master' into steering-unwrap 2026-07-20 17:02:18 +08:00
Tianyi Cui 15640ca697 fix(goal): require explained model blockers 2026-07-20 16:53:10 +08:00
Tianyi Cui 6b44d01bc8 Merge master into compact-tool-result-prune 2026-07-20 16:41:59 +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 cfa180c127 Resolve compaction policy per routed model 2026-07-20 15:34:00 +08:00
Yichen Jiang 512c8d2d04 Merge branch 'master' into worktree/acp-default-fs-suite 2026-07-20 15:18:22 +08:00
Yichen Jiang f2a813b791 Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget 2026-07-20 15:15:31 +08:00
Tianyi Cui 2f13acd2b9 Merge remote-tracking branch 'origin/codex/goal-commands' into codex/ralph-tool 2026-07-20 14:32:20 +08:00
Tianyi Cui 7c0c819bcf Merge remote-tracking branch 'origin/codex/commands' into codex/goal-commands 2026-07-20 14:27:16 +08:00
Tianyi Cui 09a75ef6a2 Merge remote-tracking branch 'origin/codex/goal-session' into codex/commands 2026-07-20 14:23:02 +08:00
Tianyi Cui 725acb76ec Merge remote-tracking branch 'origin/codex/goal-tools' into codex/goal-session 2026-07-20 14:18:42 +08:00
Tianyi Cui ad3708645a Merge remote-tracking branch 'origin/codex/goal-domain' into codex/goal-tools
# Conflicts:
#	docs/tool-catalog.md
2026-07-20 14:14:26 +08:00
Tianyi Cui 6e876e497a Merge remote-tracking branch 'origin/rfc/loop' into codex/goal-domain 2026-07-20 14:10:00 +08:00
kingwl 994eaedc02 review pass: purge stale enforcement language after the axis decoupling
Self-review findings, all prose/metadata (no behavior change): the
package description still claimed hard (execution) enforcement; the RFC
Problem framing still defined plan mode as a read-only tool policy;
integration/mode/snapshot-suite comments still referenced the removed
sandbox clamp and cap; the header-fallback explanation said
'front-of-list insertion' where the actual mechanism is a non-tail
insertion the append-only tools delta cannot express (exit_plan_mode
sits mid-list alphabetically); AGENTS.md's layout line and the RFC's
'policy state/listener' phrasing move to collaboration-state wording.
2026-07-20 14:01:53 +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
Dudu-0223 311503dfc6 Declare LSP packages for example configs 2026-07-20 13:59:02 +08:00
Dudu-0223 ca1cc61dfb Merge origin/master into lsp 2026-07-20 13:54:38 +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
kingwl c0146b9c4a refactor(mode): modes are collaboration states — drop the access cap; enforcement axes stay independent
Review follow-up (tianyicui): plan mode and the sandbox are orthogonal
AXES, not just orthogonal state — entering plan must not change what the
sandbox enforces, matching Codex's separation of Plan/Default
collaboration presets from sandbox and approval settings.

ModeDefinition.access, the bash/resolve-mode clamp, and both cap-derived
guards are removed; a ModeDefinition is exactly { section }, and a mode
now carries only its guidance section plus the exit_plan_mode review.
The bash seam's resolveMode + waterfall go with their only listener:
dsh-bash and dsh-tool-bash revert to master byte-for-byte, and the
dsh-mode → dsh-bash dependency edge is gone. A deployment that wants
kernel-enforced read-only planning pairs the mode picker with the
independent sandbox-mode option, in either order.

The RFC archives this as the second removed enforcement shape (after
the interim allowlist) with the same restart trigger — effects
self-declaration; the orthogonality FAQ now answers with the two-axis
rule. The plan example demonstrates the axes side by side, and the
re-recorded fixtures pin the guidance-only section.
2026-07-20 13:34:30 +08:00
Tianyi Cui 60eea35df5 fix(ralph): harden execution boundaries 2026-07-20 12:56:09 +08:00
Tianyi Cui c6f8247ac1 Merge codex/goal-commands into codex/ralph-tool
# Conflicts:
#	docs/glossary.md
2026-07-20 12:23:57 +08:00
Tianyi Cui 51e1cc782d Merge master into codex/grep-glob-require-rg 2026-07-20 12:09:05 +08:00