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
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
pku-xht
d9a9c223e4
Merge remote-tracking branch 'origin/master' into codex/send-one-turn
2026-07-20 12:52:17 +08:00
pku-xht
d59149a221
review fix: restore idle after between-turn cancellation
2026-07-20 12:51:44 +08:00
Turtle
aeb48cc5f3
Render error cause chains at every diagnostic seam
...
A TUI run against an unreachable endpoint failed with only 'fetch failed':
undici wraps transport failures in a bare TypeError whose diagnosis lives
on .cause, and every diagnostic seam rendered only error.message. The
readline front door additionally rendered failed turns as pure silence.
- dsh-llm: new errorChain(value) renders the full cause chain and
AggregateError members with circular/hostile-coercion containment.
- llm-deepseek: pre-response transport failures throw LlmError('NETWORK')
naming the endpoint and chaining the fetch TypeError; aborts keep their
DOMException so the loop still classifies them as cancellation.
- agent-loop: durable turn/end error messages and logger warnings render
through errorChain; local renderThrown copies removed.
- ui-stdio: failure turn/end reasons now render ([turn failed <code>],
[turn aborted], [turn rejected], output-token-limit); startup-failure
logs use errorChain.
- ui-tui: agent/error notices and the startup-failure line use errorChain.
2026-07-20 12:35:10 +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
491dafc785
fix(goal): close human command surface gaps
2026-07-20 12:11:06 +08:00
pku-xht
a6e96c47f3
review fix: pin ordinary-send batching removal
2026-07-20 11:53:49 +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
pku-xht
0891465ee0
Merge origin/master into codex/send-one-turn
2026-07-20 11:52:30 +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
Tianyi Cui
884c168edc
Merge codex/commands into codex/goal-commands
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.zh.md
# examples/acp-agent/tests/snapshots/advanced-toolchain/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cancel/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/config-options/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/error-finish/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-read/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-terminal-card/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/fs-write/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/handshake/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-block/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/model-switching/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/skill-load/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/text-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/todo-plan/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/stdout.expected.jsonl
# packages/goal/tool-goal/README.md
2026-07-20 11:41:53 +08:00
Tianyi Cui
2dd3b1dfba
fix(commands): harden registry and UI ordering
2026-07-20 11:27:10 +08:00
Yichen Jiang
5833d70447
Merge remote-tracking branch 'origin/master' into worktree/docs-website
...
# Conflicts:
# .agents/notes/implemented/process/2026-07-13-documentation-site-projection.md
# docs/AGENTS.md
# docs/rfc/INDEX.md
# docs/user/develop/basic/index.zh.md
# docs/user/develop/basic/tool.zh.md
# docs/user/develop/framework/index.zh.md
# docs/user/develop/framework/service.zh.md
# docs/user/develop/practice/index.zh.md
# docs/user/guide/index.zh.md
# docs/user/guide/quickstart.zh.md
# knip.json
# package.json
# pnpm-lock.yaml
# scripts/doc-typecheck.ts
# scripts/gen-website-api.ts
# scripts/translation-pairing.manifest.json
# scripts/verify-type-equiv.ts
# website/zh-CN/api/cordis/context.md
# website/zh-CN/api/cordis/events.md
# website/zh-CN/api/cordis/fiber.md
# website/zh-CN/api/cordis/registry.md
# website/zh-CN/api/cordis/service.md
# website/zh-CN/api/harness/agent-loop.md
# website/zh-CN/api/harness/agents.md
# website/zh-CN/api/harness/approval.md
# website/zh-CN/api/harness/bash-env.md
# website/zh-CN/api/harness/bash.md
# website/zh-CN/api/harness/code-runtime.md
# website/zh-CN/api/harness/compact.md
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/fs.md
# website/zh-CN/api/harness/llm.md
# website/zh-CN/api/harness/permission.md
# website/zh-CN/api/harness/sandbox.md
# website/zh-CN/api/harness/session-persistence.md
# website/zh-CN/api/harness/session-query.md
# website/zh-CN/api/harness/sessions.md
# website/zh-CN/api/harness/skills.md
# website/zh-CN/api/harness/spill-store.md
# website/zh-CN/api/harness/subagents.md
# website/zh-CN/api/harness/system-prompt.md
# website/zh-CN/api/harness/tasks.md
# website/zh-CN/api/harness/token-meter.md
# website/zh-CN/api/harness/tools.md
# website/zh-CN/api/harness/user-interaction.md
# website/zh-CN/api/harness/web.md
# website/zh-CN/api/harness/workflows.md
# website/zh-CN/api/index.md
# website/zh-CN/design/effects-coeffects.md
# website/zh-CN/design/index.md
# website/zh-CN/guide/config.md
2026-07-20 10:21:36 +08:00
Tianyi Cui
cf05624b9f
Merge codex/goal-session into codex/commands
2026-07-20 09:11:50 +08:00
Tianyi Cui
69daf1c147
Merge codex/goal-tools into codex/goal-session
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.md
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.zh.md
# docs/cordis-catalog/events.md
# docs/event-producer-consumer.md
# packages/goal/goal/tests/goal.spec.ts
# website/zh-CN/api/harness/events.md
# website/zh-CN/api/harness/goals.md
2026-07-20 08:58:37 +08:00
Tianyi Cui
89f9900be1
fix(goal): preserve interactive human turns
2026-07-20 08:50:51 +08:00
Tianyi Cui
134199c00f
Merge codex/goal-domain into codex/goal-tools
2026-07-20 08:41:44 +08:00
Tianyi Cui
3c2e07a92d
fix(goal): make publication reentrancy-safe
2026-07-20 08:38:28 +08:00
Tianyi Cui
3b0b0cefeb
feat: implement bounded LLM request recovery
2026-07-20 03:34:19 +08:00
Tianyi Cui
512ef2a18e
docs(invariants): refresh installer API catalogs
2026-07-20 02:00:40 +08:00
Tianyi Cui
e80fc3e61b
fix(invariants): join package checks at startup
2026-07-20 01:53:09 +08:00
Tianyi Cui
e2b8e2b1eb
Merge codex/goal-commands into codex/ralph-tool
2026-07-20 01:52:57 +08:00
Tianyi Cui
caaa1364ec
test(invariants): bound global companion topology
2026-07-20 01:51:28 +08:00
Tianyi Cui
fdce57cf4a
Merge codex/commands into codex/goal-commands
2026-07-20 01:43:32 +08:00
Tianyi Cui
4f1a0fe015
Merge codex/goal-session into codex/commands
2026-07-20 01:30:43 +08:00
Tianyi Cui
b21193ded5
Merge codex/goal-tools into codex/goal-session
2026-07-20 01:21:40 +08:00
Tianyi Cui
dddebe6755
Merge codex/goal-domain into codex/goal-tools
2026-07-20 01:12:37 +08:00
Tianyi Cui
af4313ec11
Merge rfc/loop into codex/goal-domain
2026-07-20 01:04:15 +08:00
Tianyi Cui
684fcf3357
Merge branch 'codex/invariant-package-registration-gate' into codex/package-invariant-checks
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.md
# .agents/notes/implemented/architecture/2026-07-19-package-invariant-runtime-contracts.zh.md
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml
# docs/rfc/INDEX.md
# packages/AGENTS.md
2026-07-20 00:54:28 +08:00
Tianyi Cui
b808026859
feat(workflow): add fresh-agent Ralph tool
2026-07-20 00:51:19 +08:00
Tianyi Cui
941b0411d8
feat(invariants): implement package runtime checks
2026-07-20 00:38:37 +08:00
Tianyi Cui
6520f71f94
Merge remote-tracking branch 'origin/codex/invariant-service-seam' into codex/invariant-package-registration-gate
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml
# docs/core-data-structures/session.md
# docs/module-graph.md
# package.json
# packages/sdk/scripts/tsconfig.json
2026-07-20 00:35:06 +08:00
Tianyi Cui
b46dfe08a2
Merge remote-tracking branch 'origin/master' into codex/invariant-service-seam
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.md
# .agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.zh.md
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.md
# .agents/notes/implemented/feature/2026-07-07-session-prefix.md
# .agents/notes/implemented/process/2026-07-14-typescript-program-backed-semantic-gates.i18n.yaml
# docs/architecture.md
# docs/config-catalog.md
# docs/core-data-structures/session.md
# docs/rfc/INDEX.md
# 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/support/invariants/README.md
# packages/support/invariants/src/index.ts
# packages/support/invariants/tests/invariants.spec.ts
2026-07-20 00:25:31 +08:00
Tianyi Cui
7a4909f221
Merge remote-tracking branch 'origin/master' into codex/jsonl-zstd-persistence
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.md
# .agents/notes/implemented/architecture/2026-07-19-zstandard-jsonl-session-logs.zh.md
# docs/rfc/INDEX.md
# packages/session-persistence/session-persistence-jsonl/README.md
2026-07-20 00:15:32 +08:00
Tianyi Cui
bec7ad544b
docs(rfc): record Zstandard JSONL framing
2026-07-20 00:06:39 +08:00
Tianyi Cui
d139948ed2
feat(persistence): compress JSONL logs with Zstandard
2026-07-20 00:06:21 +08:00
Tianyi Cui
207692bc16
feat(goal): add human goal command
2026-07-19 23:55:33 +08:00
Tianyi Cui
a9a44fea96
Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.md
# .agents/notes/implemented/architecture/2026-07-19-cooperative-tool-cancellation.zh.md
# .agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.i18n.yaml
# .agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.md
# .agents/notes/proposed/architecture/2026-07-19-required-cancellation-through-tool-capability-seams.zh.md
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/rfc/INDEX.md
# packages/AGENTS.md
2026-07-19 23:43:36 +08:00
Tianyi Cui
e8b95c8754
feat(tools): require cancellation signal on every invocation
2026-07-19 23:38:54 +08:00
Tianyi Cui
a99750f341
docs(rfc): propose required capability cancellation
2026-07-19 23:37:41 +08:00