Skip to content

Require ratified adoption evidence before classifying a project as adopted or retired #28

Description

@HLLMR

Observed behavior

Against a clean external pilot produced by the published v0.9.3 coordinator, the lifecycle classifier returned success with
etired_lockout even though the project adoption package was still draft and unratified. The target remained byte-clean.

The tree contained the ordinary planning/state/routing files, an explicitly draft adoption decision, a separate ratified record unrelated to Writwall adoption, closed work-order history, and no active pointer. The classifier inferred lifecycle state from file existence and closed history rather than verifying that the adoption authority itself was ratified.

Why this matters

A draft bootstrap can be mistaken for a governed, retired project. That sends the human and the next agent down the wrong recovery path and bypasses the intended Architect-to-Owner ratification boundary.

Required behavior

  • Classify an adopted or retired project only from a valid, ratified Writwall adoption record.
  • Treat draft, proposed, unsigned, contradictory, or malformed adoption evidence as partial/recovery state or fail closed with a specific diagnostic.
  • Do not let unrelated ratified decisions satisfy the adoption condition.
  • Preserve backwards-compatible behavior for genuinely new, partially bootstrapped, actively governed, adopted-lockout, and retired-lockout projects.
  • Add regression tests reproducing the observed false
    etired_lockout result without embedding any external-project identity or paths.

Evidence boundary

This issue is sanitized. It contains no external-project name, host path, private content, secrets, or other-project records.

Activity

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions