fix(dsh): complete automatic-path diagnostics and recall presentation - #1459
fix(dsh): complete automatic-path diagnostics and recall presentation#1459knqiufan wants to merge 5 commits into
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. |
Which issue or RFC does this PR close?
Closes #1457. Refs #1450 (B). Depends on #1452 (A) and #1464 (Windows Server cursor-key fix).
This Draft layers B on A's fix, reapplied as
30c65c3fon upstream masterfc75f927(including #1438). A's remote branch is unchanged. The upstream PR base ismasterbecause A's branch is in the contributor fork.B-only comparison.
After A merges, rebase B onto upstream master and rebuild the generated bundle. Live-model acceptance is also pending: the configured official DeepSeek endpoint returned HTTP 401.
The Windows native-service failure was traced to #1463: Windows text-mode writes expanded binary cursor keys, preventing Server restarts. The independent fix from #1464 is included as
d2b3ee25; all 17 checks pass on this commit. Repository rerun permissions were unrelated to the test failure.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 identity and Web screenshot.
d2b3ee250.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: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.