Skip to content

F2.1b — Extract the shared ProjectFile schema boundary #266

Description

@Flow-Fly

Parent: #133. Grandparent: #132 / #72. Depends on: #270.

Goal

Create a shared, runtime-validatable ProjectFile contract that the existing client and future server can consume without moving the client or changing editor behavior.

Scope

  • Add the owner-approved shared/ workspace from the ADR.
  • Move or expose project schema types, version constants, and runtime validation there.
  • Preserve existing client imports through small compatibility re-exports.
  • Add round-trip and invalid-payload tests at the shared boundary.
  • Keep current v4 migration behavior intact.

Out of scope

  • No server process, database, object storage, auth, sync, or deployment.
  • No broad client import rewrite.
  • No new project format version unless a real schema change requires one and receives separate approval.

Acceptance

  • The client builds and tests against the shared contract without behavior changes.
  • A future server can validate a complete ProjectFile without importing client-only modules.
  • Existing v4 files still load and round-trip.

Risk and routing

Risk: medium until the ADR and a fresh code audit are complete.
Worker-ready: no.
Review need: careful schema and migration review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentic-taskChild issue intended for agent implementationnot-ready-for-agentQueued or blocked; not currently safe for autonomous implementationrisk:mediumMedium-risk work touching shared behavior, architecture, or broader designtype:refactorRefactoring without intended behavior change

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions