Skip to content
StatusContactDeveloper previewSign in

Quickstart

Build and validate a blueprint

A blueprint compiles, runs in an isolated test tenant, and is ready to promote.

preview30 minadvancedEnvironment: testContract >=0.8 <1.0

What you will build

A versioned blueprint: the definition of how sessions behave (artifact types, workflow states, commands, policies, renderers). Behavior is pinned to the version; promotion is deliberate.

Architecture preview

Validate and compile before promoting. A blueprint runs in an isolated test tenant first; incompatible versions are rejected rather than partially applied.

Prerequisites

  • A test tenant
  • Familiarity with sessions, artifacts, and policies

Steps

  1. Define the blueprint

    Declare artifact types, states, commands, policies, and renderer IDs. This is illustrative; keep the schema minimal to start.

    json
    {
      "id": "governed-artifact",
      "version": "0.9.0-rc.1",
      "artifact_types": ["brief"],
      "states": ["draft", "in_review", "approved"],
      "commands": ["artifact.create_revision", "artifact.deliver"],
      "policies": [{ "command": "artifact.deliver", "requires": ["approval", "evidence>=3"] }],
      "renderers": ["brief.default"]
    }
  2. Validate and compile

    Submit the blueprint for validation and compilation. Compatibility errors are reported before promotion.

    bashwrites data
    curl --request POST \
      --url "$CRESCEVO_BASE_URL/v1/blueprints/compile" \
      --header "Authorization: Bearer $CRESCEVO_API_KEY" \
      --header "Content-Type: application/json" \
      --data @blueprint.json
    Expected response
    { "blueprint": "governed-artifact", "version": "0.9.0-rc.1", "compiled": true }
  3. Run it in a test tenant

    Create a session against the candidate version in a test tenant and confirm its legal actions match your states and commands.

    bashwrites data
    curl --request POST \
      --url "$CRESCEVO_BASE_URL/v1/sessions" \
      --header "Authorization: Bearer $CRESCEVO_API_KEY" \
      --header "Content-Type: application/json" \
      --data '{ "tenant_id": "tenant_test", "environment": "test", "blueprint": { "id": "governed-artifact", "version": "0.9.0-rc.1" }, "objective": "Validate the candidate blueprint." }'

Verify success

  • The blueprint compiles with no compatibility errors.
  • A session against the candidate version returns the expected legal actions.
  • The candidate is ready to promote (promotion is a separate, authorized step).

Clean up

Test-tenant sessions and candidate versions expire automatically; reset the fixture to start over.

Next: Read the blueprint promotion pattern →

Start building on Crescevo.