Skip to content

feat: behold demo carve --live — the Floci tier (#254) - #286

Merged
lex00 merged 1 commit into
mainfrom
feat/carve-live
Aug 10, 2026
Merged

feat: behold demo carve --live — the Floci tier (#254)#286
lex00 merged 1 commit into
mainfrom
feat/carve-live

Conversation

@lex00

@lex00 lex00 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

The first beat of #254's next-beats queue: the live tier, scoped to what is true today.

What it does. behold demo carve --live (docker + terraform on PATH, refused otherwise):

  • boots a scratch Floci — behold-carve-floci, its own :4602, floci/floci:1.5.34 (chant's pin), refuse-if-exists, deleted by the server's shutdown hook on SIGINT/SIGTERM (the standing scratch discipline; never an existing floci*/chant-floci, never :4566);
  • arms floci-override.tf.disabled into the demo copy (armOverride rewrites every endpoint to the scratch port), drops the synthetic tfstate, and terraform apply -targets the starred resources — so the tfstate the advisor reads was written by terraform, not shipped;
  • surfaces the tier on /api/project (carve.demo.live), the Advise step, and the boot banner;
  • adds POST /api/carve/plan and a read-only ▶ terraform plan button at Handoff. -detailed-exitcode is the contract: 0/2 are verdicts (noDestroy is the claim the tier exists to film), anything else is a refusal carrying terraform's tail — a plan that couldn't refresh has no standing to say nothing gets destroyed.

What it deliberately doesn't do. The observe beat (lifecycle diff --live reading the bucket clean while Terraform owns it) is unimplementable today — chant's AWS observe is CFN-stack-scoped by logical id. Filed as chant#1647; the Advise step and both READMEs say so instead of pretending.

Live-fails-fast. A --live boot that can't boot Floci or apply refuses and exits; it never silently degrades to synthetic state, because the tier's one claim would then be a lie.

Verified end to end on this machine: boot → apply → advise (same bands as committed: 2/4/6) → No changes. plan while serving → emit + lint green → SIGINT → container gone, process exited.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UXwApfRA4Pvoou5Ajj8qHV

Scratch Floci (behold-carve-floci, :4602, refuse-if-exists, torn down by the
server's own shutdown hook), the starred resources terraform-applied into it
via the armed override, the advisor reading a tfstate terraform wrote, and a
read-only terraform plan button at Handoff whose verdict line is the beat: 0
to destroy. Plan exit codes other than 0/2 come back as refusals, never
dressed as verdicts. The observe beat stays deferred on chant#1647.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UXwApfRA4Pvoou5Ajj8qHV
@lex00
lex00 merged commit 3b090b5 into main Aug 10, 2026
3 checks passed
@lex00
lex00 deleted the feat/carve-live branch August 10, 2026 16:30
lex00 added a commit that referenced this pull request Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant