Skip to content

carve walkthrough: behold demo carve — the recordable peel-advise → carve experience (#230 M1.5) #254

Description

@lex00

M1.5 of #230 — the recordable carve walkthrough. Goal: one command → a video-grade guided flow showing peel-advise → carve, honest about the human steps. Builds on #252's carve lens (report → graph, bands, predicted diff).

behold demo carve: a bundled Terraform mini-estate in the demo catalog (sample-estate shape: VPC, subnets, bucket, lambda, log group, a random_pet scoring 0 — all text, plus a synthetic .tfstate). Demo boot installs @cdktf/hcl2json in the demo copy and runs chant carve advise --json via a project-local chant. No cloud, no Docker.

The stepper (palette tab or inspect-pane flow), with behold running the SAFE steps as local actions with dial progress — precedent: /api/apply's step runs, substrate bring-up, local CI dispatch:

  1. Advise — the scored graph, one-line band explanations.
  2. Pick — click a green leaf; score arithmetic + the predicted diff (cut edges + survivors needing patches) light up (carve lens M1: behold carve <report.json> — render the peelability report (#230) #252's machinery).
  3. Emit — button runs carve emit --state (writes only the output dir); emitted chant source appears; chant lint gate shown green.
  4. Bridge — button runs carve bridge (NO --apply-rewrites); the proposed TF patch renders as a reconcile-style change set.
  5. Handoff — the runbook rendered with copy buttons (terraform state rm, terraform plan, apply rewrites). Deliberately NOT a button: the destructive middle stays human, and the UI says why.
  6. Morph — post-handoff (user clicks "I ran it" / behold detects the emitted project), the resource's box transitions from the TF boundary into the chant project box at observe position. Pinhole's frame-sequence morph is the mechanism.

End card: "chant-owned, observe position — terraform import reverses everything."

Boundaries: behold gains local-only carve action endpoints (advise/emit/bridge) — no cloud writes, no TF mutation, same delegated-local-run contract as the existing action endpoints; document in AGENTS.md. The walkthrough state (current step, picked resource) is client-side only.

Acceptance

  • behold demo carve → browser → complete the six steps on camera without touching a terminal except the handoff step's two copy-pasted commands.
  • Every step's UI state is reachable by test: route tests for the action endpoints (emit/bridge run against the demo fixture in a temp copy), smoke assertions for the stepper states, a morph-frame test.
  • Nothing mutates the demo source in place; re-running the demo resets clean.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions