Tianyi Cui
9ebd0075e9
Merge master into fix/pty-handoff-grace
2026-07-28 01:19:58 +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
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
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
7a60a523f9
Merge branch 'master' into feature/cordis-temporary-tools
2026-07-27 22:26:49 +08:00
Chinesezjc
ff4c9d9f9d
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-27 22:17:23 +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
NI0317
1ef285d038
Restore Cordis mount and unmount names
...
Keep temporary lifecycle descriptions and UI labels explicit.
2026-07-27 21:20:06 +08:00
_Kerman
ed67ad53d2
refactor(agent): return request retry action
2026-07-27 21:17:49 +08:00
kingwl
4182dbdc86
test(snapshot): refresh cordis-inspect-jsdoc for Session.firstLiveSeq
...
The self-referential inspect tool surfaces Session's public API in its
transcript; the construction-boundary field added in bc8512d17 now
appears there. Keyless refresh; only the affected scenario re-recorded.
2026-07-27 20:38:22 +08:00
Chinesezjc
ccab63cc79
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-27 20:20:28 +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
_Kerman
7c2cf5f0b3
test(workspace-context): align typed baseline fixtures
2026-07-27 18:39:22 +08:00
_Kerman
98238ceace
fix(agent-loop): settle rejected admission context
2026-07-27 18:32:07 +08:00
fz
826c6fd243
feat(web): present Cordis lifecycle tools
2026-07-27 17:57:59 +08:00
NI0317
8cec221dab
Merge remote-tracking branch 'origin/master' into feature/cordis-temporary-tools
2026-07-27 17:45:01 +08:00
Tianyi Cui
1ee8029bc6
Merge remote-tracking branch 'origin/master' into worktree-process-service-seam
2026-07-27 17:24:20 +08:00
_Kerman
db16732101
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
2026-07-27 17:18:12 +08:00
_Kerman
749927ecd8
fix: reconcile agent loop merge integration
2026-07-27 17:04:22 +08:00
NI0317
b4a1304489
Rename Cordis tools for temporary plugins
...
Clarify process-local lifecycle semantics and refresh generated documentation, demos, and snapshots.
2026-07-27 16:57:26 +08:00
Chinesezjc
3d93b709b7
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-27 16:57:25 +08:00
_Kerman
bd40eec770
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/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# 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/README.i18n.yaml
# packages/core/agent/tests/llm-target.spec.ts
# packages/core/session/tests/request-header.spec.ts
2026-07-27 16:48:38 +08:00
Tianyi Cui
0b525ffff3
test(acp-agent): refresh web-fetch tool schema snapshot
2026-07-27 16:43:16 +08:00
Tianyi Cui
21fe97d19d
Merge remote-tracking branch 'origin/master' into worktree-process-service-seam
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
2026-07-27 16:40:07 +08:00
Tianyi Cui
9801a0d102
fix(tool-web): bound HTML conversion work
2026-07-27 16:40:02 +08:00
Chinesezjc
37e2b5d85a
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-27 16:39:42 +08:00
Tianyi Cui
ae18216199
Merge remote-tracking branch 'origin/master' into worktree/pr683-retarget-20260727
2026-07-27 16:03:33 +08:00
Yichen Jiang
c3dfed668d
Merge branch 'master' into worktree/llm-reasoning-effort
2026-07-27 15:30:00 +08:00
Chinesezjc
a5c820ea3a
Merge remote-tracking branch 'origin/master' into fix/pty-handoff-grace
2026-07-27 14:15:11 +08:00
Chinesezjc
f35c18f7e6
fix(pty): make the foreground-handoff grace a config field
...
The local PTY readiness poll held its inferred_idle fallback for exactly
one pollIntervalMs after a prompt marker, so a bash foreground handoff
that lands on the silence boundary only wins the exact stdin_read
attribution when the kernel publishes it inside that single poll. On a
slow or loaded host it does not, and the attribution flips.
handoffGraceMs replaces the hardcoded one-poll window as a validated,
deployment-owned config field defaulting to 500ms, rejected at load when
it cannot contain one readiness poll. Real-shell tests that interrupt a
send now assert the session is usable again rather than which readiness
tier observed the handoff, because no fixed grace removes the race.
2026-07-27 14:14:59 +08:00
Yichen Jiang
21aeff3029
Merge remote-tracking branch 'origin/master' into worktree/llm-reasoning-effort
...
# Conflicts:
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# docs/config-catalog.md
# docs/core-data-structures/session.i18n.yaml
# scripts/type-equiv.manifest.json
2026-07-27 13:35:10 +08:00
Tianyi Cui
109b469a7e
fix(tool-web): bound conversion depth and complete fetch output
...
Two review findings on the turndown swap, both verified empirically:
- Unclosed-tag nesting makes the synchronous turndown/domino walk
superlinear (measured: depth 512 ~0.15s, 2k ~2s, 20k ~5s), during
which the cooperative fetchTimeoutMs timer cannot fire. renderBody
now preflights nesting depth with a linear tag scan and passes
bodies past 512 levels through raw; the try/catch stays for markup
the scan cannot see (comment-hidden tags), simulated in tests via a
converter throw.
- Markdown escaping can expand converted HTML ~2x (100k underscores
render as 200k chars), so provider body caps no longer bounded the
model-visible result. formatFetchOutput now caps the complete output
(header + body + footer) under new fetchMaxOutputChars config
(default 200000 = 2x the local provider's default body cap), reusing
the truncation notice.
README EN+ZH, config catalog, Agent Note EN+ZH updated; the new
web-fetch fixture is migrated to the packed layout master now
requires; tool-web coverage stays 100% per-file.
2026-07-27 12:41:36 +08:00
Tianyi Cui
38a05724f4
Merge remote-tracking branch 'origin/master' into worktree-process-service-seam
...
# Conflicts:
# apps/cli/package.json
2026-07-27 11:36:03 +08:00
_Kerman
f5b19ca59e
test(snapshot): refresh session-log fixtures for the message-machine refactor
...
The simplified request path no longer anchors an unchanged request/header on
resume (agent.ts logs a header only when it differs from the folded baseline),
so resume-turn logs drop that event and later seqs shift down. Refresh the
keyless session-log fixtures to match; no model scripts changed.
2026-07-27 11:20:04 +08:00
imccyu
9d63d75a6f
Merge remote-tracking branch 'origin/master' into web2-todo
...
# Conflicts:
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/tests/chat-stats-bash-sample.spec.tsx
# packages/client/ui-conversation/tests/chat-toolview-slot.spec.tsx
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/client/ui-conversation/tests/gate-branch-tails.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/client/ui-trajectory/tests/views.spec.tsx
2026-07-27 10:07:51 +08:00
_Kerman
2f74ac98ba
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# .agents/notes/archived/feature/2026-07-21-tui-steering-queue-badge.i18n.yaml
# .agents/notes/archived/simplification/2026-06-20-drop-unconsumed-llm-assembled-surfaces.i18n.yaml
# .agents/notes/archived/simplification/2026-07-04-prune-producerless-vocabulary-variants.i18n.yaml
# .agents/notes/archived/simplification/2026-07-04-remove-agent-steering-mirror.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/feature/2026-07-07-session-prefix.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-02-remove-stream-chunk-mirror.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# packages/core/session/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/support/acp-snapshot/README.i18n.yaml
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/README.zh.md
2026-07-27 09:57:51 +08:00
Tianyi Cui
67b6610e9f
Merge remote-tracking branch 'origin/master' into nih-imp-turndown
2026-07-27 06:08:05 +08:00
Tianyi Cui
1fc289c8bb
Merge branch 'worktree-subprocess-consumers' into worktree-process-service-seam
2026-07-27 00:22:29 +08:00
Tianyi Cui
ea58a5660b
Merge remote-tracking branch 'origin/master' into worktree-process-service-seam
2026-07-27 00:22:15 +08:00
Tianyi Cui
45a5175e44
feat(tool-web): replace the regex HTML-to-markdown converter with turndown
...
Implements the turndown Agent Note from the NIH dependency audit (full
variant, not the minimal entities-only fallback): dsh-tool-web's fetch
rendering now converts HTML through turndown + @joplin/turndown-plugin-gfm
(atx headings, fenced code, dash bullets, GFM tables/strikethrough) over
the real domino DOM, with script/style/noscript removed wholesale. The
hand-rolled ~86-line regex converter html.ts and its entity tables are
deleted; renderBody wraps the conversion in try/catch falling back to
the raw HTML body, because turndown's recursive DOM walk overflows with
a RangeError on pathological nesting (measured: 4k levels on the main
thread, 8k in a worker) where the regex version could never throw.
Closure weight, measured: tool-web IS in the single-exe runtime closure,
and the exe asset globs would pack ~7.9 MB of the three new packages —
but ~6 MB of that is domino's test corpus, with runtime lib/ at ~550 KB
against a ~174 MB artifact (<0.5% either way), so the swap wins.
Per testing policy the previously-missing keyless web_fetch snapshot
ships in the same change: the acp-agent `web-fetch` scenario boots a new
web.cordis.yml overlay (web seam + real dsh-web-fetch-local provider +
tool-web fetch-only + a loopback HTTP fixture server on a fixed port
serving deterministic HTML with entities, a GFM table, and nesting), so
recording and keyless replay both drive the real HTTP fetch and real
conversion end to end; the scenario pins the new `web` header class.
The Agent Note moves proposed -> implemented and is rewritten per the
lifecycle contract (Decision/Consequences/Testing, closure verdict and
alternatives recorded); tool-web and acp-agent READMEs updated in both
languages and pairs re-recorded.
2026-07-27 00:22:13 +08:00
Tianyi Cui
a20cf88928
test(session): canonicalize fixtures as packed rows
2026-07-26 23:45:14 +08:00
Tianyi Cui
4ff496c65c
feat(session): default JSONL writes to packed rows
2026-07-26 23:44:52 +08:00
_Kerman
344943e097
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# docs/cordis-catalog/services.md
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# packages/core/tools/README.i18n.yaml
# packages/core/tools/src/code-mode.ts
2026-07-26 22:17:47 +08:00
Tianyi Cui
1b9d66eaac
Merge branch 'worktree-process-service-seam' into worktree-subprocess-consumers
...
# Conflicts:
# docs/core-data-structures/subprocess.md
# packages/subagent/subagent-subprocess/README.md
# packages/subprocess/README.md
# packages/subprocess/subprocess-local/README.md
# scripts/translation-pairing.manifest.json
2026-07-26 22:04:14 +08:00
_Kerman
39c09c9a49
Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine
...
# Conflicts:
# docs/core-data-structures/tools.i18n.yaml
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# packages/core/tools/README.i18n.yaml
2026-07-26 21:08:54 +08:00
Tianyi Cui
fc38f8c813
Merge branch 'master' into code-mode-ui/live-parallel
2026-07-26 21:04:03 +08:00