Tianyi Cui
2f3ca3027b
Merge remote-tracking branch 'origin/master' into codex/invariant-service-seam
2026-07-20 19:42:41 +08:00
kingwl
539cb9748b
Merge remote-tracking branch 'origin/master' into jsonl-packed-chunk-rows
...
Conflict: master's docs-site rework (#e7b101a43) deleted the generated
website/zh-CN/api pages this branch had re-anchored after the last merge —
accept the deletions; the site now builds its API reference at build time.
2026-07-20 19:35:34 +08:00
Tianyi Cui
1145ee5fc3
fix(invariants): assert runtime relationships, not API shapes
2026-07-20 19:34:19 +08:00
Tianyi Cui
4cadf096ce
Remove the stdio agent
2026-07-20 19:26:04 +08:00
Tianyi Cui
3b7ce2e682
fix(invariants): require justified empty companions
2026-07-20 18:39:37 +08:00
Tianyi Cui
3293d56a06
fix: clarify provider retry delay contract
2026-07-20 18:38:22 +08:00
Tianyi Cui
8e95f305b0
refactor(agent-loop): reuse loaded session metadata
2026-07-20 18:26:19 +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
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
c40e63d04b
fix(session-persistence-jsonl): require delegation depth
2026-07-20 17:51:21 +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
kingwl
5869a46d94
Merge remote-tracking branch 'origin/master' into jsonl-packed-chunk-rows
...
Conflicts: generated docs only (cordis services catalog and the website
sessions API page) — resolved by regenerating both over the merged sources.
2026-07-20 17:37:30 +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
02a048ffd9
Merge remote-tracking branch 'origin/master' into fix/subagent-depth-budget
2026-07-20 17:25:21 +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
442330d55b
Merge origin/master into worktree/contain-result-observer-rejections
2026-07-20 17:19:55 +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
bd99e8d04a
Merge branch 'master' into steering-unwrap
2026-07-20 17:02:18 +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
kingwl
d85d2a4be3
Merge remote-tracking branch 'origin/master' into jsonl-packed-chunk-rows
...
Conflicts: the four generated catalog docs (regenerated over merged sources),
session index.ts exports (keep chunk-rows exports + master's SessionSurface
re-export), stdio/acp demo config schema and persistence wiring (thread
packChunks through master's DEFAULT_PERSISTENCE_ROOT/UI shape), stdio README
config table, and the jsonl spec import line. The packed-chunk fixture also
gains the provenance field master made required on assistant/message.
2026-07-20 15:24:58 +08:00
Yichen Jiang
4b861eccb0
Merge branch 'master' into worktree/contain-result-observer-rejections
2026-07-20 15:23:42 +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
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
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
Dudu-0223
ca1cc61dfb
Merge origin/master into lsp
2026-07-20 13:54:38 +08:00
pku-xht
7d7d69e225
review fix: cover post-cancel replacement
2026-07-20 13:20:51 +08:00
pku-xht
da70e47048
review fix: preserve idle waiter quiescence
2026-07-20 13:15:11 +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
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
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
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
3b0b0cefeb
feat: implement bounded LLM request recovery
2026-07-20 03:34:19 +08:00
Tianyi Cui
e2b8e2b1eb
Merge codex/goal-commands into codex/ralph-tool
2026-07-20 01:52:57 +08:00
Tianyi Cui
fdce57cf4a
Merge codex/commands into codex/goal-commands
2026-07-20 01:43:32 +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
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