fix(dsh): complete automatic-path diagnostics and recall presentation - #1459
Conversation
aac0abd to
e3ad78d
Compare
|
Validation for head
The PR remains Draft. B is not marked complete; remaining gates are live-model/Web acceptance, resolution of the Windows CI failure, and integration after A merges. |
|
The Windows native-service failure has been traced to a reproducible Server defect, tracked in #1463 and fixed independently in #1464. The same fix is included in this PR as The uploaded service log shows that the second Server process exited with The fix uses binary writes and makes the persistence/restart tests deterministic. Windows CI now runs them against the installed wheel and continues to exercise the real Task Scheduler lifecycle. Native failure output also includes the Server log tail, so the underlying exception is visible without downloading an artifact first. Correction to the earlier permissions note: GitHub rejected my attempt to rerun the old job with HTTP 403 and the message Validation is now complete for this CI fix:
The live-model HTTP 401 acceptance gate and dependency on A remain separate from this CI fix; the DSH PR remains Draft. |
d2b3ee2 to
279baf8
Compare
|
Rebased this PR onto upstream
GitHub now reports the PR as mergeable with no content conflicts. It remains Draft because the separately recorded live-model attempt still returns HTTP 401; that acceptance result was not inferred from deterministic fixture tests. |
Which issue or RFC does this PR close?
Closes #1457. Refs #1450 (B). Builds on the merged fixes #1452 (A) and #1464 (Windows Server cursor-key fix).
This PR is rebased on upstream master
8550f9f9, which contains #1398, #1452, #1453, and #1464. It contains B's implementation and acceptance records plus the independently reviewable macOS LaunchAgent start fix from #1480. That fix is included here so the same native CI path that exposed the failure can validate it; once #1480 merges, rebasing will drop the equivalent commit.PR comparison.
Live-model acceptance is pending: the configured official DeepSeek endpoint returned HTTP 401.
Rationale for this change
An ordinary DSH conversation can silently lose automatic Scope diagnostics or discard valid prepared context when capture or a diagnostic writer fails. Successfully injected context also lacks the host's snapshot metadata. The new registered-entry regressions reproduce these defects on A: 20 failures out of 28 initial tests.
B reuses A's error classification, endpoint semantics and Scope cancellation support, and completes their automatic pre-step integration. This fixes existing host contracts and requires no RFC.
What changes are included in this PR?
startsRequestSeries.request_idfields so tool output is lossless JSON, and declare command input so Web routes/pc doctorand/pc capabilitiesas commands.make dsh-runtime-testaftermake js-test, loading the built distributable with real host services and a real PowerContext Server.lib, document behavior in English/Chinese, and add reproducible runtime instructions plus an acceptance record. Fix Windows e2e Server teardown to stop its owned child process tree.Are there any user-facing changes?
Background failures leave normal conversation handling with DSH while reporting a safe stage-specific diagnostic. Prepared context remains usable when capture or flush fails, and appears in the native snapshot view. Scope failures stop subsequent automatic requests without fallback.
In the tested Web versions, expand the turn's context-injection row to view PowerContext. Terminal diagnostics require a native logger exporter with warning level enabled. Source acceptance and successful Memory generation remain separate outcomes. HTTP contracts, Scope policy, capture policy, and retry/request budgets are unchanged.
How was this change tested?
Acceptance record, sanitized observations, build identities and Web screenshot.
0436943a279baf8c0.1.2-rc.10.1.2-rc.1/pc0.1.0-rc.6Executed the commands in
make js-test,make check, andmake docs-test, plus:For the LaunchAgent fix,
uv run pytest -q tests/test_service.py -k launchdpassed 23 tests with 1 platform skip, and the complete real macOS lifecycle passed on both #1459 and #1480.Local environment: Windows, Node 24.14.1, Python 3.12.13. CI uses the repository's Node 22.19.0. SDK/runtime dependencies are locked. Passing runtime and Web scenarios use a deterministic loopback model and real Server processing/storage; they do not establish live-model behavior. The opt-in
test:realcommand fails for a missing key and verifies actual Memory generation plus fresh-session recall with configured live inference.AI usage statement
OpenAI Codex assisted with implementation, regression tests, fixtures, documentation, and browser-driven validation. Results above come from executed commands, real DSH/Server processes, persisted events, request observations and actual Web interactions. The unresolved live-model authentication gate is recorded explicitly; AI-generated code and model fixture replies are not treated as proof of live-model acceptance.