Tianyi Cui
b79e7a5e30
Merge master into codex/simp-session-log-representation
2026-07-17 22:20:06 +08:00
Tianyi Cui
ce393ccb93
Merge master into codex/simp-session-log-representation
2026-07-17 21:51:36 +08:00
Tianyi Cui
ecd84f7eb9
Merge origin/master into compact-tool-pairing
2026-07-17 21:36:06 +08:00
Tianyi Cui
e01b5dc354
Merge origin/master into session-query-trace
2026-07-17 18:41:42 +08:00
Hypatia May
a6c8775f12
fix(session): reject sparse provenance arrays
2026-07-16 11:08:59 +08:00
Tianyi Cui
281eed3e57
Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/rfc/INDEX.md
# docs/rfc/implemented/testing/2026-07-06-pin-request-header-content-in-one-scenario.md
# docs/rfc/proposed/simplification/2026-07-12-simplify-session-log-representation.md
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/src/normalize.ts
# packages/support/acp-snapshot/src/suite.ts
# packages/support/acp-snapshot/tests/fixtures/suite/pin-turn/session.jsonl
# packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-15 15:53:56 +08:00
Tianyi Cui
649865043d
docs: preserve prose cleanup in session simplification
2026-07-15 14:59:20 +08:00
Hypatia May
cc546c4580
feat(compact): move pairing helpers (PR1 round 1)
2026-07-15 13:22:44 +08:00
Yichen Jiang
ca14bcc34b
Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
...
# Conflicts:
# AGENTS.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# packages/fs/fs-local/src/index.ts
# pnpm-lock.yaml
2026-07-15 13:07:11 +08:00
Hypatia May
356236d08a
Merge remote-tracking branch 'origin/master' into session-query-trace
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/rfc/INDEX.md
# packages/core/session/src/surface.ts
# packages/support/invariants/src/index.ts
2026-07-15 09:11:19 +08:00
imccyu
c67c3d9413
refactor: derive event graphs and scope invariants from TypeScript
2026-07-14 23:37:56 +08:00
Yichen Jiang
ee111fd978
Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
...
# Conflicts:
# AGENTS.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
# docs/rfc/implemented/feature/2026-06-15-code-mode.md
# docs/rfc/implemented/feature/2026-06-30-hook-bridges.md
# docs/rfc/implemented/feature/2026-06-30-interception-seams.md
# docs/rfc/implemented/feature/2026-07-08-repeat-tool-guard.md
# docs/rfc/proposed/simplification/2026-07-04-prune-dead-core-spine-surface.md
# examples/AGENTS.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/acp.snapshot.ts
# examples/echo-agent/cordis.yml
# examples/sandbox-acp-agent/cordis.yml
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-core/README.md
# packages/core/agent-core/src/index.ts
# packages/core/agent-loop/README.md
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent/src/types.ts
# packages/core/tools/README.md
# packages/core/tools/src/code-mode.ts
# packages/core/tools/src/index.ts
# packages/fs/fs-local/src/index.ts
# packages/fs/fs/README.md
# packages/fs/fs/src/index.ts
# packages/guard/repeat-tool-guard/README.md
# packages/guard/repeat-tool-guard/src/index.ts
# packages/hooks/hooks-claude/src/index.ts
# packages/hooks/hooks-codex/src/index.ts
# packages/ui/acp-agent/src/index.ts
2026-07-14 19:50:25 +08:00
Tianyi Cui
78276c52a7
Merge branch 'codex/simp-session-dead-surface' into codex/simp-session-log-representation
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/persistence-catalog.md
# docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
# docs/rfc/implemented/feature/2026-06-18-compaction-capability-seam.md
# docs/rfc/implemented/feature/2026-07-06-explicit-tool-order.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# docs/rfc/implemented/feature/2026-07-07-session-prefix.md
# packages/compact/compact-basic/src/index.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/core/agent-loop/src/loop.ts
# packages/core/agent-loop/src/request-log.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent/src/types.ts
# packages/core/session/README.md
# packages/core/session/src/request-header.ts
# packages/core/session/src/surface.ts
# packages/core/session/src/tool-pairing.ts
# packages/core/session/src/types.ts
# packages/core/session/tests/surface.spec.ts
# packages/core/session/tests/tool-pairing.spec.ts
# packages/llm/llm/src/call-config.ts
# packages/support/acp-snapshot/src/suite.ts
# packages/support/invariants/README.md
# packages/ui/user-approval/README.md
2026-07-14 18:34:34 +08:00
Hypatia May
97f5ec95cd
Merge remote-tracking branch 'origin/master' into session-query-trace
...
# Conflicts:
# docs/cordis-catalog/services.md
# packages/core/session/README.md
# packages/support/invariants/src/index.ts
# packages/support/invariants/tests/invariants.spec.ts
2026-07-14 17:31:46 +08:00
Tianyi Cui
34a059c9bc
Merge remote-tracking branch 'origin/master' into codex/simp-session-dead-surface
...
# Conflicts:
# docs/cordis-catalog/services.md
# packages/core/session/README.md
# packages/core/session/tests/derived-cache.spec.ts
# packages/session-persistence/session-persistence-jsonl/tests/jsonl.spec.ts
# packages/session-persistence/session-persistence/src/coordinator.ts
# packages/session-persistence/session-persistence/src/index.ts
2026-07-14 17:24:02 +08:00
Hypatia May
dc60fe9572
Avoid retaining processed session seqs
2026-07-14 14:23:02 +08:00
Tianyi Cui
539850578a
fix: reject legacy header deltas on append
2026-07-14 14:06:28 +08:00
Hypatia May
dbe65e1d13
Unify session surface validation
2026-07-14 13:49:36 +08:00
Tianyi Cui
1ab64dba62
Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
...
# Conflicts:
# docs/config-catalog.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/rfc/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# examples/AGENTS.md
# examples/README.md
# examples/acp-agent/README.md
# examples/acp-agent/cordis.yml
# examples/acp-agent/tests/acp.e2e.ts
# examples/acp-agent/tests/escalation.e2e.ts
# examples/sandbox-acp-agent/README.md
# examples/sandbox-acp-agent/cordis.snapshot.yml
# examples/sandbox-acp-agent/cordis.yml
# examples/sandbox-acp-agent/tests/acp.snapshot.ts
# packages/ui/acp-agent/src/bin.ts
# packages/ui/acp/README.md
# packages/ui/jsonrpc-agent/README.md
# packages/ui/jsonrpc-agent/src/bin.ts
# scripts/verify-translation-pairing.ts
2026-07-14 12:34:14 +08:00
Tianyi Cui
49e45ff184
fix: reject legacy fallback headers
2026-07-14 12:32:44 +08:00
Tianyi Cui
4d5fb2cb1d
Merge branch 'codex/simp-session-dead-surface' into codex/simp-session-log-representation
...
# Conflicts:
# docs/core-data-structures/session.md
# docs/rfc/implemented/feature/2026-07-06-sandbox.md
# examples/acp-agent/tests/snapshots/permission-switching/system-prompt.golden.md
# examples/sandbox-acp-agent/tests/acp.snapshot.ts
# examples/sandbox-acp-agent/tests/snapshots/mode-switching/session.jsonl
# packages/core/session/README.md
# packages/core/session/src/index.ts
# packages/core/session/src/surface.ts
# packages/core/session/tests/surface.spec.ts
# scripts/type-equiv.manifest.json
2026-07-14 11:49:46 +08:00
Tianyi Cui
34fe20962f
Merge remote-tracking branch 'origin/master' into codex/simp-session-dead-surface
...
# Conflicts:
# packages/core/session/src/surface.ts
2026-07-14 11:39:11 +08:00
Tianyi Cui
1123e946c0
refactor: simplify session log representation
2026-07-13 23:56:10 +08:00
Tianyi Cui
20402b637c
Merge remote-tracking branch 'origin/master' into codex/trim-ai-prose
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/rfc/proposed/feature/2026-07-08-interactive-side-sessions.md
# docs/rfc/proposed/simplification/2026-06-20-unify-agent-and-session-id.md
# examples/coding-agent/tests/keyless-smoke.e2e.ts
# packages/ui/acp/src/index.ts
2026-07-13 23:44:44 +08:00
Tianyi Cui
148046b9c8
docs: rebalance prose cleanup and add trimming skill
2026-07-13 23:27:00 +08:00
Tianyi Cui
d060c0dd4f
refactor: prune dead session surfaces
2026-07-13 23:25:20 +08:00
Tianyi Cui
c45d7927cf
docs: tighten prose audit after master retarget
2026-07-13 16:24:32 +08:00
Hypatia May
84e6f72ef5
fix(session-query): reject misplaced surface ops
2026-07-13 16:05:11 +08:00
Hypatia May
3d3789bf2d
Merge remote-tracking branch 'origin/session-query' into session-query-trace-filter
...
# Conflicts:
# docs/config-catalog.md
# docs/core-data-structures/core.md
# docs/rfc/INDEX.md
# packages/support/invariants/src/index.ts
2026-07-13 14:55:25 +08:00
Hypatia May
75de01f06d
refactor(session): centralize surface provenance validation
2026-07-13 14:46:43 +08:00
Yichen Jiang
adf6b8a1ab
Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# docs/rfc/implemented/feature/2026-06-15-code-mode.md
# docs/rfc/implemented/feature/2026-06-30-interception-seams.md
# docs/rfc/proposed/simplification/2026-07-04-prune-dead-core-spine-surface.md
# docs/tool-execution-pipeline.md
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-core/tests/agent-core.spec.ts
# packages/core/agent-loop/src/agent.ts
# packages/core/agent/README.md
# packages/core/session/src/index.ts
# packages/core/tools/README.md
# packages/core/tools/src/index.ts
# pnpm-lock.yaml
# scripts/gen-doc-graphs.ts
# scripts/type-equiv.manifest.json
2026-07-13 14:37:32 +08:00
Hypatia May
00bfc03d20
Merge remote-tracking branch 'origin/master' into session-query
...
# Conflicts:
# docs/core-data-structures/core.md
# docs/module-graph.md
# docs/rfc/INDEX.md
# vendor/README.md
2026-07-13 14:27:31 +08:00
Tianyi Cui
f658fb35e3
Merge remote-tracking branch 'origin/worktree-agent-scope-design' into codex/trim-ai-prose
2026-07-13 13:46:51 +08:00
Tianyi Cui
6a8118c967
docs: align scoped runtime contracts
2026-07-13 13:41:27 +08:00
Tianyi Cui
74ada5777c
Merge PR #224 updates into prose cleanup
2026-07-12 23:36:49 +08:00
Tianyi Cui
738054562d
fix: complete scoped lifecycle simplification
2026-07-12 23:15:07 +08:00
Tianyi Cui
28e04ff4fb
refactor(core): simplify scoped agent lifecycles
2026-07-12 22:36:04 +08:00
Tianyi Cui
e8fed4fb66
fix(session): contain post-commit observers
2026-07-12 18:57:42 +08:00
Hypatia May
bea27efc4b
fix(session-query): reject markerless surface events
2026-07-12 10:09:47 +08:00
Tianyi Cui
c5b1a7941f
fix(scope): harden lifecycle ownership foundation
...
Make Cordis construction and teardown ownership reentrancy-safe, then carry caller and provider ownership through reservation, setup, publication, quiescence, and sentinel retirement.
Stabilize registry carriers and factory/workflow boundaries, add adversarial lifecycle regressions, and align the rewritten RFC plus generated contracts with the enforced behavior.
2026-07-12 08:57:05 +08:00
Tianyi Cui
a9cb70d896
fix(scope): harden final ownership boundaries
2026-07-12 05:13:17 +08:00
Tianyi Cui
36b8370027
fix(scope): close remaining ownership boundaries
2026-07-12 03:51:55 +08:00
Tianyi Cui
75838e10b5
docs: trim generated prose
2026-07-12 03:36:43 +08:00
Tianyi Cui
3263dab822
fix(core): enforce agent-scoped ownership boundaries
2026-07-11 22:55:26 +08:00
Hypatia May
42d85cf76f
fix(session): avoid retaining surface fold history
2026-07-11 12:29:19 +08:00
Hypatia May
ad32c57e72
refactor(session-query): narrow phase one to exact reads
2026-07-11 12:20:35 +08:00
Hypatia May
aa1dc0e2c7
feat(session-query): checkpoint build round 1
2026-07-10 16:51:19 +08:00
Yichen Jiang
3fe196a751
Adapt workspace context to session prefixes
2026-07-10 14:32:44 +08:00
Tianyi Cui
2489402610
Merge origin/master: scope-aware fusion of the tools/execute seam, session-prefix, and tool-cordis
...
Master brought 50 commits (the tool-cordis group, dsh-code-runtime + worker,
the tools/execute around-dispatch seam + timeout-policy, repeat-tool-guard,
agent/session-prefix, the ui reorganization). Beyond the ten textual
conflicts, the merge reconciles master's new seams with this branch's
scoped-registration world:
- tools/execute (new waterfall around core dispatch): dispatched with the
SAME exec.agent carrier as the pre/post waterfalls — an agent.ctx wrapper
times/retries only its own agent's calls — and its base thunk resolves the
tool through the caller's visible view (get(exec.name, exec.agent)), so a
scoped/shadowed tool dispatches and a restricted-away global stays
UNKNOWN_TOOL. Declared this: Scoped<ToolRegistry> with the scope-filtered
doc sentence; invariants table + verify-scoped-dispatch pin it (21 events).
- agent/session-prefix (new waterfall, once per loop instance): composed via
the fused agentEvents dispatcher (scope-filtered like every agent-subject
event), declared this: Scoped<Agent>, table-pinned. agent/pre-step keeps
master's new sessionPrefix parameter with this branch's Scoped this.
- timeout-policy reads the budget through the caller's visible view
(get(exec.name, exec.agent)): a scoped tool's own timeoutMs governs its
calls; a global name-twin's budget is never misapplied to a shadowing
per-agent variant.
- tool-cordis: cordis_inspect's tools section lists the CALLING agent's view
(its description promises "what you can call"); the sandbox tool façade's
reads resolve through the mount's own scope, mirroring where its register
lands writes; sandboxRegisterTool's return type carries the exact-disposer
union honestly. dsh-scope declared as peer+dev with the project reference.
- doc-sync chain unions master's verify-cordis-api with this branch's
verify-scoped-dispatch; the generated catalogs, event matrix (the
zero-dispatcher guard passes over master's new events), module graph, and
the cordis api-catalog are regenerated on the merged surface.
Full gate sequence green on the merged tree: typecheck, lint, per-file 100%
coverage (2668 tests), snapshots (38), doc-sync, module graph, build,
hygiene, demo smoke.
2026-07-09 23:24:42 +08:00
Tianyi Cui
3d16026eb0
feat(core): scope-aware registries and session dispatch carriers
...
dsh-tools and dsh-system-prompt gain a per-scope registration layer over
dsh-scope: a registration through a scoped context files into that scope,
shadows a same-named global contribution for that scope (per-agent persona
and tool variants), and unwinds with the scope. tools.restrict() masks the
global surface per scope (snapshot-at-registration, loud unknown-name
validation, intersection composition; scoped grants bypass). One visibility
function feeds schemas/get/execute, so prompt, presentation, and dispatch
can never disagree; out-of-view executes as UNKNOWN_TOOL.
Prompt tool providers now receive the AssembleContext and return
{schemas, knownNames}: toolOrder validates against the pre-restriction name
universe (a typo fails every assembly loudly) while ordering operates on
the post-restriction schemas (a restricted-away tool is a normal absence).
dsh-session captures each session's dispatch carrier at enter() from the
entering context's scope tag, and the new sessions.flush(session) owns the
awaited session/flush dispatch. tools/pre|post-execute and
system-prompt/assemble dispatch with scope carriers keyed by their subject;
session/created|event|flush by the owning session's scope.
2026-07-09 01:09:21 +08:00