Commit Graph
3459 Commits
Author SHA1 Message Date
Tianyi Cui 50cce9c28d Merge latest master human inbox controls into system-prompt layer
Preserve the V3 PTC SDK assertion and enable the new human-steering runtime fixture while carrying master’s inbox lifecycle changes. Retain prior deterministic CI repairs and immutable predecessor ownership.
2026-09-07 15:45:09 +08:00
Tianyi Cui fffd39b101 Merge latest master human inbox controls into V3 integration
Preserve the V3 PTC scenario while enabling the current subagent human-steering fixture environment. All product changes are inherited from master; no V3 migration semantics are altered.
2026-09-07 15:44:17 +08:00
Tianyi Cui ce9f124e0e Merge branch 'feat/system-prompt-surface-node' into feat/system-prompt-in-history 2026-09-07 15:40:52 +08:00
Tianyi Cui e2b3800a7e fix(python): challenge fresh file state in live SDK smoke 2026-09-07 15:40:51 +08:00
Dudu-0223 96ead6091d feat(subagent): align human inbox controls (#3223)
* feat(subagent): align continuable human inbox controls

* fix: repair rebase documentation and close test persistence

* docs: refresh rebased module dependency graph
2026-09-07 07:39:39 +00:00
Tianyi Cui 70ae2354d0 Merge latest master performance work and V3 preset migration
Freeze exactly the post-admission derived message array using the inherited per-agent provenance cache, preserving the prepared-route ordering and retry semantics. Adopt the root’s legacy preset migration without changing native V3 custom preset behavior. Request freeze, admission, projection and reconstruction regressions pass58 tests.
2026-09-07 14:55:12 +08:00
Tianyi Cui 19d167cec2 Merge latest master request-freeze and frontend performance work
Preserve the V3 system-prompt projection while adopting master’s per-agent frozen-message provenance and frontend performance gates. Keep benchmark workload admission and diagnostics fixes intact, and retain both migration and first-open/reopen lifecycle guarantees.
2026-09-07 14:53:00 +08:00
Tianyi Cui 95400aa52c Merge V3 preset-reference migration into system-prompt representation
Compose the root’s exact legacy code-to-ptc preset conversion with the existing structural system-head migration. Keep dense source events, audited payload admission, local reference mapping, and native V3 extension behavior unchanged. Preserve the historical preset migration fixture byte-for-byte and test unsupported sparse/opaque sources explicitly.
2026-09-07 14:51:05 +08:00
Tianyi Cui 85dcebcda4 Merge remote-tracking branch 'origin/master' into fix/spkv-root-latest-master 2026-09-07 14:48:39 +08:00
Tianyi Cui 8d0f45febc Merge remote-tracking branch 'origin/release/session-log-v3' into fix/spkv-root-latest-master 2026-09-07 14:47:55 +08:00
Tianyi Cui 1ca0df2e24 test(python): synchronize advanced snapshot workflow membership 2026-09-07 14:26:30 +08:00
07akioni 4a9c180e2d Merge branch 'master' into feat/electron 2026-09-07 14:21:23 +08:00
Tianyi Cui 12dd429331 Merge remote-tracking branch 'origin/master' into fix/spkv-root-latest-master 2026-09-07 14:02:51 +08:00
Tianyi Cui 2eccae5631 Merge branch 'release/session-log-v3' into worktree/session-v3-preset-rename 2026-09-07 14:00:22 +08:00
Yichen Jiang ff33f79eb1 fix(session): migrate legacy code preset references to ptc 2026-09-07 13:52:22 +08:00
Tianyi Cui a4e445236f Merge latest master prompt placement into in-history updates
Keep prepared-route in-history append, clear-all, and normalization semantics while adopting named persona prefix/suffix and late environment facts from master. Resolve documentation against the derived system-message history and retain the existing strict migration behavior.
2026-09-07 13:39:12 +08:00
Tianyi Cui d3ed6d6f88 Merge remote-tracking branch 'origin/master' into feat/system-prompt-surface-node 2026-09-07 13:35:06 +08:00
Tianyi Cui 0ac1d4d865 test(perf): align browser provisioning with hosted benchmark runner 2026-09-07 13:29:38 +08:00
Tianyi Cui c51c16cdac test(perf): respect browser failover provisioning policy 2026-09-07 13:29:38 +08:00
Tianyi Cui 2927034ffe test(perf): retain successful CI measurement output 2026-09-07 13:29:38 +08:00
07akioni 6d55da993d Merge master into feat/electron after scope cleanup 2026-09-07 13:21:45 +08:00
Tianyi Cui 25b28a14cd Merge branch 'feat/system-prompt-surface-node' into feat/system-prompt-in-history 2026-09-07 13:12:53 +08:00
Tianyi Cui 76cf592234 Merge commit 'd1e5b724d71e9a6f675232caa760395710826b81' into feat/system-prompt-surface-node 2026-09-07 13:12:46 +08:00
Tianyi Cui f68c4239e4 Merge remote-tracking branch 'origin/master' into release/session-log-v3 2026-09-07 13:09:36 +08:00
Tianyi Cui 3d54bd6d58 Merge branch 'master' into fix/ci-node-compile-cache-data-disk 2026-09-07 13:06:30 +08:00
Tianyi Cui ac4fa3d6f5 docs: clarify compatibility runner scope and verification 2026-09-07 12:42:02 +08:00
Tianyi Cui a137256f80 ci: set compatibility toolcache after runner environment export 2026-09-07 12:41:23 +08:00
Tianyi Cui f7a18f49ff ci: isolate compatibility Node jobs on self-hosted Linux 2026-09-07 12:41:23 +08:00
Tianyi Cui c379894af8 fix(ci): isolate routing test setup and correct scheduling docs 2026-09-07 12:40:40 +08:00
Tianyi Cui ab1ee99685 ci: defer macOS ARM runtime and Wine checks to master 2026-09-07 12:40:40 +08:00
_Kerman b759ad91e8 Merge remote-tracking branch 'origin/master' into xtr/explicit-agent-context
# Conflicts:
#	packages/subagent/subagent/src/continuation.ts
2026-09-07 12:09:06 +08:00
mektpoy ab62273984 Merge remote-tracking branch 'upstream/master' into issue-1424-goal-resume-activation 2026-09-07 11:37:52 +08:00
07akioni 31b3f3bc44 Merge remote-tracking branch 'origin/master' into feat/electron
# Conflicts:
#	.agents/notes/archived/manifest.json
#	.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.i18n.yaml
#	.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.md
#	.agents/notes/archived/simplification/2026-07-31-drop-user-message-edit-stub.zh.md
#	.agents/notes/implemented/architecture/2026-09-05-canonical-feedback-log.i18n.yaml
#	.agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.zh.md
#	packages/boot/app-boot/README.i18n.yaml
#	packages/boot/app-boot/README.md
#	packages/boot/app-boot/README.zh.md
#	packages/client/connection/src/index.ts
#	packages/client/connection/tests/node-half.host.spec.ts
#	packages/shell/tool-pwsh-persistent/README.i18n.yaml
#	packages/shell/tool-pwsh-persistent/README.md
#	packages/shell/tool-pwsh-persistent/README.zh.md
#	pnpm-lock.yaml
#	tsconfig.host.json
2026-09-07 11:10:46 +08:00
Tianyi Cui 691861091f test(python): record upper V3 native event ordering
Regenerate current Python Session expectations through the real macOS arm64 SEA executable built from fdd44667b4b496093e765af57d3751dfb917d834. The native writer emits session/title after request/header and request/context. Update only five current V3 logs; result.json, minimal/model-visible.json, and minimal-in-history/prompt-history.json regenerate identically. All five V2 predecessors remain byte-identical to b2b300f9.

Build evidence: LEFTHOOK=0 pnpm install --frozen-lockfile --offline; pnpm exec tsx scripts/build-exe-for-python-sdk.ts --targets node24-macos-arm64 (full build, no skip-build): passed. file dist-exe/deepseek-harness-sdk-runtime-macos-arm64: Mach-O 64-bit executable arm64.

Smoke evidence: export PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=python/sdk/src:python/sdk-runtime/src; PY=/Users/cty/dsh-deploy/.agents/worktrees/sp-kv-sdk-evidence/tmp/py-sdk-venv/bin/python. For each scenario in sdk-snapshot sdk-restart sdk-minimal sdk-minimal-in-history, ran "$PY" scripts/smoke-python-runtime.py --exe dist-exe/deepseek-harness-sdk-runtime-macos-arm64 --scenario "$scenario" --update-snapshots, then the same command without --update-snapshots: all eight passed.

Helpers: PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=python/sdk/src:python/sdk-runtime/src uv run --offline --no-project --python /Users/cty/.local/share/uv/python/cpython-3.14.5-macos-aarch64-none/bin/python3 --with pytest --with "pydantic>=2.12,<3" python -m pytest python/sdk/tests/test_smoke_model.py -q: 28 passed. git diff --quiet b2b300f9 -- "scripts/snapshots/python-sdk-single-exe/**/*.v2.jsonl" and git diff --cached --check passed. No source, migration, test, or launcher changes.
2026-09-07 11:09:40 +08:00
Tianyi Cui 42955a346a test(python): record final admitted-input notification order
Refresh advanced and restart expectations through the final native packaged runtime. Synchronous request finalization places deferred fallback-title events after header/context in parent and child logs; expected SDK notifications must reflect that actual lifecycle instead of forcing the old incidental scheduling order.

Validation: the advanced mismatch was reproduced against the built macOS ARM64 executable, both owning scenarios refreshed, then the complete keyless --scenario all passed, including the new in-history prompt evidence and independent shell/file effects. No SDK runtime or normalizer behavior changes in this commit.
2026-09-07 11:09:40 +08:00
Tianyi Cui 627747d8fa docs: synchronize prompt admission contracts and repair lifecycle diagram
Copy the current SessionEventMap prompt and route JSDoc into both subsystem references so type-equiv validates the prepared-route and clear-all semantics. Remove the Mermaid statement delimiter from the generated retry note while retaining the same lifecycle meaning; regenerate graph artifacts and confirm both bilingual pairs.

Validation: verify-type-equiv, verify-mermaid, verify-doc-graphs, scoped verify-translation-pairing, and git diff --check.
2026-09-07 11:09:40 +08:00
Tianyi Cui 9c8884284f test(sdk): record in-history system prompt updates in both clients
Cover the missing SDK projections through shipped dsh profiles. TypeScript reuses the headless read-completion composition and records SDK notifications. Python all includes a focused minimal-profile variant with an ordinary prompt section updated after shell completion, unchanged tools, persisted/subscribed append events, and independently checked editor output.

Observed: focused TS refresh and built replay passed (1 test); Python sdk-minimal-in-history and sdk-minimal passed against apps/cli/lib/bin.js using uv; unchanged-prompt negative control failed as expected then restored scenario passed; corpus 3 tests, doc-sync 33 gates, and lint:contracts-ready passed. Host-only build initially left SDK built startup incomplete; build:lib:client completed the prerequisites. Native packaged/wheel and Windows validation remain pending parent integration.
2026-09-07 11:09:39 +08:00
Tianyi Cui 425a0a55e3 fix(agent-loop): reconcile prompts after retry compaction
Every same-step attempt resolves its bound route and reconciles the accepted rendered prompt against the current surface before deriving history. Preserve assembly, pre-step admission and entered users exactly once; compaction retries must not resurrect an older surviving prompt.

Normalize a broken request series to the current head plus dormant empty later system nodes, even if later versions survive or the effective text is unchanged. This removes the later-survivor exception without a delete operation and avoids appending instructions after already-admitted users on retry. Capture surface generation after reconciliation so subsequent ordinary retries do not emit phantom series headers.

Tests: both compaction cases fail before the fix (stale head, or stale later survivor), then pass with real loop/MockAdapter, pi-ai conversion and source-event reconstruction. Assert two retries keep one assembly/pre-step/user admission, preserve rendered text across section changes, and log one series boundary. Add unchanged-text explicit/tool series regressions. 391 loop tests with exact agent.ts/runtime-context.ts coverage pass at 100%; final admission spec has 11 passing cases. Source tsc and focused lint pass. Update EN/ZH implementation and owning rationale plus lifecycle retry documentation.
2026-09-07 11:09:39 +08:00
Tianyi Cui 2ce9738564 fix(agent-loop): admit prompts under the prepared route
Resolve agent/request and prepareCall inside the accepted open step before committing system and user input. Preserve prompt-assembly model selection, bind capability and dispatch to the same prepared adapter, then log the envelope and derive the request synchronously. Preparation cancellation leaves a balanced empty step with no admitted input.

Normalize incapable-route retained prompt versions with logged per-node empty replacements and a current head, including unchanged rendering and resumed history. Dormant empty tails do not override the effective prompt. No new event or delete operation.

Tests: 389 agent-loop cases pass with exact agent.ts/runtime-context.ts coverage at 100% for all metrics; tsc -b packages/core/agent-loop/tsconfig.json passes. Seven actual-loop MockAdapter cases exercise pi-ai conversion, source-event reconstruction, both route transitions, resume, cancellation barriers, and bound selection. Stale-capability negative control fails all three transition regressions. Update EN/ZH request visibility, lifecycle generator, and owning rationale. Broad catalogs, recorded SDK/GUI and aggregate gates remain parent-owned.
2026-09-07 11:09:39 +08:00
Tianyi Cui c988a6796f feat(agent-loop): append system prompt changes on capable routes
Consolidate the existing in-history capability, loop, UI and artifacts into one baseline. Preserve the reviewed tree so each independently verified correction has a subsequent rationale-rich commit.
2026-09-07 11:09:39 +08:00
Tianyi Cui 15345af731 fix(test): synchronize console enablement and verify fresh SDK file content 2026-09-07 10:43:46 +08:00
Tianyi Cui cc69d5fcac fix(ci): isolate Playwright cache and installation locks per runner 2026-09-06 22:59:11 +08:00
Tianyi Cui 362ee7931d fix(test): isolate recorded spill and sandbox fixture storage 2026-09-06 22:44:54 +08:00
Tianyi Cui f50dce316c fix(ci): isolate persistent pnpm indexes on runner data volumes 2026-09-06 22:16:00 +08:00
Tianyi Cui 350dcad963 fix(test): allocate sandbox snapshot outside temp grants on runner volume 2026-09-06 22:04:52 +08:00
Tianyi Cui e61d9fc0c7 fix(ci): isolate npm caches and synchronize ACP snapshot completion 2026-09-06 21:47:55 +08:00
Tianyi Cui 71b0d83822 Merge current V3 PTC vocabulary into system-prompt representation
Compose the shared release branch PTC rename with the structural system-head migration in the existing V2-to-V3 stage. Audit source payloads and remap local coordinates before renaming dispatch vocabulary and owned plugin attribution; retain original message identities and generation-qualified references. Native V3 validation combines the same system and PTC lifecycle semantics through a private released-validation view.

Reuse the V3 row-admission owner in current JSONL scanning before recoverable-tail suppression, so malformed rows cannot hide retired required PTC tags or header.system. The new corruption-prefix regressions and all173 existing JSONL scanner tests pass. Combined migration/catalog/persistence suite:300 tests; executable V3 migration source has100% coverage. No released generation, prior migration implementation, shared release branch, benchmark or CI workflow is modified by this integration.
2026-09-06 21:33:35 +08:00
Tianyi Cui 5c8e1b53de Merge latest master into fix/ci-node-compile-cache-data-disk 2026-09-06 21:26:37 +08:00
Tianyi Cui 1439887241 fix(ci): keep PR temporary files under runner cleanup 2026-09-06 21:24:09 +08:00
Tianyi Cui a4dcff874e fix(scripts): validate historical fixture layout with source codecs 2026-09-06 21:18:49 +08:00