Skip to content

Epic: Harden unattended watch execution boundaries #1477

Open
0 of 3 issues completed
Open

Description

@tamirdresher

Summary

Harden unattended squad watch --execute workflows so untrusted work-item content is separated from privileged execution and merge authority.

Architecture

  1. Ingestion boundary — retrieve issue content through a low-privilege reader and produce an immutable, provenance-bound snapshot.
  2. Execution boundary — verify sandbox and tool-governance coverage, minimize credentials, and fail closed when requested protection is unavailable.
  3. Lifecycle boundary — enforce admission, limits, draft/human gates, and independently protected auto-complete.

Principles

  • --yolo remains the default approval posture for admitted trusted runs, but is not treated as a trust boundary.
  • Normalization and hostile-content screening may reduce exposure or hold work; they never establish that natural-language input is safe.
  • Trusted repositories may retain unattended auto-complete when GitHub required checks and independent server-side controls enforce it.
  • Public issues must remain disclosure-safe and must not contain private reproduction details.

Non-goals

  • Inventing a Squad-specific sandbox or policy language.
  • Treating prompt wording or sanitization as the sole security boundary.
  • Claiming coverage for Copilot, Agency, or MCP paths before it is verified.

Completion criteria

  • Trigger provenance is enforced before unattended execution.
  • Privileged execution is bound to an immutable snapshot.
  • Protected modes stop rather than silently weakening their guarantees.
  • Lifecycle modes and trusted auto-complete gates are explicit and testable.
  • Adversarial regression coverage and operator diagnostics are available.

Implementation issues are attached as sub-issues.

Metadata

Metadata

Assignees

Labels

type:epicParent issue that decomposes into sub-issueswave1:P6Wave 1 PR group P6wave:1-nextWave 1 — immediate next sprint

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions