Skip to content

feat(diagnostics): add owner-only pane evidence - #137

Merged
devswha merged 8 commits into
mainfrom
feat/pane-diagnostics
Sep 8, 2026
Merged

feat(diagnostics): add owner-only pane evidence#137
devswha merged 8 commits into
mainfrom
feat/pane-diagnostics

Conversation

@devswha

@devswha devswha commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add an owner-only, read-only GET /api/settings/diagnostics/panes projection over cached discovery and host evidence.
  • Show socket-local pane coordinates, cached process ancestry, binding grades, independent freshness, failure reasons and coverage limits in Settings. Raw paths, credential identifiers and private diagnostics are excluded.
  • Keep observations separate from fresh control authorization, and document the privacy boundary before exposing the view.
  • Extend the real-app English/Korean desktop/mobile CUA matrix and complete the remaining P3 roadmap item.

Verification

  • npm run verify: passed, including 2,507 repository tests, audit, TypeScript, Rust, lint, identity and production build.
  • Main-session npm run cua:improvements against the real isolated hub/two-peer fixture: all 6 cases passed at 1440x1000, 320x568 and 390x844, including 210 keyboard refresh actions and 147 PNG captures.
  • Real HTTP checks cover owner-only routing, no-store, GET-only methods, local-pane scope and unchanged aggregate diagnostics. Controlled browser faults separately cover stale/unknown/empty states, endpoint isolation, denial, recovery, redaction and 32-PID wrapping.
  • Regression RED and mutation-failure artifacts precede the corresponding fixes or restored GREEN checks. Owned fixture processes, sockets, browser contexts and temporary profiles were cleaned.

Reproduction is documented in scripts/cua/README.md. The local review bundle contains browser action records, screenshots, HTTP responses and cleanup receipts. Browser emulation is not physical-phone, native-desktop or Tailscale-network evidence.

Ultraworked with omo

devswha and others added 8 commits September 8, 2026 16:46
Amend the P2 RFC to rev.4 with normative section 4.1.2, the approved
contract prerequisite for pane diagnostics. It permits a separate
owner-only, no-store, read-only GET /api/settings/diagnostics/panes
projection built only from cached collector rows and the last completed
host snapshot, publishing sample-local display ordinals, validated tmux
coordinates and PIDs, and closed allowlisted outcomes. Raw socket
paths/names, session names, cwd, argv, provider-session IDs, transcript
data, process start times, configuration and filesystem evidence, and
exception text stay server-private, and the projection carries no new
action authority under the existing N1-N3 rules. Collector and host
sample ages stay independent, output is bounded with explicit omission
counts, missing evidence surfaces as unknown, and the aggregate
diagnostics response is unchanged. TMUX-DISCOVERY documents the same
single exception to its privacy boundary. The roadmap checkbox stays
open.

Validation: pure prose with no machine consumer, so QA is by read.
Re-read the full diff, confirmed the existing normative rules (N4,
B17a, 4.1.1) remain consistent with the single scoped exception, and
git diff --check exits 0.

Co-authored-by: OmO <omo@users.noreply.github.com>
Append the five approved display-only pane diagnostics types without changing the existing aggregate or adding runtime behavior.

Validation: shared diagnostics LSP clean; npm run typecheck and git diff --check exit 0.

Co-authored-by: OmO <omo@users.noreply.github.com>
Add a synchronous peek and a narrow provider getter for the existing shared snapshot source. Preserve capture reuse, failure evidence, cancellation checks and inventory serialization.

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
Project cached collector and host observations into an owner-only GET response with sample-local labels, strict redaction and bounded PID ancestry. Keep aggregate diagnostics and discovery/control behavior unchanged.

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)\n\nCo-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
Settle cached diagnostics reads independently while making owner denial clear both sections. Expose pane-scoped states and complete localized sample, capture, identity, process, lineage, and coverage evidence without actions.

Cover endpoint failures, cancellation and late response races with deterministic mounted regressions and typed fixtures. Preserve the aggregate contract.

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
Extend the existing real fixture matrix with local pane projection checks, independently fulfilled endpoint failures, state and field assertions, and English/Korean keyboard and responsive evidence. Preserve existing English feature cases and required artifacts.

Verify meaningful state, isolation, and omission-count mutation REDs, then the complete six-case browser GREEN with owned-resource cleanup.

Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
@devswha
devswha merged commit a6816e9 into main Sep 8, 2026
5 checks passed
@devswha
devswha deleted the feat/pane-diagnostics branch September 8, 2026 12:11
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.

1 participant