LearnNewsExamplesServices
Frontmatter
id16103
titlemacOS capture rejects safely attributable multi-owner Chrome
stateClosed
labels
bugdocumentationaimodel-experience
assigneesneo-gpt-emmy
createdAtJul 28, 2026, 6:51 PM
updatedAtJul 28, 2026, 8:20 PM
githubUrlhttps://github.com/neomjs/neo/issues/16103
authorneo-gpt-emmy
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 28, 2026, 8:20 PM

macOS capture rejects safely attributable multi-owner Chrome

Closed Backlog/active-chunk-10 bugdocumentationaimodel-experience
neo-gpt-emmy
neo-gpt-emmy commented on Jul 28, 2026, 6:51 PM

Context

#16080 and PR #16082 added the first evidence-backed macOS native-display Atlas to /video-create. The Atlas deliberately keeps the always-loaded router unchanged and teaches privacy-safe discovery, physical window ownership, reversible isolation, and exact teardown.

The next real film attempt produced a contradiction. Take 17 safely admitted and restored one new launch-bound Playwright-owned window alongside one pre-existing Chrome owner. That observed topology falsifies the old categorical rejection of a changed application owner; admission with additional pre-existing owners is derived from the global set-difference predicate, not claimed as tested topology.

That sentence now rejects a topology the production controller proved can be attributed without inspecting titles, URLs, tabs, profiles, documents, or page content.

Freshness / duplicate proof: Knowledge Base, Memory Core, repository-history, and exact-text sweeps found #16080 / PR #16082 as the sole governing ticket and no equivalent follow-up. The latest 20 open issues ordered by creation and the latest 30 A2A records across read states were rechecked immediately before filing at 2026-07-28T16:49Z; no overlapping ticket, lane claim, or lane intent exists.

The Problem

macos-native-display-capture.md currently conflates two different states:

  1. multiple pre-existing Chrome application owners exist; and
  2. the newly launched film window cannot be uniquely attributed.

Only the second state is unsafe.

The categorical owner-count rule creates a false fail-close. A future producer following the skill can be sent into a new browser-bundle/application-boundary experiment even when a privacy-safe global native-window set difference plus launch provenance identifies exactly one new film window. That is material Model Experience friction: the rule was meant to protect the operator's desktop, but now forces unnecessary desktop experimentation after the safer path already succeeded.

The Architectural Reality

  • /video-create's thin SKILL.md router remains correct and must stay byte-identical.
  • The portable admission contract remains in references/native-display-capture.md; this correction belongs only in the conditionally loaded macOS Atlas.
  • The Atlas already separates command-process, macOS application-owner, and native-window identity grains and already uses native-window set difference. The defect is the categorical admission sentence and the downstream wording that assumes the new window must belong to one preselected owner.
  • The proven safe path freezes the global pre-existing owner/window census, binds the launched browser command through process ancestry, waits for semantic readiness, requires exactly one globally new native window ID, proves that window's physical owner/display/geometry, and restores the exact prior state. It does not read browser content or use titles/profile identity as authority.
  • The current controller remains project-private production machinery. One successful consumer does not justify a reusable executable controller, schema, service, or cross-platform abstraction.

The Fix

Rewrite the macOS Atlas so owner multiplicity is permitted only when window provenance remains unique:

  1. Replace the categorical multiple-owner refusal with a predicate-based rule:
    • freeze the global pre-existing (application owner, native window ID) set before launch;
    • bind the film command using executable/process ancestry rather than process order;
    • after semantic readiness, require exactly one globally new native window ID;
    • prove that new window belongs to the admitted film command/application owner and satisfies the declared display/geometry predicates;
    • fail closed when any identity grain, set difference, or physical predicate is ambiguous.
  2. Harmonize the later census and teardown sections so they operate on the globally frozen set rather than assuming one preselected application owner.
  3. Preserve the privacy prohibitions and machine-local-constant ban.
  4. Add a bounded falsifier matrix to the PR evidence:
    • the receipt-observed Take 17 topology—one pre-existing owner plus one attributable new launch-bound owner—is admitted; additional pre-existing owners are a predicate-derived case;
    • zero new windows, two new windows, or one new window with unresolved command/owner provenance are refused.
  5. Keep the edit as a rewrite inside the existing conditional Atlas. Do not change the router or add an executable abstraction.

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback / Edge Case Docs Evidence
macOS Atlas application admission #16080; PR #16082; #15252 Take 17 receipt Admit multiple pre-existing Chrome owners only when global set difference plus launch provenance identifies exactly one new film window Zero/multiple new IDs or unresolved command→owner provenance fail closed Rewrite existing §4 wording Exact source diff plus positive/negative topology matrix
macOS Atlas physical-window proof Existing Atlas §§7–8 Bind semantic readiness to one globally new native window, then validate owner/display/geometry Do not infer from process order, title, profile, or geometry alone Harmonize existing sections; no new reference Contract-row audit against the Take 17 receipt
macOS Atlas teardown Existing Atlas §10 and #16080 restoration contract Restore the exact frozen global pre-existing set and close only the admitted film window Any residual/foreign mutation blocks promotion and emits a bounded receipt Rewrite only if the one-owner assumption leaks into teardown Positive restoration receipt plus ambiguous-topology refusal
/video-create router and portable Atlas ADR 0008; #15795; #16080 No behavioral or byte change Other platforms and page-only work remain unchanged None expected Byte diff and conditional-load audit

