Skip to content

Enforce headless decisions with a versioned migration contract #23

Open

Description

@egdev6

Goal

Make headless runs fail closed when a decision is missing (no foreign writes), using an approved, explicit migration and compatibility contract; any intentional breaking change requires a versioned schema and SemVer review.

Observations

  • A newly required intent conflicts with absolute CLI backward compatibility.
  • Any intentional break needs an approved versioned schema, migration, and SemVer decision; a breaking release has not yet been selected.
  • Old syntax must not be preserved by bypassing the new gate.

Decision gate

Approve the schema, compatibility, migration, and SemVer plan before implementing any intentional break.

Acceptance criteria

  • A missing headless decision performs no writes to foreign resources.
  • Any intentional break ships only with an approved versioned schema, migration, and SemVer decision.
  • The CLI does not preserve old syntax by bypassing the new gate.
  • The failure is explicit with a non-zero exit and a clear reason.

Verification

  • Headless run without a decision -> non-zero exit, zero writes.
  • Schema migration fixture -> the old plan migrates under the approved version, not by bypass.

Release checkpoint

Remaining risk: any chosen break must be communicated with the reviewed version change.

Tracking

Roadmap item: B04-02. All acceptance criteria remain pending; publication does not grant approval or release authority.

Dependencies

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

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions