_Kerman
cda482b555
Merge branch 'master' into xtr/agent-loop-message-machine
2026-07-27 18:31:16 +08:00
Tianyi Cui
a70923ba21
fix(session-checkpoint-policy): fail fast on an impossible crash marker
...
vi.waitFor retries every callback throw, so the mismatch branch inside
the callback waited the full 30s deadline for a fixture that writes the
marker once and cannot recover. Terminal states (complete marker, or
content that can no longer become the expected marker) now resolve out
of the retry loop and the mismatch throws after it, restoring the old
loop's immediate failure.
2026-07-27 12:51:47 +08:00
_Kerman
2f74ac98ba
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# .agents/notes/archived/feature/2026-07-21-tui-steering-queue-badge.i18n.yaml
# .agents/notes/archived/simplification/2026-06-20-drop-unconsumed-llm-assembled-surfaces.i18n.yaml
# .agents/notes/archived/simplification/2026-07-04-prune-producerless-vocabulary-variants.i18n.yaml
# .agents/notes/archived/simplification/2026-07-04-remove-agent-steering-mirror.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/feature/2026-07-07-session-prefix.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-02-remove-stream-chunk-mirror.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# packages/core/session/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/support/acp-snapshot/README.i18n.yaml
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/README.zh.md
2026-07-27 09:57:51 +08:00
Tianyi Cui
cbb266dc2d
Merge remote-tracking branch 'origin/master' into nih-imp-execa
...
# Conflicts:
# .agents/notes/rejected/simplification/2026-07-26-dependency-swaps-rejected-by-nih-audit.i18n.yaml
# apps/web/tests/scaffold.ts
# packages/session-persistence/session-checkpoint-policy/tests/crash-recovery.e2e.ts
# packages/support/acp-snapshot/README.i18n.yaml
2026-07-27 06:31:17 +08:00
Tianyi Cui
4a336ba8d7
fix(session): resolve packed default without schema
2026-07-27 03:54:03 +08:00
Tianyi Cui
7a3c71161c
Merge remote-tracking branch 'origin/master' into worktree/packed-chunks-default-rfc
...
# Conflicts:
# .agents/notes/implemented/testing/2026-06-19-acp-snapshot-tests.i18n.yaml
# docs/testing.i18n.yaml
# packages/support/acp-snapshot/README.i18n.yaml
2026-07-27 03:31:33 +08:00
Tianyi Cui
40f331f951
test: remove crash marker publication race
2026-07-27 02:51:25 +08:00
_Kerman
63c8494d69
fix(session-persistence): honor inspect cancellation during retirement drain
...
inspect() awaited an in-flight retirement drain unconditionally before entering
serialize(), so a slow drain pinned a cancelled inspect until it finished, past
the documented cancellation boundary. Race the retirement wait against the
signal with observeQueuedAbort, matching serialize()'s queued-read behaviour.
Adds a regression that cancels an inspect while a gated retirement is pending
and asserts prompt rejection without a backend read.
2026-07-27 02:00:26 +08:00
Tianyi Cui
4ff496c65c
feat(session): default JSONL writes to packed rows
2026-07-26 23:44:52 +08:00
Tianyi Cui
c4647a8609
test: adopt execa for hand-rolled subprocess plumbing, parseArgs for llm-mock-server CLI, vi.waitFor for poll loops
...
Implements the execa Agent Note's four sub-changes:
- execa (root devDep + loader-smoke dep) replaces the hand-rolled
spawn-collect-timeout choreography in loader-smoke, apps/cli and
cli-demo/acp-demo built-bin e2e, lsp-local and code-runtime-worker
built-lib e2e, the tui pty-harness outer collector, the jsonrpc
keyless smoke, and crash-recovery's child spawn. Genuinely custom
parts stay custom: cli-demo's interrupt-on-marker, jsonrpc's
line-predicate protocol driving, crash-recovery's SIGKILL-at-failpoint.
The two loader-smoke /* v8 ignore */ OS-error branches are gone.
- llm-mock-server CLI tokenizes via node:util parseArgs; numeric
coercion/bounds/cross-option constraints stay manual; pinned
error-message tests updated to the parseArgs texts.
- both loadRootEnv copies in apps/web/tests are deleted: the owning
vitest configs (web unconditionally, snapshot in record mode)
already load the repo-root .env before these files run.
- the four poll loops (acp-snapshot harness waits + crash-recovery
waitForFile) ride vi.waitFor with explicit {interval, timeout}.
2026-07-26 22:29:41 +08:00
_Kerman
8117f61396
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# packages/context/workspace-context/README.md
# packages/llm/llm-retry/README.md
# packages/session-persistence/session-checkpoint-policy/README.md
# scripts/type-equiv.manifest.json
2026-07-26 16:45:27 +08:00
_Kerman
57d90c343d
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.zh.md
# .agents/notes/implemented/feature/2026-06-30-hook-bridges.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-interception-seams.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml
# .agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-02-remove-stream-chunk-mirror.i18n.yaml
# docs/architecture.i18n.yaml
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/core-data-structures/tools.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.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
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# examples/acp-agent/tests/snapshots/plan-mode-reject/session.jsonl
# examples/acp-agent/tests/snapshots/plan-mode/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# packages/context/session-reference/README.md
# packages/core/agent-loop/tests/agent.spec.ts
# packages/hooks/hooks-claude/tests/coverage-cases.ts
# packages/host/runtime/tests/host-runtime.spec.ts
# packages/llm/llm-retry/tests/retry.spec.ts
# packages/session-persistence/session-persistence/src/coordinator.ts
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/codec.ts
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/codec.spec.ts
# packages/ui/acp/tests/config-options.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/ui/acp/tests/stream-update.spec.ts
# packages/ui/acp/tests/turns.spec.ts
2026-07-26 14:05:33 +08:00
Tianyi Cui
226dc7a249
docs: translate remaining READMEs
2026-07-26 05:06:39 +08:00
Hypatia May
7cf5b08d07
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/core-data-structures/persistence.i18n.yaml
# packages/session-persistence/session-persistence-jsonl/src/index.ts
2026-07-25 15:43:45 +08:00
Tianyi Cui
8a7bb03aab
fix(persistence): reconcile project session layout
2026-07-25 15:11:17 +08:00
Tianyi Cui
c09397f833
Merge branch 'master' into codex/session-directory-layout
2026-07-25 14:53:20 +08:00
Hypatia May
ddac36e46e
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/capability-seams.md
# examples/acp-agent/composition.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/snapshots/model-switching/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/model-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/permission-switching/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.expected.json
# examples/acp-agent/tests/snapshots/plan-mode/system-prompt.expected.md
# examples/acp-agent/tests/snapshots/plan-mode/tool-schemas.expected.json
# packages/examples/acp-demo/README.md
# packages/host/runtime/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/support/acp-snapshot/tests/normalize.spec.ts
# packages/ui/acp/tests/harness.ts
# scripts/type-equiv.manifest.json
# tsconfig.host.json
2026-07-25 14:17:24 +08:00
Tianyi Cui
f9a638b8a6
Stabilize master CI across platforms
2026-07-25 00:10:37 +08:00
_Kerman
992cf894af
refactor(agent): unify sourced message delivery
2026-07-24 22:38:50 +08:00
Turtle
1ffdacb2c4
fix(jsonl): handle filesystem path aliases
2026-07-24 21:50:11 +08:00
_Kerman
194b18a32f
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# docs/cordis-catalog/services.md
2026-07-24 21:41:02 +08:00
Hypatia May
224e00b2bd
fix: quiesce cancelled session reconciliation
2026-07-24 21:27:07 +08:00
_Kerman
b73eb7663c
refactor(agent-loop): simplify observable state machine
2026-07-24 21:18:48 +08:00
Turtle
c14f488b00
fix(persistence): use normalized project directory names
2026-07-24 21:15:53 +08:00
Tianyi Cui
46dfd503e0
Merge origin/master into codex/sqlite-metadata-contracts
2026-07-24 21:07:23 +08:00
Hypatia May
cbc6d81fc3
Merge remote-tracking branch 'origin/master' into session-query-tool
...
# Conflicts:
# docs/architecture.i18n.yaml
2026-07-24 20:59:18 +08:00
Turtle
4e295221f3
refactor(persistence): group sessions in project directories
2026-07-24 19:52:47 +08:00
Hypatia May
fec4ce52cc
fix: batch cancellable title reads
2026-07-24 18:13:11 +08:00
_Kerman
6945a2c37d
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
2026-07-24 16:31:49 +08:00
Turtle
bb124c2869
Merge branch 'master' into feat/send-unify
2026-07-24 16:31:00 +08:00
_Kerman
66645638fb
Merge remote-tracking branch 'origin/feat/send-unify' into xtr/agent-loop-message-machine
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.md
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/core-data-structures/core.md
# packages/context/session-reference/README.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/inbox.ts
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/coverage-edges.spec.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent/README.md
# packages/core/agent/src/types.ts
# packages/core/agent/tests/agent.spec.ts
# packages/ui/acp/src/index.ts
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/harness.ts
2026-07-24 16:25:53 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
_Kerman
7d5c8b12c0
fix(agent-loop): preserve unified send contracts
2026-07-24 13:20:51 +08:00
Hypatia May
dc2ea3a1b4
fix(sqlite): lock before ownership validation
2026-07-24 11:20:47 +08:00
Hypatia May
e54a4ad986
fix(sqlite): match reserved object names literally
2026-07-24 11:11:45 +08:00
Hypatia May
352934b9ec
fix(jsonl): reject negative-zero timestamps
2026-07-24 11:01:08 +08:00
Hypatia May
19b96037f6
fix(sqlite): enforce integer session metadata
2026-07-24 10:35:09 +08:00
Hypatia May
3b3a7232a7
Merge remote-tracking branch 'origin/master' into codex/sqlite-metadata-contracts
2026-07-24 09:48:06 +08:00
Tianyi Cui
f27f8f6162
Merge commit 'refs/codex-unblock/20260723/pr570-master-initial' into worktree/pr570-merge-master-20260723
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.md
# docs/core-data-structures/persistence.md
# packages/session-persistence/session-persistence/README.md
2026-07-23 23:21:08 +08:00
Hypatia May
0e7fee95c0
fix(sqlite): preserve session metadata contracts
2026-07-23 22:08:58 +08:00
Hypatia May
9482affc48
fix(session-query): make persisted observation non-mutating
2026-07-23 21:33:28 +08:00
_Kerman
c596dddfe1
fix: return stored metadata from live loads
2026-07-23 21:28:52 +08:00
Hypatia May
c1fa985c20
Merge remote-tracking branch 'origin/master' into session-query-search
...
# Conflicts:
# docs/architecture.i18n.yaml
# packages/client/ui-sidebar/tests/sidebar-root.spec.tsx
# packages/session-persistence/session-persistence-jsonl/src/index.ts
# packages/session-persistence/session-persistence/README.md
2026-07-23 21:13:29 +08:00
_Kerman
4e5166828b
fix: reserve cold loads across repair
2026-07-23 20:58:20 +08:00
_Kerman
816907ba2d
Merge remote-tracking branch 'origin/master' into refactor/eager-session-persistence
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.md
# packages/session-persistence/session-persistence-jsonl/README.md
# packages/session-persistence/session-persistence/src/coordinator.ts
# packages/session-persistence/session-persistence/tests/persistence.spec.ts
2026-07-23 20:32:19 +08:00
_Kerman
d0e5987c4a
fix: serialize persistence ownership selection
2026-07-23 20:24:27 +08:00
Tianyi Cui
a5cb16cc0e
Merge master into codex/jsonl-storage-identity
2026-07-23 20:12:26 +08:00
_Kerman
e5d16d5e58
fix: close eager persistence races
2026-07-23 19:55:52 +08:00
_Kerman
d2fcf385e8
test: cold-load persisted session metadata
2026-07-23 19:27:37 +08:00
_Kerman
7f5ba286fe
fix: keep crash repair away from live sessions
2026-07-23 18:31:37 +08:00