Decision Record impact

aligned-with ADR 0008. This corrects a falsified platform-Atlas predicate inside the existing graduated boundary; it adds no runtime architecture or executable protocol.

Decision Record

Not needed. A reusable controller, durable capture schema, or cross-platform identity protocol would require separate architectural authority after a second stable consumer.

Acceptance Criteria

  • AC1 — Owner count is not ambiguity: remove the categorical multiple-application-owner ban; admission depends on unique, proven film-window provenance.
  • AC2 — Global frozen census: specify the pre-launch global (application owner, native window ID) set and exactly-one-new-window predicate.
  • AC3 — Identity grains stay separate: command/process ancestry, macOS application ownership, and native window identity are each proven at their own grain; no process-order collapse.
  • AC4 — Fail closed: zero new IDs, multiple new IDs, or unresolved command→owner attribution refuse capture before recorder-go.
  • AC5 — Privacy unchanged: titles, URLs, tabs, profiles, documents, messages, and page content remain neither read nor used as authority.
  • AC6 — Exact cleanup: teardown closes only the admitted film window and restores the frozen pre-existing global set, or records a bounded restoration failure that blocks promotion.
  • AC7 — No machine-local constants: no durable PID, window ID, display ID, coordinate, path, or prior receipt value becomes routing authority.
  • AC8 — Progressive Disclosure: keep video-create/SKILL.md byte-identical; modify only the existing conditional Atlas unless a measured downstream echo is genuinely stale.
  • AC9 — Mutation-fit evidence: the PR demonstrates the Take 17 topology is admitted and proves the zero-new, two-new, and unresolved-provenance controls are refused.
  • AC10 — Substrate gate: invoke /create-skill and /turn-memory-pre-flight; carry this Contract Ledger into the PR; pass manifest/reference/link lint and report before/after bytes with net-neutral/reduction preferred.
  • AC11 — Decay: preserve the Atlas's existing version/topology/contradiction revalidation and retirement triggers; do not convert one successful host envelope into a portable compatibility claim.

Out of Scope

  • Producing, editing, promoting, or publishing the #15252 film.
  • Changing Chrome profiles, reading browser content, or manipulating unrelated operator windows.
  • Adding or publishing the project-private Take 17 controller.
  • Introducing a capture service, daemon, MCP tool, schema, recorder wrapper, or cross-platform abstraction.
  • Changing docking runtime behavior, Neural Link, or the current popup repair lanes.

Avoided Traps

  • Owner multiplicity equals ambiguity: several owners are safe when the new film window is uniquely attributable; one owner can still be unsafe when two new windows appear.
  • Geometry as identity: display/geometry are physical predicates after identity binding, not substitutes for provenance.
  • Title/profile routing: readable labels are neither privacy-safe nor stable authority.
  • Successful take becomes universal law: Take 17 falsifies one categorical refusal; it does not prove universal Chrome/macOS compatibility.
  • Prose accretes into a controller: the correction stays a bounded Atlas rewrite until a second stable consumer justifies abstraction.

Related

#15252 · #15795 · #16080 · PR #16082

Take 17 gate receipt: https://github.com/neomjs/neo/issues/15252#issuecomment-5107058406

Origin Session ID: 019f9e1e-2ef1-72c3-a04d-6bc67a531a8b

Retrieval Hint: query_raw_memories("video-create macOS multiple Chrome owners Take 17 set difference").

Authored by Emmy (@neo-gpt-emmy, GPT-5.6 Sol Ultra, Codex).

tobiu referenced in commit 9f38dcb - "docs(video): admit attributable multi-owner capture (#16103) (#16106) on Jul 28, 2026, 8:20 PM
tobiu closed this issue on Jul 28, 2026, 8:20 PM