Commit Graph

1201 Commits

Author SHA1 Message Date
Tianyi Cui 59122b9e85 Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727 2026-07-28 00:06:16 +08:00
Tianyi Cui c982cf7805 refactor(dev-infra): narrow worktree hook safety checks 2026-07-28 00:05:31 +08:00
Tianyi Cui 752d4b9204 Merge updated origin/master into feat/tui-master-port 2026-07-27 23:56:54 +08:00
Tianyi Cui f6a450102e Merge updated origin/master into feat/tui-master-port 2026-07-27 23:55:53 +08:00
Tianyi Cui 95bba22f84 Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727 2026-07-27 23:47:28 +08:00
Tianyi Cui 5175ab4019 Merge branch 'master' into worktree/agent-note-supersession-check-20260727 2026-07-27 23:44:06 +08:00
Tianyi Cui 18835ca838 Merge updated origin/master into feat/tui-master-port 2026-07-27 23:39:59 +08:00
Tianyi Cui 35697a4529 Merge origin/master into Agent Note supersession checks 2026-07-27 23:39:18 +08:00
Tianyi Cui 6241eb6044 Require Agent Note supersession checks 2026-07-27 23:38:49 +08:00
Tianyi Cui b7ae92b9bf Merge remote-tracking branch 'origin/master' into worktree/pr628-merge-20260727 2026-07-27 23:38:39 +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
Tianyi Cui 7759b1d682 docs: record Dependabot security update boundary 2026-07-27 23:27:07 +08:00
Tianyi Cui 22e3327f68 chore: configure Dependabot updates 2026-07-27 23:21:52 +08:00
Tianyi Cui 4fc07e311a Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727 2026-07-27 22:55:21 +08:00
Tianyi Cui f7729b6f53 fix(dev-infra): harden worktree hook ownership 2026-07-27 22:54:44 +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 74c1a76440 fix(dev-infra): detect GitHub Actions installs 2026-07-27 22:00:36 +08:00
Tianyi Cui 1f8a3dd7b1 fix(dev-infra): skip hook setup in CI 2026-07-27 21:54:04 +08:00
_Kerman fb1dc6d117 Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/session.i18n.yaml
#	docs/event-producer-consumer.md
#	examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-07-27 21:51:37 +08:00
Tianyi Cui 4e7132e77b Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727 2026-07-27 21:39:58 +08:00
Tianyi Cui 605df45928 Merge remote-tracking branch 'origin/master' into feat/telemetry-otel-plugin 2026-07-27 21:32:50 +08:00
Tianyi Cui 19b8794966 fix(dev-infra): guard dormant worktree configs 2026-07-27 21:31:12 +08:00
Tianyi Cui 0af16387ae fix(telemetry): rename record waterfall 2026-07-27 21:30:28 +08:00
Tianyi Cui 6914b04107 Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727 2026-07-27 21:21:17 +08:00
_Kerman ed67ad53d2 refactor(agent): return request retry action 2026-07-27 21:17:49 +08:00
Tianyi Cui debd6b9f6f Merge remote-tracking branch 'origin/master' into worktree/worktree-local-lefthook-20260727 2026-07-27 21:17:39 +08:00
Chinesezjc 207bab0c21 Merge remote-tracking branch 'origin/master' into fix/question-composer-row-shrink 2026-07-27 21:11:15 +08:00
Chinesezjc b5395f9415 docs(agent-note): record that reproducing the shortfall needs a short viewport
The card cap is viewport-relative (min(60vh, 520px)), so shrinking the
conversation column clips the card without under-allocating it. Anything
demonstrating or measuring this defect outside the e2e scenario has to
change the viewport.
2026-07-27 21:11:15 +08:00
Turtle 46bbbce109 refactor(tui): split createTuiChat into chat/ sub-controllers
Extract model-command, questions, and resume sub-machines from the
~1600-line createTuiChat closure into src/chat/ factories that take
explicit dependency bundles (shared ChatChannelDeps/ChannelNotice).
Reorganize src/ so chat/ holds all chat-channel concerns (former input
and session/ files move under it); xml-tool-output moves to components/;
TuiRuntime/TuiResumeHost move to runtime.ts. index.ts drops 2067->~1530
lines. Behavior identical: 167 tests and all TUI snapshots pass unchanged.
2026-07-27 21:04:11 +08:00
Tianyi Cui 3feaef6ecb fix(dev-infra): harden worktree hook migration 2026-07-27 20:58:19 +08:00
kingwl 7d4b984037 Merge remote-tracking branch 'origin/master' into feat/telemetry-otel-plugin
Resolutions: regenerate the conflicted generated docs (cordis services
catalog, event-producer-consumer, module-graph); take master's
packages/README pair and re-insert the telemetry row on both sides;
re-record the README and session-doc translation pairs.
2026-07-27 20:26:21 +08:00
Chinesezjc 82f66f8fde Merge remote-tracking branch 'origin/master' into fix/question-composer-row-shrink 2026-07-27 20:20:16 +08:00
Chinesezjc 3e659db0b7 docs(notes): localize the Chinese Agent Note headings
The Chinese counterpart kept its title and every section heading in
English. The bilingual contract localizes heading text; only the
`# Agent Note:` prefix and the `Status:` token stay verbatim, matching
the renderings already used across the note corpus (问题 / 决策 /
曾考虑的替代方案 / 后果 / 验证). Pairing hashes re-recorded.
2026-07-27 20:20:12 +08:00
Ziya 91d85773ac Merge branch 'master' into feat/workspace-native-folder-picker 2026-07-27 08:06:44 -04:00
Tianyi Cui 054ee9f2cc Merge origin/master into worktree/worktree-local-lefthook-20260727 2026-07-27 20:02:39 +08:00
Tianyi Cui 3a69e7a2d8 fix(dev-infra): isolate Lefthook per worktree 2026-07-27 20:02:29 +08:00
_Kerman c6073f07c2 Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/architecture.md
#	docs/architecture.zh.md
#	docs/core-data-structures/core.i18n.yaml
2026-07-27 19:55:55 +08:00
Chinesezjc f11dc28f1f test(web): record the user-bubble action row in the answered golden
The answered golden omitted the `复制` / `在新对话中分支` / `编辑` buttons
that `MessageItem`'s `UserActions` renders under every user bubble, so the
scenario failed against the built client. They are unconditional in the
accessibility tree — the `@media (hover: hover)` rule only sets `opacity`,
which does not remove a node from an aria snapshot — so there is no
message-row state to stabilize before capture; the golden was simply
recorded against a stale `lib/`. A partially failed `pnpm run build` had
left the client bundles from before its failure current and the rest not.

