Commit Graph

3694 Commits

Author SHA1 Message Date
Chinesezjc
00a9d39d44 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress 2026-07-28 15:02:02 +08:00
imccyu
095e3944ae docs(client): state the reactive-read rules positively 2026-07-28 14:52:04 +08:00
imccyu
059ba4e0d1 docs(client): add the reactive-read and contract-currency discipline 2026-07-28 14:48:46 +08:00
imccyu
2665e55e5d docs(runtime): align the zh README resolution sentence with the privatized resolvers 2026-07-28 14:36:16 +08:00
imccyu
d833be412a fix(client): contain notification-callback failures and document the source lifecycle
Review follow-ups: the three new notify loops (currentProvideInfo
subscribers, ui-skill lexicon listeners, late-registration controller
setup) now contain per-callback failures so one faulty consumer cannot
starve the rest, abort the list projection pass, or poison the source
roster with no disposer; controller lexicon polling drops a throwing
source with a console record like the candidate path. The ui-slash
README (both languages) now states the late-registration warm and the
subscribeLexicon contract, and the scenario suite drives a typed /name
token gaining its decoration when the roll settles with no further
input.
2026-07-28 14:33:37 +08:00
imccyu
f331f248d8 fix: static 2026-07-28 14:16:14 +08:00
imccyu
2b74db670e refactor(client): rename the provide reprojection to updateCurrentProvideInfo and privatize the id resolvers
provideInfo(id)/maybeProvideInfo(id) lost their last external caller
when the renderer host switched to the currentProvideInfo observable;
both become private (tests assert through the public projection). The
reprojection method's name now says what it does — re-derive and
publish on change — and matches the field family it maintains.
2026-07-28 14:06:08 +08:00
Chinesezjc
46e40719d1 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
# Conflicts:
#	apps/web/tests/todo-display.snapshot.ts
#	packages/client/ui-conversation/src/client/toolviews/todo-row.tsx
2026-07-28 12:27:14 +08:00
imccyu
b5168bbf86 feat(ui-slots): bind inject hooks compartments into use<Name> selector hooks
Registrant-private reactive facts previously reached components as raw
observables that each component subscribed by hand (InputBar notices/
lexicon via uSES, SettingsRoot via a version/subscribe/getter triple).
The inject face now carries a reserved hooks compartment of bare
sources; the renderer binds each into a use<Name> selector hook through
the same machinery as the provide channel, so components consume
useNotices/useLexicon/useSections and never see a subscription
primitive. InputBar and SettingsRoot are the first two consumers.
2026-07-28 12:09:48 +08:00
imccyu
b7f3cd3d78 refactor(client): rename currentProvide to currentProvideInfo 2026-07-28 12:09:48 +08:00
imccyu
71529aa7d2 refactor(client): rename the host provide source to provideInfo 2026-07-28 12:09:48 +08:00
imccyu
d3d01cb49c fix(ui-slash): make the reference lexicon reactive end to end
The decoration scan read a mutable lexicon() aggregation during render
with no subscription, so a catalog settling or a child spawning after
prewarm left drafted tokens undecorated until an unrelated re-render.
The controller now publishes the aggregation as a snapshot store fed by
a new optional SlashSource.subscribeLexicon hook (ui-skill notifies on
settle/invalidate, ui-subagent forwards the session-list feed), the
composer keyboard face exposes it as an observable, and InputBar
subscribes through uSES. Sources registered after scope birth now warm
and join live controllers via a service broadcast.
2026-07-28 12:09:48 +08:00
imccyu
eae712409b fix(ui-settings): subscribe to the section ledger through useSyncExternalStore
The manual useState+useEffect subscription could miss a registration
landing between render and effect commit; uSES closes that window and
keeps the same version-dedupe behavior.
2026-07-28 12:09:48 +08:00
imccyu
a0b618abb9 fix(client): publish current session provide bundle as one reactive projection
A provider roster change under a stable current id rematerialized every
scope's bundle but nothing notified React: SessionProvider resolved the
bundle from a current-id subscription only, so mounted entries kept the
obsolete hook/prop schema until an unrelated re-render. The sessions
service now owns an atomic currentProvide observable fed by both current
writes and roster changes; the renderer host exposes it as
sessions.provide, replacing the current/provideInfo/maybeProvideInfo
trio, and both providers subscribe to it.
2026-07-28 12:09:48 +08:00
imccyu
8f13e09f31 Merge branch 'master' into fix/todo-tool-ui 2026-07-28 11:32:07 +08:00
07akioni
99d631d41a fix: ci 2026-07-28 11:21:45 +08:00
Yichen Jiang
2e6abdf8a7 Merge remote-tracking branch 'origin/master' into worktree/tui-session-title-search 2026-07-28 11:12:56 +08:00
Yichen Jiang
968e4d5312 Merge remote-tracking branch 'origin/master' into worktree/tui-session-title-search
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-21-cross-session-references.md
#	.agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
#	packages/context/session-reference/README.i18n.yaml
#	packages/context/session-reference/README.md
#	packages/context/session-reference/README.zh.md
#	packages/context/session-reference/src/index.ts
2026-07-28 11:11:57 +08:00
Yichen Jiang
a43a2032ec fix(tui): search session references by title 2026-07-28 11:05:53 +08:00
07akioni
fb9495b21e Merge branch 'master' into fix/todo-tool-ui 2026-07-28 10:59:05 +08:00
Tianyi Cui
629f1c638b Merge branch 'master' into worktree/sdk-public-api 2026-07-28 02:11:10 +08:00
Tianyi Cui
3b5be72086 fix(sdk): narrow TypeScript client interface 2026-07-28 01:41:32 +08:00
Tianyi Cui
1a623946b9 Merge current master with codex/fix-acp-snapshot-refresh-volatiles 2026-07-28 01:36:32 +08:00
Chinesezjc
fb7fa4f1dd Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress 2026-07-28 01:28:29 +08:00
Tianyi Cui
9ebd0075e9 Merge master into fix/pty-handoff-grace 2026-07-28 01:19:58 +08:00
Chinesezjc
d0be242138 Merge branch 'master' into fix/worker-timer-clamp 2026-07-28 01:12:16 +08:00
Chinesezjc
a14dfdea17 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-28 01:07:09 +08:00
Chinesezjc
ca676178b5 Merge branch 'master' into fix/worker-timer-clamp 2026-07-28 01:06:22 +08:00
Tianyi Cui
2a562236d0 Merge remote-tracking branch 'origin/master' into worktree/pr784-merge-20260728 2026-07-28 01:02:49 +08:00
imccyu
730657375f Merge branch 'master' into worktree/web-session-model-selector 2026-07-28 00:56:56 +08:00
imccyu
7e2f6f474d fix: lint 2026-07-28 00:56:37 +08:00
Tianyi Cui
c0b9734494 Merge remote-tracking branch 'origin/master' into worktree/pr784-merge-20260728 2026-07-28 00:52:23 +08:00
Tianyi Cui
9c6de3644e Merge branch 'master' into archive-agent-notes-sweep-2 2026-07-28 00:49:13 +08:00
imccyu
2c5c1e72ba fix: merge conflicts 2026-07-28 00:45:27 +08:00
imccyu
af70af4020 Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector 2026-07-28 00:39:24 +08:00
Tianyi Cui
20ded66ffb Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727 2026-07-28 00:24:19 +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
2677fe04ad Merge remote-tracking branch 'origin/master' into fix/worker-timer-clamp 2026-07-28 00:22:25 +08:00
Chinesezjc
5d6a547d62 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress
# Conflicts:
#	examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
#	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
#	examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-28 00:21:43 +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
5f49a81514 Merge remote-tracking branch 'origin/master' into worktree/pr717-merge-20260728
# Conflicts:
#	pnpm-workspace.yaml
2026-07-28 00:13:04 +08:00
Chinesezjc
0982cc4fc0 Merge remote-tracking branch 'origin/master' into fix/worker-timer-clamp 2026-07-28 00:08:32 +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
Chinesezjc
88f6da2350 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress 2026-07-28 00:02:44 +08:00
Tianyi Cui
f2c0021941 docs(notes): aggressive archive sweep of low-value decision records
Archive 21 implemented triplets whose shipped decisions are complete and
whose bodies no longer guide future work (one-off UI chrome, generator
applications whose scripts are self-explanatory, superseded implementation
detail, process history owned by current contracts/skills). Delete 4
rejected triplets whose premises are obsolete: the DeepReadonly proposal
(dev-invariants note now carries the alternative inline), the collapse
tool-owned presentation proposal (superseded by the shipped render-intent
union), retire-mid-turn-steering (steering is now load-bearing across
plan-mode/apiproxy/TUI), and single-session-ACP (automation-only ACP
resolved the question; multi-session isolation is pinned by tests).

Repair every inbound link: retarget intentional historical citations to
archived paths, replace decision-current citations with the surviving
authority, and fix the stale example-execute-over-tsx pointer in
pnpm-workspace.yaml. Re-record pairing sidecars and seal the archive
manifest (append-only; existing seals unchanged).
2026-07-28 00:00:51 +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
861b7a7b8f Merge branch 'master' into codex/bump-pi-ai-0.82.1 2026-07-27 23:49:33 +08:00
Chinesezjc
8e35b720b4 Merge remote-tracking branch 'origin/master' into feat/todo-multi-in-progress 2026-07-27 23:46:22 +08:00
Chinesezjc
7111675b01 Merge remote-tracking branch 'origin/master' into fix/worker-timer-clamp 2026-07-27 23:45:05 +08:00