Skip to content

Project metadata operations

The Project create/rename slice extends the existing Protocol → SDK → Node → CLI boundary. It does not add a renderer mutation path or an alternate database.

CLI commands accept bounded protocol-shaped JSON through --input-stdin. Each is one two-phase command: --input-stdin --dry-run previews and --confirm-stdin confirms the preview piped back:

  • maia project create
  • maia project rename

Use the preview result and exact confirmation input required by the public SDK schemas. Confirmation does not infer a target, revision or authorization from a name. Retain the same command identity when reconciling an unknown outcome; creating another command is not recovery.

contract/project-metadata.ts and storage/project-metadata-store.ts own the stored preview and mutation boundary. Migration 36 precedes the recorded Interaction tables in migration 37; neither migration rewrites existing IDs or replaces a runtime database. Production or default-profile migration is not part of the isolated test and publication workflow.

Colocated store/application tests, dispatcher tests, public SDK/CLI contract tests and the disposable built CLI fixture cover this slice. These checks do not grant release qualification, multi-user authority or permission to migrate a live Node.

Imported from Maia OS docs at a2175bb