Commit Graph

2939 Commits

Author SHA1 Message Date
Tianyi Cui
31580b62b8 Merge origin/master into codex/send-one-turn
# Conflicts:
#	website/zh-CN/api/harness/events.md
2026-07-20 17:52:30 +08:00
Tianyi Cui
90553c732b Merge origin/master into codex/jsonl-storage-identity 2026-07-20 17:51:02 +08:00
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
4e7a2c732f fix(commands): remove adapter surface filtering 2026-07-20 17:41:22 +08:00
Tianyi Cui
ec0a2bb623 Merge origin/master into codex/send-one-turn
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	docs/persistence-catalog.md
#	packages/core/agent-loop/src/loop.ts
#	packages/core/agent/README.md
#	website/zh-CN/api/harness/events.md
2026-07-20 17:41:06 +08:00
Tianyi Cui
b668d67dc9 Merge remote-tracking branch 'origin/master' into codex/pr270-retarget-20260720
# Conflicts:
#	website/.vitepress/config/api-sidebar.json
2026-07-20 17:38:27 +08:00
Tianyi Cui
a87d3e7e55 Merge branch 'codex/goal-session' into codex/commands 2026-07-20 17:24:39 +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
Turtle
ccb1d09850 Merge remote-tracking branch 'origin/master' into fetch-failed-diagnostics
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-20 17:21:43 +08:00
Tianyi Cui
0b42b2524c Merge remote-tracking branch 'origin/master' into codex/pr270-retarget-20260720
# Conflicts:
#	website/zh-CN/api/harness/events.md
#	website/zh-CN/api/harness/sessions.md
2026-07-20 17:15:50 +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
45aa46e924 Merge branch 'master' into fetch-failed-diagnostics 2026-07-20 17:03:49 +08:00
Tianyi Cui
979b2c652f Merge branch 'master' into translate-skill-subagent 2026-07-20 17:03:11 +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
e9d9791501 Merge branch 'codex/goal-domain' into codex/goal-tools 2026-07-20 16:42:04 +08:00
Tianyi Cui
6b44d01bc8 Merge master into compact-tool-result-prune 2026-07-20 16:41:59 +08:00
Yichen Jiang
dc4b7de817 Merge remote-tracking branch 'origin/master' into worktree/docs-website
# Conflicts:
#	website/.vitepress/config/api-sidebar.json
#	website/zh-CN/api/harness/bash-env.md
#	website/zh-CN/api/harness/bash.md
#	website/zh-CN/api/harness/events.md
#	website/zh-CN/api/harness/fs.md
#	website/zh-CN/api/harness/permission.md
#	website/zh-CN/api/harness/sandbox.md
2026-07-20 16:41:21 +08:00
Tianyi Cui
1468773dcd fix(goal): simplify blockers into one durable phase 2026-07-20 16:39:40 +08:00
Yichen Jiang
2b1b598467 docs: restore generated Cordis core API 2026-07-20 16:33:44 +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
pku-xht
f899b857a6 review fix: explain one-send turns plainly 2026-07-20 15:48:42 +08:00
Yichen Jiang
cfa180c127 Resolve compaction policy per routed model 2026-07-20 15:34:00 +08:00
Yichen Jiang
8ffca1f9c4 Merge remote-tracking branch 'origin/worktree/docs-website' into worktree/docs-website 2026-07-20 15:26:01 +08:00
Yichen Jiang
99ce2ce8b4 fix duplicate documentation homepage content 2026-07-20 15:25:47 +08:00
Yichen Jiang
fdd5791325 Merge branch 'master' into worktree/docs-website 2026-07-20 15:10:28 +08:00
pku-xht
7ffac135a6 review fix: disambiguate steering checkpoint timing 2026-07-20 14:51:38 +08:00
pku-xht
c16e1078f5 docs(agent): clarify late steering timing 2026-07-20 14:42:55 +08:00
Tianyi Cui
3deb7bf196 Merge remote-tracking branch 'origin/codex/ralph-tool' into codex/goal-rfc-rollup 2026-07-20 14:37:16 +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
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
pku-xht
da70e47048 review fix: preserve idle waiter quiescence 2026-07-20 13:15:11 +08:00
Tianyi Cui
b8af6c4b43 docs(goal): align rollup with implemented stack 2026-07-20 13:13:11 +08:00
Tianyi Cui
bbc6808a3c Merge remote-tracking branch 'origin/codex/ralph-tool' into codex/goal-rfc-rollup 2026-07-20 13:09:36 +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
a3f792ea9f docs(landlock-run): align source and release guidance 2026-07-20 12:25:43 +08:00