Skip to content

[OA-014] Validate and add a direct-monitor capture adapter #14

Open

Description

@johnnycoderbot-cloud

Planned implementation slice OA-014. No application behavior is implemented by this issue.

Phase: P4 · Dependencies: OA-004, OA-005, OA-006

Full roadmap detail · Contracts

Requirements

OA-SRC-001, OA-SRC-003, OA-SRC-005, OA-DAT-005, OA-CTL-003

Target files

  • tools/spikes/windows-capture.ts
  • packages/capture/src/windows-monitor.ts
  • apps/desktop/src/renderer/sources/MonitorPicker.tsx
  • docs/decisions.md

Acceptance criteria

  • Windows experiment verifies monitor enumeration, DPI/rotation geometry, active virtual-desktop visibility, and lock/session behavior.
  • Consent selects actual monitor/window sources; no claim that inactive or protected desktops are visible unless demonstrated.
  • Successful spike adds the adapter behind a capability flag using existing registry/policy/scheduler; failed spike keeps OBS fallback.
  • Capture releases on stop; secure/protected content and session loss are reported unavailable rather than inferred.

Verification

  • Opt-in Windows tests on available monitor layouts; list untested layouts explicitly.
  • Synthetic geometry fixtures for DPI, rotation, crop masks, and display removal.
  • Native stop check confirms capture handles close.

Gate and estimate

G4m: direct monitor support ships only for demonstrated capture/session cases.

4-8 first-pass work-unit hours; NOT an alpha completion estimate; assumption: 8 bounded 30-60 minute work units, prepared environment and fixtures; integration waits/rework excluded

Handoff

Record changed files, actual commands/results, mock versus live evidence, residual limits, and review verdict. Do not connect personal feeds or accounts in CI.

Bounded work units

  • Create capture probe (30-60 minutes)
  • Verify permission and session limits (30-60 minutes)
  • Test DPI and rotation cases (30-60 minutes)
  • Add feature-gated adapter (30-60 minutes)
  • Build monitor selector (30-60 minutes)
  • Map source geometry to masks (30-60 minutes)
  • Handle display/session loss (30-60 minutes)
  • Record native evidence (30-60 minutes)

Linked dependencies

Activity

  1. added
    plannedExecution-ready planned work; not implemented
    integration-gateExternal or native capability requires reproducible evidence
    on Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    integration-gateExternal or native capability requires reproducible evidenceplannedExecution-ready planned work; not implemented

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions