Commit Graph

602 Commits

Author SHA1 Message Date
Tianyi Cui
c1d7b0df81 feat: return typed values from Code Mode 2026-07-21 04:37:09 +08:00
Tianyi Cui
66c36e7325 feat: add canonical typed tool outputs 2026-07-21 03:22:14 +08:00
Tianyi Cui
8500974fd4 feat: unify JSON value schema DSL 2026-07-21 01:11:55 +08:00
Tianyi Cui
22fa51845e Merge branch 'codex/goal-session' into codex/commands
# Conflicts:
#	docs/config-catalog.md
#	docs/module-graph.md
#	examples/acp-agent/tests/snapshots/error-finish/stdout.expected.jsonl
#	packages/ui/acp/README.md
#	packages/ui/tui/README.md
2026-07-20 23:03:55 +08:00
Tianyi Cui
f98f0e9838 Merge branch 'codex/goal-tools' into codex/goal-session
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	packages/core/agent-loop/README.md
#	packages/core/agent/README.md
2026-07-20 22:57:14 +08:00
Tianyi Cui
ea530241d8 Merge branch 'codex/goal-domain' into codex/goal-tools
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
2026-07-20 22:50:36 +08:00
Tianyi Cui
076e46ebc0 Merge branch 'rfc/loop' into codex/goal-domain
# Conflicts:
#	docs/event-producer-consumer.md
#	docs/module-graph.md
2026-07-20 22:46:26 +08:00
Tianyi Cui
78472196c8 Merge branch 'codex/goal-session' into codex/commands
# Conflicts:
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/config-catalog.md
#	docs/module-graph.md
#	knip.json
#	packages/examples/README.md
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/tui-demo/package.json
#	packages/ui/README.md
#	packages/ui/tui/src/index.ts
2026-07-20 22:05:51 +08:00
Tianyi Cui
41196b7e4f Merge branch 'codex/goal-tools' into codex/goal-session
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-20 21:55:13 +08:00
Tianyi Cui
9d0a75b154 Merge branch 'codex/goal-domain' into codex/goal-tools
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-20 21:44:06 +08:00
Tianyi Cui
11afddf61d Merge branch 'rfc/loop' into codex/goal-domain
# Conflicts:
#	docs/event-producer-consumer.md
#	knip.json
2026-07-20 21:37:04 +08:00
Tianyi Cui
8c12f8945e Merge latest master into codex/llm-error-recovery-rfc
# Conflicts:
#	docs/architecture.md
#	docs/config-catalog.md
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	docs/persistence-catalog.md
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/core/agent-loop/src/loop.ts
#	packages/core/agent/src/types.ts
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/src/index.ts
#	packages/llm/llm-deepseek/README.md
#	packages/llm/llm-deepseek/src/adapter.ts
#	packages/llm/llm-deepseek/tests/adapter.spec.ts
#	packages/llm/llm/README.md
#	packages/llm/llm/src/error.ts
#	packages/llm/llm/tests/service.spec.ts
#	packages/sandbox/sandbox-policy/tsconfig.json
#	packages/ui/stdio/README.md
#	packages/ui/stdio/src/index.ts
#	packages/ui/stdio/tests/stdio.spec.ts
#	packages/ui/tui/src/index.ts
#	pnpm-lock.yaml
#	website/zh-CN/api/harness/events.md
#	website/zh-CN/api/harness/llm.md
2026-07-20 20:59:11 +08:00
Tianyi Cui
dfc401a66a Merge branch 'codex/goal-session' into codex/commands
# Conflicts:
#	docs/event-producer-consumer.md
#	website/.vitepress/config/api-sidebar.json
#	website/zh-CN/api/harness/events.md
2026-07-20 20:43:02 +08:00
Tianyi Cui
eb5ae54a79 Merge branch 'codex/goal-tools' into codex/goal-session
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	examples/package.json
#	packages/core/agent/README.md
#	packages/core/agent/src/types.ts
#	website/zh-CN/api/harness/events.md
2026-07-20 20:35:15 +08:00
Tianyi Cui
1dcfc63a78 docs(goal): refresh event source links 2026-07-20 20:26:26 +08:00
Tianyi Cui
710c62474a Merge branch 'master' into fetch-failed-diagnostics 2026-07-20 20:10:57 +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
0000b17cae docs(catalog): refresh subagent source anchors 2026-07-20 18:14:22 +08:00
Tianyi Cui
51ba53766e Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget
# Conflicts:
#	docs/persistence-catalog.md
2026-07-20 18:11:59 +08:00
Tianyi Cui
ff6359a0cd docs(subagent): close review contract gaps 2026-07-20 18:10:31 +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
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
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
45aa46e924 Merge branch 'master' into fetch-failed-diagnostics 2026-07-20 17:03:49 +08:00
Tianyi Cui
7aee299bda docs(compact): correct pruning surface contracts 2026-07-20 17:02:28 +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
97e144fff6 Merge branch 'codex/goal-domain' into codex/goal-tools 2026-07-20 16:50:40 +08:00
Tianyi Cui
63d1f7679c docs(goal): refresh generated service references 2026-07-20 16:50:29 +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
Yichen Jiang
f2a813b791 Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget 2026-07-20 15:15:31 +08:00
pku-xht
c16e1078f5 docs(agent): clarify late steering timing 2026-07-20 14:42:55 +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
pku-xht
a6e96c47f3 review fix: pin ordinary-send batching removal 2026-07-20 11:53:49 +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