Skip to content

[FLO-13.4c] Prove authority, duplicate-effect prevention, and recovery residuals #66

Description

@szmyty

Implementation ready for review in PR #69. Keep #66 and #31 open until maintainer merge; the PR closes both.

Parent: #31
Suite roadmap: #11
Depends on: #64 and #65

Outcome

Finish #31 by proving authority precedes effects, completed work is not silently duplicated, and interrupted/failed cleanup leaves honest inspectable residual evidence.

Acceptance criteria

Boundaries

Use the existing durable models and checkpoint 1 assessment API. No real publishing, signing, upload, payment, provider-local checkpoint algorithms, or general automatic recovery scheduler. Any additional production seam must be bounded and documented before implementation.

Implementation and validation — 2026-09-26

Fifteen counter-backed recipes extend the corpus to 49: seven authority-denial categories, completed reuse, stale authority, explicit failed/interrupted recovery, recovery-decision replay, abandonment, and cancelled/failed partial cleanup. Runtime APIs and schemas are unchanged.

Evidence: immutable lifecycle guide, 49-recipe catalog, and local validation record.

Rust 1.85 passed all targets, including all 81 acceptance recipes and 49 lifecycle recipes twice each. Stable Rust passed the 49 lifecycle recipes twice. Focused Clippy, formatting, documentation tests, contract/repository validators, and negative report checks passed. Hosted CI and macOS/Windows results were not checked or awaited, per the maintainer's 2026-09-26 instruction.

The counter proves no silent relaunch of accepted work. Explicitly acknowledged uncertain retries can repeat an effect; the fixture demonstrates that boundary. Upload uses network permission, paid-service use uses AI-provider permission, and cleanup is synthetic provider behavior. No real external actions, automatic cleanup, sandbox enforcement, or exactly-once claim is introduced.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions