_Kerman
4e5266daa4
test: align consumers with owned-run semantics
2026-07-30 17:45:58 +08:00
_Kerman
a6baddaaac
refactor: remove per-followup result attribution
2026-07-30 16:48:28 +08:00
Turtle
95a995968b
refactor: migrate linting to Oxlint
2026-07-29 14:32:11 +08:00
_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
Tianyi Cui
29619eda77
Merge remote-tracking branch 'origin/master' into worktree/pr628-merge-20260727
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/cordis-catalog/events.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/request-recovery.spec.ts
# packages/core/agent/src/types.ts
# packages/core/scope/tests/invariant.spec.ts
# packages/llm/llm-retry/README.i18n.yaml
# packages/llm/llm-retry/README.md
# packages/llm/llm-retry/README.zh.md
# packages/llm/llm-retry/src/index.ts
# packages/llm/llm-retry/src/invariant.ts
# packages/llm/llm-retry/tests/invariant.spec.ts
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/plan/plan-mode/src/index.ts
# packages/plan/plan-mode/tests/integration.spec.ts
# packages/plan/plan-mode/tests/plan-mode.spec.ts
2026-07-27 23:29:26 +08:00
_Kerman
af3311e1f6
test: close per-file coverage gaps opened by the message-machine refactor
...
Downstream packages lost the tests that exercised their agent-loop-facing
edges when the loop was rewritten. Restore 100% per-file coverage with
behavior tests through public seams: llm-retry config validation and
cancellation races, goal replay drift/staleness/teardown edges, plan-mode
disposed-flush, workspace-context empty-change commits, api-proxy
synchronous send failures, acp-snapshot spill-path extraction and refresh
write-back, ACP injection-triggered turns, cli-demo and tui inbox
lifecycle edges, and agent-loop retry/settlement/lifecycle branches.
The only source changes are narrowly-justified v8 ignore annotations on
invariant guards and one redundant-guard removal (workspace-context).
2026-07-26 11:49:19 +08:00
Turtle
fcd355bf45
fix(examples): remove legacy retry rejection
2026-07-25 16:28:31 +08:00
Turtle
efc725b7e4
fix(llm): isolate retry policy histories
2026-07-25 15:38:58 +08:00
Turtle
a193ea7092
Merge origin/master into codex/provider-retry-policy
2026-07-25 10:35:22 +08:00
Turtle
b58e33268a
feat(llm): add per-provider retry policies
2026-07-25 10:18:16 +08:00
_Kerman
992cf894af
refactor(agent): unify sourced message delivery
2026-07-24 22:38:50 +08:00
_Kerman
009d113e0e
refactor(agent): trim obsolete loop surfaces
2026-07-24 21:58:07 +08:00
_Kerman
b73eb7663c
refactor(agent-loop): simplify observable state machine
2026-07-24 21:18:48 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
Tianyi Cui
3679b4d829
Merge master into worktree/semantic-session-checkpoints
2026-07-22 21:49:24 +08:00
Turtle
0c9a4d7c28
Retire the readline front door and the repl-agent example
...
Delete packages/ui/stdio and examples/repl-agent; rename stdio-demo to
@deepseek-ai/dsh-tui-demo (TUI-only, refuses pipes before Loader boot).
tui-agent owns the coding composition inline; echo-agent and the CI demo
smoke move to the one-shot cli-demo bin, which gains -p/--prompt. The
UI-independent with-key e2es move verbatim to tui-agent. SDK wizard's
'stdio' interface becomes 'tui'. PTY testing stays confined to TUI
surfaces; all other subprocess tests ride pipes.
See .agents/notes/implemented/simplification/2026-07-20-retire-readline-front-door.md
2026-07-22 14:29:27 +08:00
Yichen Jiang
28b358650b
Merge remote-tracking branch 'origin/master' into worktree/semantic-session-checkpoints
...
# Conflicts:
# docs/architecture.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/cancel.spec.ts
2026-07-22 10:29:09 +08:00
Tianyi Cui
3176d232b8
Merge master into codex/session-title
2026-07-21 22:59:41 +08:00
Tianyi Cui
3a895ce815
Merge master into codex/session-title
2026-07-21 21:11:32 +08:00
Yichen Jiang
8ce5989ffb
Merge remote-tracking branch 'origin/master' into worktree/semantic-session-checkpoints
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/tui-agent/tests/tui-keyless-smoke.e2e.ts
# packages/examples/acp-demo/package.json
# packages/examples/cli-demo/tsconfig.json
# packages/support/invariants/src/index.ts
# packages/support/invariants/tests/invariants.spec.ts
# pnpm-lock.yaml
2026-07-21 20:09:37 +08:00
Tianyi Cui
0004b8675f
Merge remote-tracking branch 'origin/master' into codex/enforce-tool-cancellation
...
# Conflicts:
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/core/agent/src/index.ts
# packages/support/invariants/tests/invariants.spec.ts
# packages/ui/acp/src/index.ts
# packages/ui/tui/tests/harness.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-21 20:03:00 +08:00
Yichen Jiang
6d12e3ab41
fix(session): add semantic crash checkpoints
2026-07-21 14:50:06 +08:00
Tianyi Cui
b3ba4345f5
fix(session-title): respect request and config boundaries
2026-07-21 14:09:17 +08:00
Tianyi Cui
72f0019c4e
Merge remote-tracking branch 'origin/codex/enforce-tool-cancellation' into worktree/explicit-turn-signal
...
# Conflicts:
# docs/architecture.md
# docs/cordis-catalog/events.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent/README.md
# packages/examples/cli-demo/src/cli.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-21 00:02:17 +08:00
Tianyi Cui
023cde5d82
Merge latest master into invariant service seam
2026-07-20 22:49:27 +08:00
Yichen Jiang
a92d2e5f34
Merge origin/master into worktree/explicit-turn-signal
2026-07-20 21:38:49 +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
8ee54bcb22
Merge latest invariant registration gate
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-20 20:20:10 +08:00
Tianyi Cui
5f806b96f0
Merge latest invariant service seam
2026-07-20 20:19:14 +08:00
Tianyi Cui
1145ee5fc3
fix(invariants): assert runtime relationships, not API shapes
2026-07-20 19:34:19 +08:00
Tianyi Cui
3b7ce2e682
fix(invariants): require justified empty companions
2026-07-20 18:39:37 +08:00
Tianyi Cui
3b0b0cefeb
feat: implement bounded LLM request recovery
2026-07-20 03:34:19 +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
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
d139948ed2
feat(persistence): compress JSONL logs with Zstandard
2026-07-20 00:06:21 +08:00
Tianyi Cui
433670a754
feat(invariants): require package-owned companions
2026-07-19 22:13:50 +08:00
Yichen Jiang
d2672460fe
fix(cli-demo): accept disabled task controls
2026-07-19 15:36:48 +08:00
Tianyi Cui
306dd2b1fe
fix(cli-demo): make failure rendering total
...
Contain arbitrary plugin and runtime failures even when a thrown Proxy traps instanceof checks or its string coercion throws. Fall back to a stable diagnostic instead of letting executeCli reject outside its exit-code contract.
Route abort reasons through the same total renderer so cancellation cannot escape containment through an exotic reason value.
Add a focused regression that exercises both hostile inspection paths and verifies stdout remains empty, stderr remains labelled, and the CLI resolves with exit code 1.
2026-07-19 14:41:55 +08:00
Tianyi Cui
1698f0baa6
fix(cli-demo): preserve disposal diagnostics
...
Report context-disposal failure as an independent outcome even when argument, boot, task, or output handling has already produced a primary diagnostic.
Keep the primary error first, append the cleanup error, and retain the nonzero exit status so operators can see both the initiating failure and the possibility that teardown or persistence did not complete.
Add a regression that combines an invalid app composition with a failing disposer and asserts both ordered stderr lines.
2026-07-19 14:41:55 +08:00
Tianyi Cui
ba693f0355
fix(cli-demo): forward the complete spine config
...
Align the one-shot app with the shared agent-spine contract that landed on master after this branch began. Expose maxParallelToolCalls, dshHome, toolBash, and toolTasks through the Loader schema and route them with pickSpineConfig().
This restores deployment control over tool-call concurrency, the shared Harness home, background bash, and task_output wait bounds instead of silently retaining owner defaults.
Exercise all four fields through the composed runtime, document the package-level contract, and regenerate the config catalog from the owning interface.
2026-07-19 14:41:55 +08:00
Tianyi Cui
ae419fb692
fix(cli-demo): interrupt Loader boot on signals
...
Race Loader startup with the process abort signal so SIGINT and SIGTERM can settle the one-shot CLI even when initialization has not returned a Context.
If boot settles after cancellation, dispose the late context asynchronously instead of recreating the wait. Contain late boot rejection and report a late disposal failure on stderr.
Cover prompt interruption, late context disposal, late boot rejection, and cleanup failure with focused CLI regressions.
2026-07-19 14:37:47 +08:00
Tianyi Cui
89987f0ad4
docs: align one-shot demo prose
2026-07-19 13:25:30 +08:00
Tianyi Cui
53c729e00b
Merge remote-tracking branch 'origin/master' into codex/cli-one-shot-demo
...
# Conflicts:
# AGENTS.md
# docs/architecture.md
# docs/capability-seams.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# knip.json
# packages/README.md
# packages/support/loader-smoke/README.md
# packages/support/loader-smoke/src/index.ts
# vitest.snapshot.config.ts
2026-07-19 13:11:50 +08:00
Tianyi Cui
b78cdbcd51
feat(examples): add one-shot CLI demo
2026-07-15 21:21:24 +08:00