Demo dry-run: rehearsed runbook for the one-hour live terminal demo - #40
Open
Hafeok wants to merge 8 commits into
Open
Demo dry-run: rehearsed runbook for the one-hour live terminal demo#40Hafeok wants to merge 8 commits into
Hafeok wants to merge 8 commits into
Conversation
Five beats executed end to end against the real stores, with pasted output and measured timings: the interceptor rejection, the signed declaration and its reuse refusal, the out-of-band bypass catch, the acceptance refusal under a model identity, and the governance-chain lookup. Reports rather than repairs the two findings that change the demo: the Rust path costs 17-54s against 0.05s for the hostless HTML/CSS path (and its one-shot invocation returns a third "loading" status rather than failing), and the aggregate-range form of diff-contracts marks a correctly declared change undischarged once an unsigned commit lands after it. No source, test or config changed. No acceptances filed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqA8geFhRv2YkJQ96Ca4fE
The reset was re-verified after tagging demo-base at the runbook commit: tree polluted as a rehearsal leaves it, reset, beat 1 re-run clean in 0.052s. Content hashes reproduced byte-identically across rehearsals. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqA8geFhRv2YkJQ96Ca4fE
Beat 5 becomes one read-only pass through the product flow on the acme product: enumeration and conformance, the Decider signature derived from the event model, the un-authored/authored simulate contrast, the How, and the computed gate status a deliverable is judged by. 0.147s across nine commands, tree clean. The seam between the two flows is stated from the flows' own behaviour: ddd what already classifies the product store's What boundaries, and that is the only mechanical join today. The design note the brief referenced is not in this repository, which the section says. Four new findings reported and not fixed, the largest being that the build context never loads the How for any product: load_how() resolves only the legacy layouts and reads the default product name rather than --product. The swamp content survives as an optional Q&A card, out of the sequence. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqA8geFhRv2YkJQ96Ca4fE
…es not do Reported from a WSL Ubuntu 24 run as "the python change isn't doing anything". Two things, one of them a real defect in the runbook. The staging step deliberately leaves the governed file byte-identical -- it writes candidate files under /tmp, and beat 1 is the interceptor refusing to let a candidate land. An unchanged repo file is the demo working, which the runbook never said. The defect: str.replace returns the string unchanged when the pattern is absent, with no error and no exit code, so an un-reset tree or a drifted stylesheet produced a candidate identical to the source and the beat quietly did nothing. Replaced with docs/demo/stage-beat1.sh, which asserts the anchor is present, asserts the token is not already there, pre-checks for a dirty parent, and exits non-zero with the fix. The heredoc form also drops the escaped newline the old one-liner carried inside a double-quoted shell string. CRLF line endings were tested and ruled out as a cause. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqA8geFhRv2YkJQ96Ca4fE
The old guard only asked whether docs/demo existed at the tag. A tag that predated a newly added script therefore passed, and the reset silently deleted that script -- F7 recurring. Compare the tag against HEAD over the demo paths, and refuse on uncommitted demo edits too.
F14 (new): the pre-flight's ddd render leaves .ddd/render.html untracked, so step 5c's 'git status --short' prints a stray line under the exact claim that it prints nothing. Scope it to .product/ and reorder the pre-flight. F7 recurred and the guard missed it -- record the currency fix. F13's 40x timing claim did not reproduce (0.041s vs 0.040s); keep the line-count reason, drop the number. Also: 5b's block was pasted 4 lines short, 2d used tail -8 for a 7-line block, 5f used tail -12 for a 10-line one, the 2a binding hash moves with HEAD, 222 entries reads 223 after beat 2a, and the 30 declarations is M8-scoped rather than whole-store.
Warming means really running the 1a rejection, so it logs a seam-event row -- the script therefore runs BEFORE reset.sh in the pre-flight, and says so. Re-measured: 30.8s cold, 16.0-21.7s warm. The on-disk index survives reset.sh (target/ is untouched), but it does NOT rescue the one-shot mcp-call.sh, which still returns status:loading in 0.099s with a fully warm index -- so F1's two-script split is absolute, not a warmup artifact.
Headings re-read from a clean pre-flight render: 63 declarations, 46 interception rows. The 64/49 figure was captured mid-rehearsal with the demo's own declaration in the store -- same pre-demo/mid-demo split already noted for the entry count in 6a.
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.
Five beats executed end to end against the real stores, with pasted output
and measured timings: the interceptor rejection, the signed declaration and
its reuse refusal, the out-of-band bypass catch, the acceptance refusal
under a model identity, and the governance-chain lookup.
Reports rather than repairs the two findings that change the demo: the Rust
path costs 17-54s against 0.05s for the hostless HTML/CSS path (and its
one-shot invocation returns a third "loading" status rather than failing),
and the aggregate-range form of diff-contracts marks a correctly declared
change undischarged once an unsigned commit lands after it.
No source, test or config changed. No acceptances filed.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01VqA8geFhRv2YkJQ96Ca4fE