feat: the observe beat — chant reads the carved resource live while Terraform still owns it (#254, chant#1647) - #308
Merged
Merged
Conversation
…erraform still owns it (#254, chant#1647) After Emit on the --live tier, "▶ watch chant read it live" runs `chant lifecycle diff prod --live --json` in the carveout with AWS_ENDPOINT_URL pointed at the scratch Floci. The carved bucket reads observed — EXTERNAL, ownership foreign — which is the walkthrough's claim made checkable: live, outside every stack, still Terraform's. Read-only, live tier only, refuses before Emit. The deferral text drops everywhere it lived (README, carve.mdx, the Advise step's live note, the cli/carve-live headers). example-carve/app floors chant at ^0.44.12: the identity read path landed in 0.44.10 (chant#1684) but its ListResources fallback (chant#1695) — the path the emulator actually takes — first published in 0.44.12. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rfs1mLVWmwginHnDTg75sG
lex00
added a commit
that referenced
this pull request
Aug 30, 2026
…through a bounded pool (#310) Since 0.10.1: the carve walkthrough's last deferred beat (#308 — chant reads the carved resource live while Terraform still owns it, chant#1647), the estate-wide drift poll and source watcher (#303), the OCI HelmRepository progressing fix (#302), the estate grid layout (#304), the 0.44.12 IR fixture (#305), and the bounded member-read pool (#306). Claude-Session: https://claude.ai/code/session_01Rfs1mLVWmwginHnDTg75sG Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This was referenced Aug 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The last deferred beat of the carve walkthrough's live tier. After Emit, "▶ watch chant read it live" runs
chant lifecycle diff prod --live --jsonin the carveout withAWS_ENDPOINT_URLpointed at the scratch Floci. The carved bucket reads observed —EXTERNAL, ownershipforeign— which is the walkthrough's claim made checkable: live, outside every stack, still Terraform's.runCarveObserve(src/carve-actions.ts): live tier only, refuses before Emit, read-only. The verdict is chant's, never invented here —observed/unobserved(a hole in the read is not a verdict about the resource) /missing(one honest local cause: a demo-copy chant predating the identity read path).POST /api/carve/observewith the same select discipline as emit/bridge.Version floor: the identity read path landed in chant 0.44.10 (chant#1684), but its ListResources fallback (chant#1695) — the path the emulator actually takes — first published in 0.44.12 (the 0.44.11 tag never reached npm). main already floors example-carve at ^0.44.12, so the pin needed no change; the in-text references say ≥ 0.44.12.
Tests: fake-chant coverage for the three verdicts + refusals (src/carve-actions.test.ts), observeSummary verdict lines (web/carve-steps.test.js). Full suite: 61 files, 1035 tests, green; tsc clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Rfs1mLVWmwginHnDTg75sG