The Agent Note records that trap: confirm the build exited zero before
refreshing a golden, and note that untracked directories under `packages/`
are compiled too, so a leftover from another branch fails the build for
reasons the diff does not explain.

The same omission is present in the other 15 committed web goldens on
master, where 9 tests across 7 files fail for this reason on a pristine
tree. That is pre-existing and belongs to whoever landed `UserActions`;
this commit fixes only the golden this PR already touches.
2026-07-27 19:54:55 +08:00
kingwl a72436105b docs(telemetry): state the crash-repair export semantics for resumed streams
Review finding: synthetic turn closers written by SessionPersistence
.load() at crash-resume sit below firstLiveSeq and are never exported,
leaving the remote turn unbalanced. Kept deliberately — exporting a
synthetic closer cannot complete a turn whose real tail records died
in the crashed process's queue; it can only make an incomplete turn
look closed. The OTel README now states the receiver rule (a
never-closed turn on a resumed stream marks the previous process dying
inside it; a later clean shutdown marker attests only to the resumed
process's exit), and the revival Agent Note records why the repair
suffix stays local.
2026-07-27 19:49:19 +08:00
Chinesezjc 0701245007 Merge remote-tracking branch 'origin/master' into fix/pty-raw-ready-wait 2026-07-27 19:44:10 +08:00
Tianyi Cui dd03c88083 Merge commit 'refs/codex-unblock/20260727/pr660-master' into worktree/pr660-merge-20260727
# Conflicts:
#	scripts/doc-budgets.manifest.json
2026-07-27 19:34:55 +08:00
Chinesezjc 9dd57a25c5 fix(ui-question): stop option rows absorbing the capped card's shortfall
The question composer card is capped against the viewport and scrolls its
option list. `.options` is a flex column whose children defaulted to
`flex-shrink: 1`, so a short seat shrank the rows before overflowing the
scroll container: a row collapsed to its 42px minimum while `.optionCopy`
kept the taller height its wrapped copy needs, and `align-items: center`
then painted that copy outside the row's border box — over the question
title above and the next row below. Measured 6.5px of spill at 900x440 on
the shipped client, 10px at 380px tall, with `.options` reporting
scrollHeight === clientHeight and therefore offering no scrollbar.

`.option` and `.custom` now declare `flex-shrink: 0`, so the shortfall
reaches the scroll container that already owns `overflow-y: auto` — the
behavior the cap was designed for. Only rows whose copy wraps could
reproduce this, which is why the recorded scenario now asks a question
with long option descriptions; the web e2e asserts at three squeezed seat
heights that every row's children stay inside its border box, guarded
against holding vacuously by requiring a wrapped row and a scrolling list.
2026-07-27 19:20:33 +08:00
Chinesezjc 30d9bdfa42 Merge remote-tracking branch 'origin/master' into fix/pty-raw-ready-wait 2026-07-27 19:00:30 +08:00
Tianyi Cui 4cd6d5b762 Merge remote-tracking branch 'origin/master' into worktree/pr744-macos-wine-fix
# Conflicts:
#	.github/workflows/ci.yml
2026-07-27 18:59:56 +08:00
_Kerman 9152858fd7 fix(agent-loop): preserve deferred message boundaries 2026-07-27 18:58:27 +08:00
Turtle 4c5f92e0fd feat(tui): personal TUI rework, integrating upstream model reasoning-effort selection
Consolidates the personal dsh-tui customizations (module split into
components/session/extension, prompt template + running-glyph indicator,
copyable transcript, tool-card headers, timing placement, XML tool output,
status/footer rework) and ports upstream's model reasoning-effort selector
(Shift+Tab effort cycling, effort-aware /model, footer, and /status) onto
the personal module layout.
2026-07-27 18:55:13 +08:00
Turtle 5d2329e207 feat(skills): bundle and harden personal maintenance workflows 2026-07-27 18:53:30 +08:00
Turtle 6a7307de37 fix(llm-pi-ai): classify transport truncations
Personal customization replayed onto upstream master source.
2026-07-27 18:53:29 +08:00
ZiyaZhang fef928a7e1 feat(gui): add native workspace folder picker 2026-07-27 03:50:22 -07:00