Tianyi Cui
c3d9f132e8
test(snapshot): canonicalize generated cwd tokens
2026-07-28 23:46:01 +08:00
ZiyaZhang
0626b6656c
Merge remote-tracking branch 'origin/master' into fix/hook-matcher-validation
2026-07-28 08:15:28 -07:00
Yichen Jiang
c146304797
Merge remote-tracking branch 'origin/master' into worktree/default-pi-ai-providers
2026-07-28 22:29:48 +08:00
Yichen Jiang
152f3e9596
feat(apps): register OpenAI and Anthropic providers
2026-07-28 22:29:41 +08:00
Tianyi Cui
4cf7603be4
test(snapshot): enforce portable fixture invariants
2026-07-28 21:45:01 +08:00
Tianyi Cui
39ff4866ac
Merge retargeted parent into policy inheritance simplification
2026-07-28 21:35:23 +08:00
Tianyi Cui
5d147735ac
Merge latest master into subagent policy inheritance
2026-07-28 21:33:40 +08:00
Tianyi Cui
84d0d92cfb
test(snapshot): normalize temporary workspace paths
2026-07-28 21:32:49 +08:00
Tianyi Cui
a70f1a2b7a
test(acp): remove vacuous policy inheritance scenario
...
The ACP fixture configured read-only as the deployment default for both parent and child. Its delegated write therefore remained denied even with inheritance disabled, so the scenario could not fail on the regression it claimed to protect.
Delete the overlay, scenario registration, sessions, prompt, and 473-line tool-schema sidecar. The Loader-booted headless snapshot remains the real composition guard: only its parent carries read-only while the deployment default is workspace-write, so removing inheritance makes the child write reach disk and fails the test.
Keeping one discriminating snapshot avoids 662 lines of duplicated fixture data and makes the review evidence correspond to the actual security boundary.
2026-07-28 21:32:10 +08:00
Tianyi Cui
cfceb8452b
subagent: seed inherited policy events at creation
...
The parent implementation introduced sandboxMode and approvalPolicy as generic SessionHeader fields, then propagated those fields through both persistence backends, session-query indexes, collision checks, policy-specific seed-boundary folds, catalogs, and a broad test matrix. That storage plane is unnecessary: Session already accepts a validated constructor seed, and persistence captures that seed when the session is announced before committing its first batch.
Capture each parent override synchronously at delegation, append source-tagged sandbox/mode and approval/policy records after the optional fork prefix, and create the child with that combined seed. Keeping header.seedLength at the original fork-prefix length preserves lineage while ordinary last-event-wins folds make the inherited records outrank stale parent history and remain subordinate to later child switches. Unswitched parents still stamp nothing, so children continue to follow deployment defaults.
Remove the generic header fields and every persistence/query/schema branch built around them. Collapse the inheritance suite from ten leaking scenarios to four owned-context cases covering real filesystem confinement, stale fork precedence, delegation-time capture, and the no-override path. The assembled headless snapshot now asserts the persisted inheritance event directly.
This keeps the security behavior while restoring policy ownership to the existing event log and deleting the speculative durability machinery that the original tests did not exercise.
2026-07-28 21:31:17 +08:00
Tianyi Cui
afa38c4b2f
Merge latest master into subagent policy inheritance
...
Retarget the feature branch to the current master tip without rewriting its existing review history. Keeping this as a dedicated merge checkpoint makes the later simplification diff attributable to the stacked child rather than mixing base movement with design changes.
Resolve the identified-message API drift in the feature tests by constructing complete user messages, reading the nested tool-result message shape, and adapting the prompt-submit listener signature. Preserve both sides of the user-approval conflict: master’s createUserMessage wrapper and the feature’s inherited-policy attribution.
Regenerate the Cordis and persistence catalogs, re-record the session README pair, and refresh the affected ACP/headless fixtures so derived artifacts describe the merged source rather than either parent in isolation.
Validated with the focused policy/session/persistence/query suites (430 tests), focused ACP/headless snapshots (3 tests), build, doc-sync (25 gates), lint, hygiene, and git diff checks.
2026-07-28 21:11:20 +08:00
Tianyi Cui
0304ba1457
Merge branch 'master' into worktree/dedupe-snapshot-contracts
2026-07-28 21:08:38 +08:00
ZiyaZhang
f688cd32af
fix(workspace-context): escape instruction metadata
2026-07-28 05:22:47 -07:00
_Kerman
bc988ca4a9
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/core-data-structures/core.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent/README.i18n.yaml
2026-07-28 18:49:23 +08:00
kingwl
2f93614efb
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/subagent/subagent-inprocess/README.i18n.yaml
2026-07-28 18:37:46 +08:00
kingwl
d69e1ada97
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# docs/cordis-catalog/services.md
# docs/core-data-structures/persistence.i18n.yaml
# docs/persistence-catalog.md
# packages/core/session/README.i18n.yaml
# packages/sandbox/sandbox-policy/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
2026-07-28 18:19:30 +08:00
Yichen Jiang
fd01fef6b7
test(sdk): satisfy max tokens gates
2026-07-28 18:06:58 +08:00
ZiyaZhang
5e4c2ffae7
test(hooks): snapshot invalid matcher loading
2026-07-28 02:58:08 -07:00
Yichen Jiang
5358168787
feat(sdk): support max output tokens
2026-07-28 17:36:44 +08:00
Tianyi Cui
9c78a7df33
test(snapshot): share identical header sidecars
2026-07-28 17:26:03 +08:00
Yichen Jiang
3764778be3
Merge remote-tracking branch 'origin/master' into worktree/skill-invocation-controls
2026-07-28 17:22:56 +08:00
Yichen Jiang
e133e4bddb
feat(skill): add invocation controls
2026-07-28 17:22:41 +08:00
Tianyi Cui
def1b5c55a
Merge remote-tracking branch 'origin/master' into worktree/pr742-retarget-20260728
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-28 16:59:10 +08:00
_Kerman
750aa2022f
fix(snapshot): refresh session title messages
2026-07-28 15:55:15 +08:00
_Kerman
019b0abb68
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# packages/core/session/README.i18n.yaml
# packages/session-title/session-title/tests/persistence.spec.ts
2026-07-28 15:45:53 +08:00
_Kerman
a39ffb095a
fix(session): preserve plugin turn invariants
2026-07-28 15:18:48 +08:00
_Kerman
350c296cff
fix: complete immutable message migration
2026-07-28 14:15:23 +08:00
_Kerman
fbf87e660c
refactor: identify and freeze messages at creation
2026-07-28 13:55:59 +08:00
kingwl
bc3e776225
Merge remote-tracking branch 'origin/master' into feature/subagent-policy-inheritance
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# docs/cordis-catalog/services.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/core/session/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
# packages/ui/user-approval/src/index.ts
2026-07-28 11:19:46 +08:00
Tianyi Cui
366b6f2607
Merge newer master into skill catalog hot refresh
2026-07-28 02:01:26 +08:00
Tianyi Cui
a7cbdd83d7
Merge newer master into skill catalog hot refresh
2026-07-28 01:57:14 +08:00
Tianyi Cui
7503fa896f
fix(snapshot): pass refresh context in SDK snapshots
2026-07-28 01:43:40 +08:00
Tianyi Cui
1a623946b9
Merge current master with codex/fix-acp-snapshot-refresh-volatiles
2026-07-28 01:36:32 +08:00
Tianyi Cui
9ebd0075e9
Merge master into fix/pty-handoff-grace
2026-07-28 01:19:58 +08:00
Tianyi Cui
b557bfbde5
Merge newer master into skill catalog hot refresh
2026-07-28 01:12:11 +08:00
Tianyi Cui
2612a4b587
Merge latest master into skill catalog hot refresh
2026-07-28 01:10:33 +08:00
Tianyi Cui
cc8f6a30c0
Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727
...
# Conflicts:
# docs/architecture.i18n.yaml
# packages/core/agent-loop/src/agent.ts
2026-07-28 00:23:27 +08:00
Chinesezjc
3dc3e59b38
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-28 00:17:25 +08:00
Tianyi Cui
c8814d7347
test(acp): await goal cancellation persistence
2026-07-28 00:13:09 +08:00
Tianyi Cui
4a45981e76
Merge remote-tracking branch 'origin/master' into worktree/pr743-merge-20260727
...
# Conflicts:
# examples/tui-agent/tests/snapshots/cordis-dynamic-toolchain/terminal.expected.txt
# packages/ui/tui/tests/snapshots/cordis-tools-pending.expected.txt
2026-07-28 00:03:56 +08:00
Tianyi Cui
064cea4ebe
Merge remote-tracking branch 'origin/master' into worktree/pr743-merge-20260727
...
# Conflicts:
# 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/session-query-spill/session.jsonl
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
2026-07-27 23:59:33 +08:00
Tianyi Cui
f6a450102e
Merge updated origin/master into feat/tui-master-port
2026-07-27 23:55:53 +08:00
Tianyi Cui
2973dbae59
fix(ci): read durable skill catalog in TUI smoke
2026-07-27 23:50:38 +08:00
Tianyi Cui
f843d2b238
Merge origin/master into feat/tui-master-port
2026-07-27 23:34:56 +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
Chinesezjc
18882af947
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-27 23:17:23 +08:00
Tianyi Cui
8a952ab433
Merge remote-tracking branch 'origin/master' into worktree/pr628-merge-20260727
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.md
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.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
# docs/module-graph.md
# examples/headless-agent/tests/headless.snapshot.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/examples/agent-spine-demo/README.md
# packages/llm/README.md
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-retry/README.md
# packages/llm/llm/README.md
# packages/llm/llm/src/index.ts
# packages/llm/llm/tests/service.spec.ts
# packages/support/llm-replay/src/index.ts
# packages/support/llm-replay/tests/llm-replay.spec.ts
2026-07-27 22:44:43 +08:00
Tianyi Cui
7f333d8837
Merge branch 'master' into sdk/ts-client-and-subagent
2026-07-27 22:41:23 +08:00
Tianyi Cui
55247b80b2
Merge origin/master (tsx lint lanes, session-telemetry-otel example dep)
2026-07-27 22:35:43 +08:00
Tianyi Cui
7a60a523f9
Merge branch 'master' into feature/cordis-temporary-tools
2026-07-27 22:26:49 +08:00