LearnNewsExamplesServices
Frontmatter
id15555
titleProve macOS denied-permission tear-out fallback and matrix-runner provenance
stateClosed
labels
enhancementaitesting
assigneesneo-gpt-emmy
createdAtJul 19, 2026, 2:35 AM
updatedAtJul 19, 2026, 6:31 AM
githubUrlhttps://github.com/neomjs/neo/issues/15555
authorneo-gpt-emmy
commentsCount0
parentIssue15551
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 19, 2026, 6:31 AM

Prove macOS denied-permission tear-out fallback and matrix-runner provenance

Closed Backlog/active-chunk-7 enhancementaitesting
neo-gpt-emmy
neo-gpt-emmy commented on Jul 19, 2026, 2:35 AM

Context

Sub-issue of #15551 under portability authority #15243 / ADR 0029. PR #15552 produced one complete, independently mergeable tranche while the parent remains broader: matrix-runner provenance plus the macOS row-5 denied-permission fallback receipt. The ready-for-review gate correctly refuses a non-closing PR, so this ticket records the delivered row as its own substantial evidence unit rather than falsely closing rows 4, 6, and 7.

The code was authored under #15551's valid ticket authority. This is decomposition of that parent outcome, not retroactive authority for untracked work.

Problem

The matrix could serve one dynamic port while a spec navigated to a different fallback port, and macOS row 5 remained NOT_YET_MEASURED. A green denial probe alone would be insufficient: the receipt has to traverse the real product gesture, prove same-instance continuity and JSON persistence, return home, close natively, and leave cleanup idempotent.

Intended solution

  • Make the runner's resolved port the sole authority consumed by every matrix worker/spec.
  • Exercise real browser-context window-management denial and exact NotAllowedError.
  • Drive the real G1 boundary gesture into exactly one tear-out vessel.
  • Prove singleton component identity, exact mount/heartbeat transitions, and actual JSON perspective-writer acceptance while detached and returned.
  • Close the vessel natively and prove one semantic home, cleared lifecycle maps, and repeated-terminal no-op.
  • Promote only macOS row 5 to PASS_FALLBACK; retain the canonical Demo B competing-vessel red control and leave rows 4, 6, and 7 open.

Contract ledger

Surface Required truth Falsifier
Runner provenance page navigation and web server consume one resolved dynamic port fresh unpinned run selects a non-default port
Permission denial browser context reports denied; getScreenDetails() rejects NotAllowedError denial is asserted before the gesture
Gesture/vessel real boundary executor creates exactly one popout page count + singleton component census
Permanence component id and vessel binding remain stable; mounts 1 → 2 → 3, heartbeat 0 → 1 → 2 exact deltas, not greater-than checks
JSON persistence real DockPerspectiveStore.savePerspective accepts detached and returned documents stored JSON-only zones equal worker truth
Cleanup native close yields one home, three lifecycle maps empty, repeated disconnect no-op state read after both terminals
Ledger only row 5 advances rows 4, 6, 7 remain NOT_YET_MEASURED

Acceptance criteria

  • A fresh unpinned matrix run proves the runner/spec share one dynamically selected port.
  • macOS row 5 proves browser-context permission denied and exact NotAllowedError.
  • The real G1 gesture creates exactly one tear-out vessel and one CounterPane instance.
  • Same-instance continuity, exact mount deltas, and heartbeat continuity are asserted.
  • Detached and returned documents pass the real JSON-only perspective writer.
  • Native close yields one semantic home, cleared lifecycle state, and repeated-terminal no-op.
  • The living ledger promotes macOS row 5 to PASS_FALLBACK without promoting rows 4, 6, or 7.
  • The canonical Demo B competing-vessel red control remains recorded for #15395/#15396.
  • Production src/** and apps/** remain untouched.

Evidence

Required level: L4 headed real-browser receipt. PR #15552 records 3/3 exact-shape row-5 runs, a combined row-2/row-5 run, dynamic ports, and the canonical Demo B red control.

Out of scope

  • macOS row 4 store continuity.
  • macOS row 6 three-target arbitration.
  • macOS row 7 drop/cancel/blocked-acquisition terminal matrix.
  • Production fixes for #15395/#15396.
  • Windows/Linux receipts.

Relationships

Parent: #15551 · Authority: #15243 / ADR 0029 · Delivery: PR #15552 · Production split: #15395 / #15396.

Freshness receipt

Immediately before creation, targeted all-state searches for the row-5 permission fallback, PASS_FALLBACK / NotAllowedError, and dynamic-port matrix work returned only #15551 and #15243; no equivalent child exists.

Origin Session ID: ad71d4c3-3e37-4a17-8df7-8415509def84

Retrieval Hint: macOS row 5 denied screen details fallback matrix runner dynamic port JSON perspective native close