Skip to content

fix(tui): classify Native outcomes from presentation metadata - #340

Merged
T-Auto merged 4 commits into
mainfrom
work/tui-native-dsh-021-ccch1mneyyy
Oct 21, 2026
Merged

T-Auto merged 4 commits into
mainfrom
work/tui-native-dsh-021-ccch1mneyyy

Conversation

@ccch1mneyyy

@ccch1mneyyy ccch1mneyyy commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #339

What was wrong

The TUI activity observer only understood JSON text envelopes, but Native file tools and Native ops_result intentionally render compact model-facing prose. The sidebar counted returns while leaving successful reads, previews, refusals and operation errors business-unconfirmed. The optional real-host fixture also needed the explicit user-message source required by DSH 0.2.1.

The change

  • Carry bounded outcome facts through the host's existing output.presentationMeta / committed meta.opsOutcome path. Model text and tool input/output schemas are unchanged.
  • Read metadata for top-level Native results, keeping PTC child JSON handling separate. Host transport failure still cannot become confirmed business success.
  • Exclude paths, content, items and error messages; keep only bounded status/error codes, effect facts, booleans and safe nonnegative counters.
  • Add always-on producer/consumer regressions and update the real dsh-TUI fixture, paired panel docs and changelog. No new dependency or host registration changes.

Validation

DSH_OPS_REQUIRE_RUNTIME=1 node test/run.mjs tui-result tui-native tui-host
  3 suites passed, 0 skipped, 0 failed
  TUI result diagnostics: all 10 checks passed
  real dsh-TUI 0.16.1 worker/loop/UI integration exercised

node scripts/verify-gate.mjs --skip-install
  linux-x64: gate green
  126 suites passed; skipped: none
  manifest: 73 checks (minimum 59)
  native unit tests, runtime build/staging, packed release closure: passed

node scripts/check-file-size.mjs
  384 code files checked, all <=1000 lines; longest 924

git diff --check
  passed

Red/green: copying the new tui-result tests onto unmodified a9ff940
  2 of 10 checks fail: Native metadata classification and bounded metadata projection
  fixed tree: all 10 pass

The complete gate uses the host's real Landlock backend (bwrap probe deliberately unavailable on PATH) because main's unrelated private-/tmp reference-cache defect is fixed independently in #338. No unconfined substitute or permission relaxation is used. The targeted real-host Native suites also pass with the machine's ordinary bwrap-enabled PATH.

PR-triggered CI: https://github.com/T-Auto/dsh-ops/actions/runs/39477813622 — pull_request, aggregate CI required: SUCCESS (Windows x64, Linux x64, macOS arm64 and required supporting jobs passed). The first macOS job was abandoned before allocation (runner_id: 0, no steps). A targeted rerun of only that unexecuted job and its dependent aggregate succeeded on attempt 2; no failed code-test assertion was retried.

Environment

Arch Linux x64; Node 24.21.0; Rust 1.97.1; dsh-TUI 0.16.1; base main a9ff940. Local source checkout with rebuilt native worker.

Combined local validation

The submitted heads of #338, #340, #341, #342, #343, #344 and #345 were applied together in an isolated local verification worktree, including their combined changelog entries. With ordinary PATH selecting real bwrap 0.13.0 and real dsh-TUI 0.16.1 host/worker/renderer suites enabled, node scripts/verify-gate.mjs --skip-install passed all 11 release-gate steps: 129 suites passed, 0 skipped; 46 Rust unit tests passed; manifest 73/59. This Linux combined-tree evidence is separate from each PR's own cross-platform CI; no upstream merge or host installation was performed.

@T-Auto
T-Auto merged commit 8ceccd4 into main Oct 21, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(tui): classify Native file outcomes from replayable presentation metadata

2 participants