FountainImagePublicationKit.git · PLANS.md
FountainImagePublicationKit.git / PLANS.md
revision 55cf5e871e396bf2e0974a433a1db76126595d7e · complete file
# Plans ## Phase 0/1 — public package and core contracts (2026-08-13) Goal: establish the standalone FCIS-Kit repository and dependency-light contracts before transport, server, or Reframe integration. Non-goals: iCloud/PhotoKit publication, local image authority, server deployment, OpenAI calls, image bytes in source, and Reframe UI changes. Acceptance: clean SwiftPM build, focused Codable/decision tests, cross-platform Foundation-compatible core, no private data fixtures, and README claims that clearly distinguish this tranche from later runtime capabilities. ## Phase 2 — typed client/server seam (2026-08-13) Goal: prove content-addressed intake, idempotency, status, and typed receipts without choosing production storage or server framework. Acceptance: the in-memory server and client share the same transport contract; duplicate intake returns the same receipt; a reused idempotency key with another content hash fails; status is recoverable by asset reference; no image bytes enter logs or repository fixtures. ## Phase 3 — durable host storage (2026-08-13) Goal: add a migratable content-addressed filesystem adapter and persist receipts/state independently of one server process. Acceptance: a second `ImageCloudServer` instance using the same explicitly configured root recovers the original intake receipt and status; writes are atomic and hash conflicts fail; the adapter remains behind `ImageCloudObjectStore`.