Skip to content

Project Runtime read model and thin Canvas resource shells #123

Description

@aimeritething

Parent

#122

What to build

Build the first end-to-end Project Runtime path for Project Canvas resources. The Project Runtime should commit existing resource fetch results into app-owned read-side facts for AP, DB, AP Public Access Node, and template-native workload presentation, then render those resources through thin ReactFlow shell nodes and per-node model selectors instead of fat Canvas node data.

This slice should establish the clean-cut runtime boundary and record the architectural decision that Project Runtime owns read-side facts, Canvas generates thin shell nodes, Settings uses exact resource hooks, and launch context is session-local. A completed slice should let Project Canvas render the main resource cards from runtime-backed models while preserving stable Canvas Resource Identity and Canvas Placement Owner semantics.

Acceptance criteria

  • A Project Runtime boundary exists with a project-scoped store and commit path for AP, DB, AP Public Access Node, and template-native workload facts.
  • Resource facts are app-owned read-side types and do not store raw resources, editable claim payloads, ReactFlow nodes, callbacks, Canvas Layout positions, Settings Draft state, or shared UI node prop objects.
  • Template-native workloads are modeled separately from AP facts and do not receive AP Settings Owner, AP lifecycle, or AP Public Access semantics.
  • ReactFlow resource shell nodes are generated directly from Project Runtime and contain only stable lookup keys needed for runtime model lookup and Canvas Placement Owner lookup.
  • AP, DB, AP Public Access Node, and template-native workload node views render from per-node runtime models adapted to shared UI component props.
  • Parser and commit tests cover AP, DB, AP Public Access Node, and template-native workload facts.
  • Update-scope tests prove that changing one AP, DB, or AP Public Access fact updates only the affected model and does not rebuild unchanged shell topology.
  • An ADR records the clean-cut Project Runtime decision and the rejection of the legacy fat Node array compatibility path.

Blocked by

None - can start immediately

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified and ready for an agent to implement

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions