Huanqi Cao
165ad7e969
Merge branch 'feat/windows-pwsh-default' into feat/windows-acl-sandbox
...
# Conflicts:
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md
# packages/bash/tool-pwsh/README.i18n.yaml
# packages/bash/tool-pwsh/README.zh.md
2026-08-09 16:59:52 +08:00
Huanqi Cao
33e4c6580f
feat(tool-pwsh): teach the confined named-pipe capture boundary to the model
...
Under read-only and workspace-write the Windows ACL sandbox leaves
programs unable to open named pipes, so a piped-stdio spawn fails with
EPERM. State that boundary in the pwsh tool description next to the
ConstrainedLanguage contract, pin it in the tool tests, and bring the
package README and both implemented Agent Notes current with it.
2026-08-09 16:34:25 +08:00
xjt
30e3e5a50c
Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-12-agent-scope-runtime-design.zh.md
# .agents/notes/implemented/architecture/2026-07-19-gui-layering-and-rpc-protocol.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-gui-layering-and-rpc-protocol.zh.md
# .agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-19-gui-web-client-architecture.zh.md
# .agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-27-compiler-independent-typert-model.zh.md
# .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.zh.md
# .agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.zh.md
# .agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-31-claimed-pre-step-inbox-lifecycle.zh.md
# .agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-31-code-runtime-portable-identifier-seam.zh.md
# .agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-01-packaged-ripgrep-search.zh.md
# .agents/notes/implemented/architecture/2026-08-04-websocket-downlink-carrier.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-04-websocket-downlink-carrier.zh.md
# .agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-05-large-session-jsonl-restore-pipeline.zh.md
# .agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-06-agent-event-payload-objects.zh.md
# .agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-06-subagent-list-identity-projection.zh.md
# .agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-06-web-markdown-incremental-ast-renderer.zh.md
# .agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-08-client-tool-presentation-ownership.zh.md
# .agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-27-glob-sampling.zh.md
# .agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-28-themed-scrollbars-and-reserved-gutter.zh.md
# .agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-28-web-gui-feedback-loop.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-human-transcript-append-origin.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-web-details-session-lifecycle.zh.md
# .agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-30-web-transcript-log-ordered-projection.zh.md
# .agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-31-fork-anchor-floors-to-event-seq.zh.md
# .agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-31-web-stop-preserves-queue.zh.md
# .agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-02-goal-round-wrapup-message.zh.md
# .agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-03-hmr-initial-scan-boot-deadlock.zh.md
# .agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-06-onboarding-step-owned-takeover-chrome.zh.md
# .agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-06-provider-credential-lifecycle.zh.md
# .agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-06-token-surface-unpriced-replace-compatibility.zh.md
# .agents/notes/implemented/feature/2026-07-05-skill-system.i18n.yaml
# .agents/notes/implemented/feature/2026-07-05-skill-system.zh.md
# .agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.i18n.yaml
# .agents/notes/implemented/feature/2026-07-08-background-subagent-tasks.zh.md
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml
# .agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md
# .agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.zh.md
# .agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-durable-subagent-catalog-and-list-agents.zh.md
# .agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.i18n.yaml
# .agents/notes/implemented/feature/2026-07-23-web-assistant-markdown.zh.md
# .agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.i18n.yaml
# .agents/notes/implemented/feature/2026-07-23-web-permission-and-approval.zh.md
# .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
# .agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md
# .agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-skill-catalog-hot-refresh.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-session-fork-actions.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-session-search.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-session-search.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.zh.md
# .agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-28-continuable-subagent-conversations.zh.md
# .agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.i18n.yaml
# .agents/notes/implemented/feature/2026-07-28-skill-invocation-policy.zh.md
# .agents/notes/implemented/feature/2026-07-28-web-terminal-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-28-web-terminal-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-deepseek-onboarding-credential-setup.zh.md
# .agents/notes/implemented/feature/2026-07-30-search-render-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-search-render-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-diff-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-diff-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-read-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-read-card.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.zh.md
# .agents/notes/implemented/feature/2026-07-30-web-result-card.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-web-result-card.zh.md
# .agents/notes/implemented/feature/2026-07-31-code-mode-language-dispatch.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-code-mode-language-dispatch.zh.md
# .agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-telemetry-anonymous-user-id.zh.md
# .agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-web-workspace-file-links.zh.md
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.i18n.yaml
# .agents/notes/implemented/feature/2026-08-01-pwsh-tool-and-executor.zh.md
# .agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.i18n.yaml
# .agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.zh.md
# .agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.i18n.yaml
# .agents/notes/implemented/feature/2026-08-02-web-thinking-tail-scroll.zh.md
# .agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.i18n.yaml
# .agents/notes/implemented/feature/2026-08-05-pwsh-ui-bash-parity.zh.md
# .agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.i18n.yaml
# .agents/notes/implemented/feature/2026-08-06-resolved-theme-color-metadata.zh.md
# .agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.i18n.yaml
# .agents/notes/implemented/feature/2026-08-06-web-skill-tool-row.zh.md
# .agents/notes/implemented/process/2026-06-17-ts-build-config.i18n.yaml
# .agents/notes/implemented/process/2026-06-17-ts-build-config.zh.md
# .agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.i18n.yaml
# .agents/notes/implemented/process/2026-07-22-tsconfig-solution-root-two-aggregates.zh.md
# .agents/notes/implemented/process/2026-07-31-installer-adopts-existing-checkout.i18n.yaml
# .agents/notes/implemented/process/2026-07-31-installer-adopts-existing-checkout.zh.md
# .agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.i18n.yaml
# .agents/notes/implemented/process/2026-08-08-api-remotes-generated-contract-build.zh.md
# .agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-20-remove-stdio-and-echo-agents.zh.md
# .agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.zh.md
# .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-31-one-route-to-add-a-workspace.zh.md
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
# .agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.i18n.yaml
# .agents/notes/proposed/architecture/2026-07-29-durable-last-activity-index.zh.md
# .agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.i18n.yaml
# .agents/notes/proposed/architecture/2026-08-08-semantic-composer-chain-phases.zh.md
# .agents/notes/proposed/feature/2026-07-17-sdk-follow-up-capabilities.i18n.yaml
# .agents/notes/proposed/feature/2026-07-17-sdk-follow-up-capabilities.zh.md
# apps/cli/reference/README.i18n.yaml
# apps/cli/reference/README.zh.md
# docs/api-gateway.i18n.yaml
# docs/api-gateway.zh.md
# docs/cookbook/adding-a-package.i18n.yaml
# docs/cookbook/adding-a-package.zh.md
# docs/cookbook/adding-a-tool.i18n.yaml
# docs/cookbook/adding-a-tool.zh.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/i18n/README.i18n.yaml
# docs/i18n/README.zh.md
# docs/i18n/style-samples.md
# docs/i18n/terminology.md
# docs/testing.i18n.yaml
# docs/testing.zh.md
# examples/web-cordis/README.i18n.yaml
# examples/web-cordis/README.zh.md
# packages/api/gateway/README.i18n.yaml
# packages/api/gateway/README.zh.md
# packages/bash/bash-env/README.i18n.yaml
# packages/bash/bash-env/README.zh.md
# packages/bash/tool-bash/README.i18n.yaml
# packages/bash/tool-bash/README.zh.md
# packages/bash/tool-pwsh/README.i18n.yaml
# packages/bash/tool-pwsh/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-tool/README.i18n.yaml
# packages/client/ui-tool/README.zh.md
# packages/feedback/command-feedback/README.i18n.yaml
# packages/feedback/command-feedback/README.zh.md
# packages/host/webserver/README.i18n.yaml
# packages/host/webserver/README.zh.md
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.zh.md
# packages/subagent/subagent-claude-code/README.i18n.yaml
# packages/subagent/subagent-claude-code/README.zh.md
# packages/subagent/subagent-codex/README.i18n.yaml
# packages/subagent/subagent-codex/README.zh.md
# packages/typert/type-meta/README.i18n.yaml
# packages/typert/type-meta/README.zh.md
# packages/util/atomic-write/README.i18n.yaml
# packages/util/atomic-write/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-09 13:15:27 +08:00
xjt
5a6738f94a
Merge remote-tracking branch 'origin/master' into xjt/generated-docs-zh-translation-apply
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-30-static-repository-plugin-format.zh.md
# .agents/notes/implemented/feature/2026-07-30-config-only-repository-plugins.i18n.yaml
# .agents/notes/implemented/feature/2026-07-30-config-only-repository-plugins.zh.md
2026-08-09 13:08:49 +08:00
xjt
a7af54a8d3
docs(i18n): standardize contract terminology
2026-08-09 11:33:14 +08:00
xjt
7ff0cbcb7e
docs: complete Chinese proofreading and generated reference pairing
2026-08-09 11:02:16 +08:00
xjt
5d46c11784
docs(i18n): reconcile source-drifted translations
2026-08-09 10:24:11 +08:00
xjt
bd659179f6
docs(i18n): reproofread updated Chinese documentation
2026-08-09 03:20:17 +08:00
Huanqi Cao
5e080849aa
Merge remote-tracking branch 'origin/feat/windows-pwsh-default' into feat/windows-acl-sandbox
...
# Conflicts:
# apps/cli/reference/README.i18n.yaml
# docs/cordis-catalog/services.md
# docs/module-graph.md
# docs/subsystems/sandbox.i18n.yaml
# packages/sandbox/sandbox/README.i18n.yaml
# pnpm-lock.yaml
# scripts/verify-package-readme-model-experience.ts
2026-08-09 02:53:48 +08:00
Tianyi Cui
aa0ca6c836
docs: anchor each subsystem page to its package group; make group READMEs thin tables
...
core.md read as a type grab-bag: LLM wire vocabulary up front, the agent/loop story buried, and no correspondence to packages/core. It now opens on the packages/core control spine — the package-by-package loop map with a Page column into session/system-prompt/tools/scope — and keeps only what the spine group declares plus the repo-wide patterns: the Agent handle with its delivery/cancellation/interception contracts, the SessionEvent envelope, branded ids, the …Map pattern. The conversation vocabulary (Message/ContentBlock, the model request, adapters — 17 type-equiv blocks) moves to llm-streaming.md, which now declares packages/llm end-to-end; the duplicate ContentBlockMap paste near its seam section folds into the moved section, and the manifest, LINK_MAP, README table rows, website label (Core data structures → Core), and inbound anchors follow.
Every packages/<group>/README pair is now a thin front door in one shape: a why-first intro (bash's seam-pattern-first paragraph rewritten as 'shell execution for the agent'), the package table, and a closing pointer to the owning docs/subsystems page — the bash-style table stays the load-bearing middle. Load-bearing trailing paragraphs relocate rather than vanish: the fs no-timeout rationale becomes a filesystem.md section (both languages), session's four sectioned tables merge into one 12-row table, examples' legacy-bin H2 collapses to a pointer at jsonrpc-demo's README, and design rationale that already lives in an Agent Note or subsystem page is now linked instead of restated. All 40 pair records re-recorded.
2026-08-09 01:32:39 +08:00
Tianyi Cui
ba3125234a
docs: rename core-data-structures/ to subsystems/
...
The folder is becoming the home of one-doc-per-subsystem pages (intro +
data structures + cordis services/events), so the name must describe the
whole contract, not just the type-vocabulary third of it. Mechanical
rename rebuilt on current master: every inbound Markdown link, generator
constant, website route, type-equiv manifest path, and spec expectation
moves together; the zh sides of the notes whose prose names the folder
are aligned (子系统) in the same change; touched bilingual pairs
re-recorded; translation-prompt snapshot re-recorded (its example embeds
development.md). Historical Agent Note slugs keep their dated
filenames.
2026-08-09 01:27:09 +08:00
Tianyi Cui
36cf4f32f4
docs(agent-note): flip the regrouping note to implemented
...
Move the triplet to implemented/architecture/, rewrite Proposal into a
present-tense Decision, fold Acceptance criteria and Risks into
Consequences (recording what pins the result), retitle the migration
section to what the move actually touched, and repoint the seven
inbound FIXME/README links.
2026-08-09 01:25:24 +08:00
Tianyi Cui
3fc35c91ff
refactor(packages): dissolve ui/ and rename sdk/ to scaffold/
...
git mv per the regrouping RFC: the five human-collaboration seams and
tui join packages/interaction/, app-boot becomes packages/boot/, and
jsonrpc joins the renamed scaffold/ (formerly sdk/) as its server half
beside client/protocol/create-sdk/helper/scripts/telemetry, whose
folders drop the legacy sdk- prefix. Three new group README triplets
replace the ui/ and sdk/ ones; tsconfig references/paths/globs,
knip keys, vitest globs, gate scripts, catalogs, docs, and the
lockfile follow. Adds the four settled FIXME rename markers
(dsh-sdk-server, dsh-sdk-telemetry, dsh-sdk-helper, dsh-sdk-scripts).
The scaffold folders diverge from their npm names until those renames
land, so tsconfig.base.json maps the three affected names explicitly
beside the group wildcard. Also repairs two pre-existing stale-path
classes the strengthened sweep surfaced: docs/web-styling.md's retired
web-ui host package and type-model spec fixture-literal joins.
app-boot's three Loader-composition specs time out at the default 5s
under full-suite parallel load on this filesystem (pre-existing;
pass isolated with --testTimeout=30000); interaction/scaffold/boot
suites otherwise green (687 passed).
2026-08-09 01:21:12 +08:00
Huanqi Cao
97a62fa639
Merge remote-tracking branch 'origin/feat/windows-pwsh-default' into feat/windows-acl-sandbox
...
# Conflicts:
# docs/module-graph.md
# knip.json
# packages/pty/pty-local/tests/index.spec.ts
# scripts/check-workspace-constraints.ts
2026-08-09 00:29:55 +08:00
Huanqi Cao
6478da61e3
fix(sandbox): harden the per-session record and the ACL runner failure paths (review round v6)
...
Durable record: bound to the owning session id and validated at the fold (orphan-SID shape, temp path inside the host temp root) — a fork's copied parent record no longer provisions the child, and a tampered record fails loud. Private temp dir: random unguessable name persisted in the record, created exclusively (pre-existing entries and reparse points fail EEXIST). Persistence: a fresh provision kicks an immediate flush (no write-behind debounce), narrowing the crash window to the flush latency — documented as the one self-healing gap. Runner-failure rules: exit-gated on 127 so a confined command that prints the signature on a non-127 exit is never misclassified. Spawn: AssignProcessToJobObject failure terminates the suspended child (no hanging orphans). SandboxExecutionPolicy.sessionId is the branded SessionId. Boundary docs: qualifying clause on the absolutist sentences, NULL-DACL Known Limitation, 'full' scoped to the supported NTFS surface, CLM gate comment.
2026-08-08 23:23:38 +08:00
Tianyi Cui
18ab9f6db2
fix(rebase): migrate the replayed stack onto current master APIs
...
The linear replay carried each commit's own lineage, so this checkpoint
restores the master-owned surfaces the conflicted regions clobbered and
migrates branch-owned code to master's post-rebase APIs:
- rebuild subprocess-local spawn.ts on master's tree-exit-observer
machinery, keeping the branch's win32 childEnv key semantics and the
Linux zombie-quiescence probe; the zombie test reaps its survivor
directly since a confirmed-absent verdict is a permanent
no-more-signals boundary
- migrate pty-local test stubs to the Inbox-model Agent interface,
Session.create, runnerFailureRules, and the new turn/start payload
- implement the seam's resolveExecutable/spawnTerminal abstracts in the
new pwsh-local and tool-fs-search test fakes
- restore code-runtime, atomic-write, pwsh-local, and app-boot to
master's exact content (the net-zero code-runtime churn is pruned
from this history) and drop rename-detection graft debris
- re-apply the PR's architecture rows and execution-world paragraph,
re-record bilingual pairings, regenerate catalogs, and reconcile the
lockfile
2026-08-08 21:27:59 +08:00
Tianyi Cui
22fc228b97
refactor(runtime): collapse unused setup layers
2026-08-08 21:27:59 +08:00
Huanqi Cao
83f835e4cb
feat(pwsh): mirror the bash sandbox surface — denial rendering, escalation, and the ConstrainedLanguage contract
...
tool-pwsh now renders sandbox denial facts (denial marker + same-turn escalation hint, runner-failed notice on background reads) and advertises the sandbox_permissions/justification escalation pair resolved through ctx.approval before execution — the shared fail-closed sequence from dsh-sandbox, with the tool name 'pwsh'. The description teaches the ConstrainedLanguage contract under the Windows sandbox (both confined modes run pwsh in CLM: Add-Type, non-core .NET statics, COM, and reflection fail; the mode cannot be lifted — probe-verified, pinned by LANGMODE assertions in the runner suite and description assertions in the tool suite). The stale pwsh-sandbox JSDoc ('the tool owns approval') and the parity notes' superseded 'minus sandbox' claims are corrected.
2026-08-08 20:11:21 +08:00
Huanqi Cao
cc64c729db
Merge remote-tracking branch 'origin/feat/windows-pwsh-default' into feat/windows-acl-sandbox
...
# Conflicts:
# apps/cli/reference/README.i18n.yaml
# knip.json
# packages/sandbox/sandbox-local/package.json
# pnpm-lock.yaml
# scripts/check-workspace-constraints.ts
2026-08-08 17:50:39 +08:00
Huanqi Cao
43d53d339d
fix(pwsh): stamp the calling session's sandbox policy onto pwsh tool calls
2026-08-08 17:30:04 +08:00
Tianyi Cui
dac4b068c4
Merge remote-tracking branch 'origin/master' into codex/unify-landlock-release
...
# Conflicts:
# .agents/notes/implemented/process/2026-07-30-generated-third-party-notices.i18n.yaml
# scripts/check-workspace-constraints.ts
2026-08-08 16:01:53 +08:00
Huanqi Cao
83f288993f
fix(sandbox): mark the pwsh-sandbox executor's deliberate twin mirror for the clone gate
...
The duplication gate flags the call-for-call mirror of bash-sandbox's executor (the pwsh-tool-and-executor decision): wrap the class body in jscpd ignore markers, the same convention the invariant companions use.
2026-08-08 12:35:27 +08:00
Huanqi Cao
d8acd2b656
fix(ci): pass the pwsh-less self-hosted Linux runners
...
The self-hosted Linux runners ship no pwsh, and the pwshAvailable probes used spawnSync('where.exe'), which reports a missing binary as status null instead of throwing — the suites never skipped and failed with spawn pwsh ENOENT. Probe with resolvePwshPath() status instead, the same gate the coverage exemption uses. Exempt pwsh-sandbox src from coverage on pwsh-less hosts (its remaining helpers branch and the invariant companion ride the executor suites' real pwsh runs); pwsh-ful hosts keep the full 100% bar. Cover the windows-acl probe case and the runner-entry resolution in sandbox-local on Linux (chain-seam tests plus a windowsAclRunnerEntry seam) — the package's POSIX-only suites are Linux's only chance to cover the new lines. Static gate fixes: declare dsh-pwsh-sandbox in the base bundle, register the runner files entry in constraints, knip entries for the e2e suite and where.exe, regenerate the module graph. Verified in WSL (no-pwsh Linux): pwsh-sandbox 5 pass/13 skip with the exemption active, sandbox-local coverage 100%.
2026-08-08 11:46:05 +08:00
Huanqi Cao
dcd5a50374
docs(sandbox): satisfy the doc-sync gates for the Windows ACL packages
...
JSDoc every sandbox-windows-acl export (the 138 verify-export-jsdoc violations); fix the sandbox-windows-acl README code block (undeclared workspaceRoot), bring its stale claims current (the provider wiring and kill-on-close are live), add the canonical Model Experience sections to both new packages, audited the backend's indirect Model Experience sentence, and regenerate docs/config-catalog.md.
2026-08-08 02:26:26 +08:00
Huanqi Cao
94991499c8
docs(pwsh-sandbox): real temp grant is a backend-defined choice aligned with Landlock, not deferred work
2026-08-08 01:36:34 +08:00
Huanqi Cao and Huo Yaoyuan
f64ba40f43
feat(sandbox): Windows ACL write-restriction sandbox (restricted-token runner)
...
Confine Windows command execution through a WRITE_RESTRICTED token whose restricting SIDs carry an orphan-SID write allowlist, ported from https://github.com/huoyaoyuan/windows-acl-restrict-poc (@ 10e4dfb). Every Win32 call is checked and fails closed - the POC silently ran children with the FULL token when CreateRestrictedToken failed.
- @deepseek-ai/dsh-sandbox-windows-acl: koffi primitives verified against the MinGW Windows headers (verify/abi-probe.cpp) plus the confinement runner ([node, runner, --workspace, --temp, --mode, --, argv...]: kill-on-close job, stdio passthrough, exit-code mirroring, windows-acl-run: failure signature, grant revocation). read-only = strict zero grants (NUL device not writable; documented). Windows-only execution: exempted from the Linux coverage lane (windowsOnlyCoverageExclusions).
- @deepseek-ai/dsh-sandbox-local: PLATFORM_CHAINS.win32 filled with the windows-acl runner (full enforcement, ACL denial dialect, runner-failure rules).
- @deepseek-ai/dsh-pwsh-sandbox: sandbox-consuming pwsh executor (call-for-call mirror of dsh-bash-sandbox) over a new argv-level seam in dsh-pwsh-local; per-file coverage complete via the fake-provider spec.
- bundle/base: the Windows platform layer mounts the confined pwsh roster - sandbox/policy/fs-sandbox/permission/approval re-enabled, the POSIX bash stack stays disabled.
Co-authored-by: Huo Yaoyuan <huoyaoyuan@hotmail.com >
2026-08-08 01:24:33 +08:00
Tianyi Cui
0748ebee39
Merge latest master into Codex subagent provider
2026-08-06 21:26:31 +08:00
Hypatia May
03e509be8d
Merge remote-tracking branch 'origin/master' into codex/unify-landlock-release
2026-08-06 16:36:01 +08:00
Hypatia May
22c7087074
fix(landlock-run): publish under deepseek scope
2026-08-06 14:41:17 +08:00
Hypatia May
10c1d77a4f
fix(landlock-run): address release review feedback
2026-08-06 13:50:48 +08:00
_Kerman
23671848c3
Merge remote-tracking branch 'github/master' into feat/agent-event-payload
2026-08-06 13:26:04 +08:00
_Kerman
ccebba2349
refactor(agent): unify agent-scoped event signatures as payload objects
...
All agent/* and agent-loop/config-start-failed events take one payload
object carrying the agent subject; waterfall/serial payloads require a
signal and keep next as the final argument. PreStepContext and
RequestFailureContext are unfolded into payloads and retired.
goal/changed follows the same shape so agentEvents keeps its listener
error containment. ReactLoopAgent builds its scope carrier once in the
constructor. Regenerates scope resolvers, tool-cordis api catalog, and
docs catalogs; updates all affected listeners, tests, and the
core-data-structures docs (en + zh).
2026-08-06 12:13:14 +08:00
creatixchu
cc06d3c04b
Merge remote-tracking branch 'origin/worktree/context-source-cards' into worktree/context-forms-remaining
...
# Conflicts:
# apps/web/tests/snapshots/queue-actions/layout.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/goal.i18n.yaml
# docs/core-data-structures/goal.md
# docs/core-data-structures/goal.zh.md
# docs/event-producer-consumer.md
# examples/acp-agent/tests/goal-snapshots/goal-session/session.expected.jsonl
# examples/acp-agent/tests/goal-snapshots/goal-wrapup/session.expected.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/bash-tool-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/cancel/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# examples/acp-agent/tests/snapshots/error-finish/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/session.jsonl
# examples/acp-agent/tests/snapshots/missing-sandbox-runner/session.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/session.jsonl
# examples/acp-agent/tests/snapshots/packed-chunks/session.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/partial-landlock-child-failure/session.jsonl
# examples/acp-agent/tests/snapshots/pty-tools/session.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/session.jsonl
# examples/acp-agent/tests/snapshots/session-query-spill/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# examples/acp-agent/tests/snapshots/session-title-after-turn/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-continuable/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-continuable/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-list-agents/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-list-agents/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-published-run-failure/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-report/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-report/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/session.jsonl
# examples/headless-agent/tests/snapshots/goal-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/context/time-context/src/index.ts
# packages/context/tmux-context/src/index.ts
# packages/core/agent-loop/src/agent.ts
# packages/core/system-prompt/src/index.ts
# packages/goal/goal/src/domain.ts
# packages/goal/goal/src/index.ts
# packages/goal/goal/src/render.ts
# packages/plan/plan-mode/src/index.ts
2026-08-06 11:49:03 +08:00
Hypatia May
598f9719f4
refactor(landlock-run): unify workspace release (review round 1)
2026-08-06 10:23:26 +08:00
Huanqi Cao
17ff1e0d4a
Merge pull request #1624 from deepseek-harness/feat/pwsh-ui-parity
...
feat(pwsh): render pwsh calls as bash-shaped terminal cards in the Web UI
2026-08-05 22:20:11 +08:00
_Kerman
488b8df547
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.md
# docs/cookbook/extension-cookbook.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/defensive-patterns.i18n.yaml
# packages/acp/acp/README.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-goal/README.i18n.yaml
# packages/compact/compact-basic/README.i18n.yaml
# packages/context/README.i18n.yaml
# packages/context/README.md
# packages/context/README.zh.md
# packages/context/session-reference/README.i18n.yaml
# packages/context/session-reference/README.md
# packages/context/session-reference/README.zh.md
# packages/context/tmux-context/README.i18n.yaml
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/goal/command-goal/README.i18n.yaml
# packages/goal/goal-session/README.i18n.yaml
# packages/goal/goal-session/README.zh.md
# packages/guard/README.i18n.yaml
# packages/guard/README.md
# packages/guard/README.zh.md
# packages/guard/repeat-tool-guard/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/plan/plan-mode/README.i18n.yaml
# packages/sdk/sdk-client/README.i18n.yaml
# packages/sdk/sdk-client/README.md
# packages/sdk/sdk-client/README.zh.md
# packages/session-persistence/session-persistence/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# python/sdk/README.i18n.yaml
2026-08-05 20:43:30 +08:00
Huanqi Cao
8fcb392fe1
Merge origin/master into feat/pwsh-ui-parity
2026-08-05 17:41:03 +08:00
creatixchu
b7034e4a26
feat(web): declare the remaining context forms on every shipped producer
...
Four values complete the vocabulary, so the opaque body is reached only by
producers that genuinely promise no shape.
`snapshot` — current state a later snapshot supersedes. system-prompt now
exposes `renderContextSections()`, the named contributions
`renderContextSnapshot()` already joins for the model, so the body attributes
each part to the subsystem that produced it instead of re-splitting joined
prose. The runtime snapshot, time-context, and tmux-context declare it.
`notice` — a one-off account of what just happened, declared by tool-tasks,
goal state changes, tool-goal wrap-up, plan-mode switches, and
repeat-tool-guard. Its `summary` rides the COLLAPSED row: these five are the
majority of shipped producers and none of them needs expanding to be read.
The task summary bounds itself because its inputs are unbounded caller text.
`relay` — a message another agent addressed to this one; both subagent
sources declare it and the body names the sender above what it said.
`recall` — material lifted from another session's log. session-reference
needed no new field: its references already record retained and omitted
counts and the truncation flag, which the body shows first, because recalled
context is bounded on the way in.
`ContextFormed` is now discriminated by `form`, so a producer cannot declare
a shape without the facts that shape is presented from — a notice without its
summary, or a snapshot without its sections, fails to compile.
Only the two hook bridges stay opaque, by design: their content is whatever
an external program printed, so no shape can be promised for it. Unknown
kinds and unreadable records land there too.
2026-08-05 17:11:48 +08:00
Turtle
c991a7cc79
docs: finish hierarchy rescan after rebase
2026-08-05 16:18:58 +08:00
Turtle
8af3babaea
docs: rescan rebased documentation hierarchy
2026-08-05 16:16:57 +08:00
Turtle
dd8d446286
docs: apply hierarchy across the corpus
2026-08-05 16:13:28 +08:00
_Kerman
289a23421d
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# packages/host/apiproxy/README.i18n.yaml
2026-08-05 15:34:19 +08:00
Huanqi Cao
1130d6842e
fix(docs): re-record translation pair hashes after master merge
...
The merge commit carried the pre-merge zh hashes; the pairing gate
compares blob hashes of the merged files, so re-record both records.
2026-08-05 13:19:56 +08:00
kingwl
75bd2b8aaa
Merge remote-tracking branch 'origin/master' into fix/landlock-runner-failure-classification
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# docs/core-data-structures/sandbox.i18n.yaml
# docs/core-data-structures/sandbox.zh.md
# docs/postmortem/README.i18n.yaml
# docs/postmortem/README.zh.md
# examples/acp-agent/tests/acp.snapshot.ts
# native/landlock-run/README.i18n.yaml
# packages/sandbox/sandbox-local/README.i18n.yaml
# packages/sandbox/sandbox-local/README.zh.md
# packages/sandbox/sandbox/README.i18n.yaml
2026-08-05 13:17:38 +08:00
_Kerman
02efe3ccea
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.zh.md
# .agents/notes/implemented/architecture/2026-06-11-event-sourced-sessions.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-microkernel-event-taxonomy.zh.md
# .agents/notes/implemented/architecture/2026-06-18-agent-lifecycle-and-ownership-seams.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-18-session-surface.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.zh.md
# .agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-30-event-domain-semantics.zh.md
# .agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.zh.md
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-after-call-compaction-pressure-and-overflow-recovery.zh.md
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
# .agents/notes/implemented/architecture/2026-07-14-provider-routed-llm-adapters.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-15-replay-token-meter-service.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-16-explicit-turn-cancellation.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-22-unified-send-and-coalesced-user-messages.zh.md
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-24-separate-context-injection-from-turn-execution.zh.md
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-25-web-client-session-scope-and-provide-channel.zh.md
# .agents/notes/implemented/architecture/2026-07-28-identified-immutable-message-values.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-21-semantic-session-checkpoints.zh.md
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.zh.md
# .agents/notes/implemented/feature/2026-06-24-workspace-context.i18n.yaml
# .agents/notes/implemented/feature/2026-06-24-workspace-context.zh.md
# .agents/notes/implemented/feature/2026-06-30-hook-bridges.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-hook-protocol-lib.zh.md
# .agents/notes/implemented/feature/2026-06-30-interception-seams.i18n.yaml
# .agents/notes/implemented/feature/2026-06-30-interception-seams.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.i18n.yaml
# .agents/notes/implemented/feature/2026-07-16-durable-per-step-time-context.zh.md
# .agents/notes/implemented/feature/2026-07-16-harness-level-loop.i18n.yaml
# .agents/notes/implemented/feature/2026-07-16-harness-level-loop.zh.md
# .agents/notes/implemented/feature/2026-07-19-human-goal-command.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.zh.md
# .agents/notes/implemented/feature/2026-07-19-plugin-command-registration.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-same-session-goal-round-driver.zh.md
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# .agents/notes/implemented/feature/2026-07-27-tmux-location-context.i18n.yaml
# .agents/notes/implemented/simplification/2026-06-20-public-agent-stop-surface.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-17-one-send-one-turn.zh.md
# .agents/notes/implemented/simplification/2026-07-20-unwrap-injected-content-envelopes.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-22-plan-specific-collaboration-state.zh.md
# .agents/notes/implemented/simplification/2026-07-24-agent-loop-observable-state-machine.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-27-request-error-retry-action.i18n.yaml
# docs/core-data-structures/compaction.i18n.yaml
# docs/core-data-structures/goal.i18n.yaml
# docs/core-data-structures/goal.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/session.i18n.yaml
# docs/core-data-structures/session.zh.md
# docs/core-data-structures/skills.i18n.yaml
# docs/core-data-structures/skills.zh.md
# docs/core-data-structures/system-prompt.i18n.yaml
# docs/defensive-patterns.i18n.yaml
# docs/defensive-patterns.zh.md
# docs/user/develop/framework/events.i18n.yaml
# docs/user/develop/framework/events.zh.md
# packages/acp/acp/README.i18n.yaml
# packages/client/ui-goal/README.i18n.yaml
# packages/compact/compact-basic/README.i18n.yaml
# packages/compact/compact/README.i18n.yaml
# packages/context/time-context/README.i18n.yaml
# packages/context/tmux-context/README.i18n.yaml
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.zh.md
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.zh.md
# packages/core/session/README.i18n.yaml
# packages/core/session/README.zh.md
# packages/core/system-prompt/README.i18n.yaml
# packages/core/system-prompt/README.zh.md
# packages/examples/cli-demo/README.i18n.yaml
# packages/goal/command-goal/README.i18n.yaml
# packages/goal/goal-session/README.i18n.yaml
# packages/goal/goal/README.i18n.yaml
# packages/goal/tool-goal/README.i18n.yaml
# packages/goal/tool-goal/README.zh.md
# packages/guard/README.i18n.yaml
# packages/guard/README.zh.md
# packages/guard/repeat-tool-guard/README.i18n.yaml
# packages/hooks/hooks-claude/README.i18n.yaml
# packages/hooks/hooks-codex/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.zh.md
# packages/llm/llm/README.i18n.yaml
# packages/plan/plan-mode/README.i18n.yaml
# packages/plan/plan-mode/README.zh.md
# packages/sdk/sdk-client/README.i18n.yaml
# packages/sdk/sdk-client/README.zh.md
# packages/sdk/sdk-protocol/README.i18n.yaml
# packages/session-persistence/session-persistence/README.i18n.yaml
# packages/session-persistence/session-persistence/README.zh.md
# packages/skill/tool-skill/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.i18n.yaml
# packages/subagent/subagent-inprocess/README.zh.md
# packages/ui/jsonrpc/README.i18n.yaml
2026-08-05 13:09:53 +08:00
Huanqi Cao
05a1a95ae9
Merge origin/master into feat/pwsh-ui-parity
2026-08-05 12:47:09 +08:00
xjt
7bd111b2af
Merge origin/master into xjt/proofreading-active-docs-2-apply
2026-08-05 10:57:53 +08:00
_Kerman
423f7517b6
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# packages/core/agent/package.json
2026-08-05 10:46:01 +08:00
_Kerman
97e7d68340
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
2026-08-05 10:39:18 +08:00
pku-xht
0ccd847ef3
Fix timer bounds and ACP teardown ownership
2026-08-05 05:24:23 +08:00