Yichen Jiang
8c0d626cd5
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
2026-07-30 23:32:31 +08:00
Yichen Jiang
9ebf7424f7
Merge latest master into worktree-llm-dynamic-config
2026-07-30 23:28:58 +08:00
Tianyi Cui
38a7c823d7
Merge branch 'master' into feature/directory-listing-tool
2026-07-30 23:17:12 +08:00
imccyu
da9f02221e
Merge remote-tracking branch 'origin/master' into worktree-forkweb
2026-07-30 22:53:07 +08:00
Tianyi Cui
16a287d726
Merge remote-tracking branch 'origin/master' into worktree/pr798-retarget-config-20260730
2026-07-30 22:41:07 +08:00
Yichen Jiang
015b065e9d
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-07-30 22:19:53 +08:00
Tianyi Cui
dc5f270ae2
Merge branch 'master' into codex/queue-collapse
2026-07-30 22:18:44 +08:00
Yichen Jiang
80c36ff0d3
Merge latest master into worktree-llm-dynamic-config
2026-07-30 22:18:16 +08:00
Tianyi Cui
b5f5a01dcb
Merge remote-tracking branch 'origin/master' into worktree/pr798-retarget-config-20260730
2026-07-30 22:14:08 +08:00
imccyu
f2bbc0f453
Merge branch 'master' into worktree-forkweb
2026-07-30 22:12:50 +08:00
imccyu
6f2e8fb6aa
Merge branch 'master' into worktree-forkweb
2026-07-30 21:53:03 +08:00
Wenlu Wang
0670cb5af8
Merge branch 'master' into codex/queue-collapse
2026-07-30 21:51:49 +08:00
Yichen Jiang
45e6a6c31d
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
2026-07-30 21:50:43 +08:00
creatixchu
97d79e3ee0
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:49:33 +08:00
Yichen Jiang
cd6027125c
Merge latest master into worktree-llm-dynamic-config
2026-07-30 21:49:30 +08:00
Tianyi Cui
b43e392be7
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
2026-07-30 21:49:30 +08:00
Wenlu Wang
a1c8fa06a0
Merge branch 'master' into codex/queue-collapse
2026-07-30 21:46:37 +08:00
Yichen Jiang
a5e0c5e7e7
Merge latest master into worktree-llm-web-config
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
2026-07-30 21:45:55 +08:00
Tianyi Cui
26f0dc1aef
Merge branch 'master' into worktree/ci-independent-consumer-build
2026-07-30 21:44:31 +08:00
creatixchu
ddc4adb7a3
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:42:30 +08:00
Tianyi Cui
ec9ff784fa
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
2026-07-30 21:41:25 +08:00
Tianyi Cui
99db7e8fc3
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
2026-07-30 21:35:08 +08:00
imccyu
3b370549a1
feat(client): increment forked session titles
2026-07-30 21:28:17 +08:00
imccyu
213de9a737
feat(ui-conversation): wire assistant session forks
2026-07-30 21:28:17 +08:00
imccyu
2f8f47e500
feat(ui-workspace): flatten session fork rows
2026-07-30 21:28:17 +08:00
imccyu
36f1489398
fix(web): address session fork review findings
2026-07-30 21:28:13 +08:00
creatixchu
8d864c9549
Merge remote-tracking branch 'origin/master' into feat/dir-selector-adaptive-default
2026-07-30 21:22:28 +08:00
Tianyi Cui
81e5eb9800
Merge latest master into worktree-config-settings-seam
2026-07-30 21:21:35 +08:00
Yichen Jiang
7022ab4a75
Merge worktree-llm-dynamic-config (884) into worktree-llm-web-config
2026-07-30 21:19:17 +08:00
Yichen Jiang
2243e35846
Merge worktree-config-settings-seam (870) into worktree-llm-dynamic-config
2026-07-30 21:17:07 +08:00
Tianyi Cui
6777e4fab9
fix(fs-search): make glob sampling an explicit choice
2026-07-30 21:14:03 +08:00
Tianyi Cui
ec1f08d3ba
Merge branch 'master' into worktree/ci-independent-consumer-build
2026-07-30 21:07:14 +08:00
Tianyi Cui
21e8af2b3a
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
...
# Conflicts:
# packages/fs/tool-fs-search/README.i18n.yaml
# packages/fs/tool-fs-search/README.zh.md
2026-07-30 20:56:27 +08:00
imccyu
a07f7ab551
Merge branch 'master' into codex/queue-collapse
2026-07-30 20:52:12 +08:00
Hypatia May
acca880015
Merge latest origin/master into fix/human-transcript-projection
...
Build-review integration round 2.
2026-07-30 20:51:45 +08:00
Tianyi Cui
bec424b9f3
Merge latest master into worktree-config-settings-seam
2026-07-30 20:51:34 +08:00
Hypatia May
c6e06e289e
Merge origin/master into fix/human-transcript-projection
...
Build-review integration round 1.
2026-07-30 20:45:39 +08:00
Yichen Jiang
ff5b65bb62
Merge latest master into worktree-config-settings-seam
...
# Conflicts:
# packages/typert/generator/tests/cordis-catalog-contract.spec.ts
2026-07-30 20:28:25 +08:00
Wenlu Wang
9dc5b4f58d
Merge branch 'master' into codex/queue-collapse
2026-07-30 20:24:12 +08:00
creatixchu
0ea0aef41a
Merge remote-tracking branch 'origin/feat/directory-picker-quiet-navigation' into feat/dir-selector-adaptive-default
2026-07-30 20:23:11 +08:00
creatixchu
b6fc6328f3
Merge remote-tracking branch 'origin/master' into feat/directory-picker-quiet-navigation
2026-07-30 20:22:35 +08:00
Yichen Jiang
3957ce007a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# apps/web/tests/details-session-lifecycle.e2e.ts
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/message-actions/ui.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.md
# docs/user/guide/config.zh.md
# docs/user/guide/index.i18n.yaml
# docs/user/guide/index.md
# docs/user/guide/index.zh.md
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/cordis-agent/cordis.yml
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/tui-agent/code-mode.cordis.yml
# examples/tui-agent/cordis.yml
# packages/examples/tui-demo/README.md
# packages/examples/tui-demo/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# pnpm-lock.yaml
# scripts/snapshots/python-sdk-single-exe/advanced/result.json
# scripts/snapshots/python-sdk-single-exe/advanced/session.1.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.2.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.jsonl
2026-07-30 20:15:40 +08:00
kingwl
29d8ca5ee5
Merge remote-tracking branch 'origin/master' into codex/queue-collapse
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 20:11:46 +08:00
Hypatia May
fe97451604
Merge remote-tracking branch 'origin/master' into fix/human-transcript-projection
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-17-dedicated-full-screen-tui-front-door.i18n.yaml
# docs/cordis-catalog/services.md
# packages/host/apiproxy/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
2026-07-30 19:57:49 +08:00
imccyu
f988ca9b86
fix(scripts): own the locality proof's premises in gen-doc-graphs
...
Review follow-up. provenLocalCallee inferred file-local calls from module
scoping but borrowed non-exportedness from its one caller and never checked
module-ness: a helper in a global script file (no import/export) is
program-visible and callable cross-file with no same-file reference, so the
proof passed and those call sites were dropped as silently missing matrix
cells. Guard both premises at the proof entry, failing toward the global
fallback.
- State the EVENT_API_METHODS obligation: a visitSource branch for an
unlisted method name is dead because the prefilter drops the call first.
- Add gen-doc-graphs.spec.ts pinning fast path vs global fallback equivalence
on fixture programs: a proven-local helper, an alias-escaping helper, and a
global-script helper (negative control that keeps the fallback exercised).
- Record the demand-driven indexing decision in the Program-backed semantic
gates Agent Note (both languages, pairing re-recorded).
Generated docs stay byte-identical (verify-doc-graphs green).
2026-07-30 19:57:17 +08:00
creatixchu
692ada7485
Merge remote-tracking branch 'origin/feat/directory-picker-quiet-navigation' into feat/dir-selector-adaptive-default
2026-07-30 19:48:45 +08:00
Tianyi Cui
9d5a59eadf
Merge latest master into worktree-config-settings-seam
2026-07-30 19:48:06 +08:00
creatixchu
94f115725c
Merge remote-tracking branch 'origin/master' into feat/directory-picker-quiet-navigation
2026-07-30 19:48:02 +08:00
Yichen Jiang
eae4219e04
Merge branch 'worktree-config-settings-seam' into worktree-llm-dynamic-config
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/composition.md
# apps/cli/config/base.cordis.yml
# apps/cli/src/app-cli-entry.ts
# apps/cli/src/tui.ts
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# examples/package.json
# packages/ui/app-boot/README.i18n.yaml
# packages/ui/app-boot/README.md
# packages/ui/app-boot/README.zh.md
# pnpm-lock.yaml
# python/sdk-runtime/package.json
2026-07-30 19:46:04 +08:00
Yichen Jiang
e6483f0afc
feat(settings): detect stale writers with a revision, and announce raw changes
...
The remaining P1 from the #939 review, plus the P2 it shares a mechanism with.
Nothing carried a version, so two tabs editing one namespace silently
overwrote each other — reproduced as tab B's `reasoning` lost to tab A's
older draft. The seam's per-namespace write queue orders writes; it cannot
tell a fresh writer from one replaying a snapshot a predecessor superseded.
Each namespace now carries a monotonic `revision` over its RAW section. A
write may send `expectedRevision`, checked at the FRONT of the queue (not at
call time, which would race the very predecessor it guards against); a
mismatch rejects with `SettingsConflictError` → `settings-conflict` on the
wire, carrying both revisions. The editor captures the revision it opened at
and, on conflict, asks the user to reopen rather than replaying its snapshot.
The same counter fixes the missing broadcast. `settings/updated` is gated on
the resolved value — correct for consumers, wrong for configuration surfaces:
storing an override equal to the composition base leaves the resolved value
alone while changing what the document says (the field is now overridden, not
inherited) and moving every open editor's revision. `settings/document-updated
(ns, revision)` fires on any raw-section change, in-process or external, and
`host/settings-changed` now rides it.
That event also closes the stale model picker: editing a provider's `models`
changes no route, so `llm/adapters-updated` never fired and an open picker
kept serving the old catalog. A change to an exposed provider namespace now
emits `host/models-changed` too — that namespace holds the catalog.
Docs: both sides of the five touched README pairs, a type-equiv block for
`SettingsPathOp`, and an Agent Note recording what the plane exposes and who
may overwrite what. The deferred wire-redaction gaps (secrets behind
union/intersection/transform, `.default(...)` in the served envelope, schema
text in rejection messages, `new Function` rehydration, pi-ai's `headers`) are
recorded as TODO(settings-wire-redaction) and in Known Limitations rather than
half-fixed.
2026-07-30 19:24:21 +08:00