Agents are replaceable. Their memory shouldn't be—and when two disagree, memory should say so.
Build the final cut around three verbs: ASK, DISAGREE, and SURVIVE. ASK shows the current conflict-first public interface. DISAGREE proves the typed A → B → C → B decision, action, conflict, and cited-escalation chain. SURVIVE proves that the cited memory remained recallable after the complete Fargate serving-task set changed. End with a short local-first-to-fleet coda; OSTK is an optional adapter, not an install or runtime requirement.
Neither the sanitized rehearsal nor a standalone-only local capture is the final hackathon video. The official rules require an AWS-deployed project; the video must show it functioning and the CockroachDB memory layer at work. Film the current public demo, then show reviewed excerpts of the verified reference-agent and replacement receipts and the representative query plans. Keep every local/cloud provenance label visible so one segment cannot be mistaken for another.
The public conflict-first UI is the current revision-10 deployment at source
commit 56b577c82b9c5a5c80d73103f7f6b56d51698872, with the 552-row rich seed.
Its accepted observations are route-level read-only only: neither the browser
capture nor the historical status response attests the deployed database
principal or grants. Do not call the current checked-in PUBLIC-03 role matrix
deployed.
The correlated four-task agent and fully disjoint replacement receipts are
verified historical revision-6 evidence from run
devpost-final6-20260814T143523Z; they were not rerun for revision 10. The
seven-query public-relevance receipt is historical revision-7 evidence and
was not regenerated for revision 10. Do not cut
the two sources together in a way that implies one revision or one continuous
live take.
Target 2:40, leaving a 20-second safety margin under the practical three-minute
limit for transitions or platform encoding. Record at 1600×900 or better, keep
the browser at a readable zoom, and hold every receipt view long enough to read
the relevant verified, run, task-definition revision, citation, and
persistence fields.
Use these exact two-line provenance cards. Do not abbreviate away the revision or source boundary:
LIVE PUBLIC DEMO · AWS + COCKROACHDB CLOUD · CURRENT REVISION 10 UI
552-ROW RICH SEED · READ-ONLY ROUTES · DB GRANTS NOT ATTESTED
VERIFIED CLOUD AGENT RECEIPT · AWS FARGATE + COCKROACHDB CLOUD
HISTORICAL REVISION 6 · RUN devpost-final6-20260814T143523Z
VERIFIED CLOUD REPLACEMENT RECEIPT · AWS FARGATE + COCKROACHDB CLOUD
HISTORICAL REVISION 6 · RUN devpost-final6-20260814T143523Z
PUBLICATION-SAFE COCKROACHDB CLOUD EXPLAIN · DISPOSABLE FIXTURE
PRODUCTION DATABASE UNTOUCHED
DESIGN CODA · LOCAL-FIRST RECALL → COCKROACHDB FLEET RECALL
ANY MCP CLIENT · OSTK OPTIONAL, NOT REQUIRED
Show the product name over the public URL, then say the thesis verbatim: “Agents are replaceable. Their memory shouldn't be—and when two disagree, memory should say so.” Cut directly to the live browser; do not spend the opening on architecture.
Show https://d13zrqfh66r7ub.cloudfront.net with the live-public-demo label.
Keep the /api/status chip in frame, submit the default conflict question, and
pause on the rendered answer: the open-conflict callout first, then two or
three readable memory cards with their claim or source coordinates. Follow a
linked repository path only if that row is present in the deployed corpus; do
not describe a plain claim ID as a file citation. Point out “fused in …ms” as
server recall time and “round trip …ms” as browser-to-cloud time. These
are different measurements. Do not call RRF rank artifacts confidence scores.
Final desktop and 390px mobile QA verified safe inline Markdown, immutable exact
source-revision #Lx-Ly links, a relative repository link rendered as a
code-styled anchor, and no horizontal overflow. The seven-query smoke gate also
passed against the live endpoint. The
checked-in
historical revision-7 public relevance receipt
records the expected conflict and no-conflict query behavior for rehearsal;
run the questions again immediately before recording rather than substituting
that prior-release receipt for live footage.
Narrate: “This current AWS demo exposes only read routes and is backed by CockroachDB Cloud. I can ask in normal language and get readable, cited memories—not a wall of JSON. This browser evidence does not attest its database grant matrix. When retrieved evidence leads to an open typed disagreement, the memory shows both sides and requires operator review instead of silently choosing a winner.” Leave “View raw evidence envelope” collapsed until the cards are understood; a brief expansion can establish the bounded raw evidence, but it must not become the interface.
End the act with a short, legible cutaway to
evidence/cockroach-cloud-explain.txt
under the publication-safe EXPLAIN label. Say only that the separately captured
fixture plans selected the scoped vector and lexical indexes; index-ready
status and RRF diagnostics alone do not prove physical plan selection.
Show the reviewed reference-agent receipt projection below with the verified
cloud-agent label. Hold the agents, step sequence, memory, and actions
fields in view. The exact chain is:
- Agent A records migration decision claim 15: “single dedicated migrator.”
- Agent B recalls it through lexical+dense RRF and records action claim 16, citing claim 15.
- Agent C records “every worker migrates independently” as incompatible claim 17 under the same typed migration-strategy key, opening conflict 5.
- The same bound B identity records escalation claim 18, “pause rollout for operator review,” citing conflict 5.
Narrate: “These were four separately bound Fargate tasks over one CockroachDB memory plane. A and C made incompatible current claims under the same typed key. Fleet Recall preserved both, opened conflict 5, and B persisted an operator handoff that cites that conflict.” This is precise typed, same-key, current-interval conflict detection—not a claim of corpus-wide natural-language contradiction detection or LLM reasoning.
Switch to the reviewed replacement receipt projection under the verified cloud
replacement label. Keep task_definition, before, after, and persistence
visible. Narrate: “This historical revision-6 proof forced a new ECS deployment.
The before and after task sets were fully disjoint, while desired capacity
stayed one. Exact action and escalation claims 16 and 18 were recalled both before
and after through lexical+dense RRF. The workers were replaceable; CockroachDB
remained the memory source of truth.” Explicitly say this receipt is historical
revision-6 evidence, separate from the current revision-10 UI.
Show the storage boundary in ARCHITECTURE.md or the public
repository landing page under the design-coda label. Narrate: “Recall stays
local-first for one agent. When agents need to share memory across processes
and hosts, the same small MCP contract can use CockroachDB as a durable fleet
plane. It works with any MCP client; OSTK is optional, not required.” Do not
show or imply an OSTK run unless separately authorized and labeled as described
below.
Return to the public endpoint and repository URL. Close with: “Local Recall for one agent; CockroachDB Fleet Recall when the whole fleet has to remember—and disagree—together.”
Validate the correlated operator-held receipts off camera before recording. The verifier's output is validation-only and is not a substitute for the two live-cloud receipts:
REFERENCE_RECEIPT=target/aws-evidence/reference-agent-devpost-final6-20260814T143523Z.json
REPLACEMENT_RECEIPT=target/aws-evidence/replacement-devpost-final6-20260814T143523Z.json
./deploy/aws/verify-publication-receipts.sh \
"$REFERENCE_RECEIPT" "$REPLACEMENT_RECEIPT" >/dev/nullFor DISAGREE, project only the correlation fields. This deliberately omits task IDs and log-stream coordinates:
jq '{
schema, verified, deployment, run_id, agents,
task_definition: .aws.task_definition,
steps: [.aws.tasks[] | {step, agent}],
memory, actions,
public_verification: {
health: .public_demo.health,
exact_claim_ids_observed: .public_demo.exact_claim_ids_observed,
retrieval_lanes: .public_demo.retrieval_lanes,
fusion: .public_demo.fusion
}
}' "$REFERENCE_RECEIPT"For SURVIVE, show the bounded replacement and persistence fields without the before/after task identifiers:
jq '{
schema, verified, deployment, run_id,
task_definition: .aws.task_definition,
replacement_strategy: .aws.replacement_strategy,
desired_count_before: .aws.desired_count_before,
desired_count_after: .aws.desired_count_after,
before: .public_demo.before,
after: .public_demo.after,
persistence
}' "$REPLACEMENT_RECEIPT"Review even these projections frame by frame before publication. The chosen run ID, project/service names, public URL, and any visible terminal or browser chrome still require human approval.
The final cut can use a real four-pane tmux sequence instead of edited terminal screenshots. Agent A writes durable memory, Agent B retrieves it and takes a cited action, Agent C creates an incompatible decision, and the same B identity resumes to pause and escalate. A narrow fifth pane keeps CockroachDB, retrieval, provenance, and scenario state visible throughout.
Fleet Recall has two first-class recording modes that require no OSTK, agent orchestrator, LLM, model API, or cloud account. A third, explicitly optional mode can render an already verified OSTK adapter run. Local or rehearsal clips are supporting footage for DISAGREE; they never replace the live-cloud proof.
This is the primary live local source-footage path. It is not AWS evidence.
The full current LocalStack PUBLIC-03 smoke already passed from clean commit
cd6ecfca2c1a6d112ba058aad899a21aa34bb0f4; its accepted
receipt binds prefix
1–17, the exact production image, reader-only status/recall, writer denial,
replacement persistence, and zero residue. It also explicitly proves no TLS,
database-password authentication, IAM enforcement, Fargate, or AWS apply.
For a fresh recording, start the local smoke environment and leave it running:
KEEP_LOCALSTACK=1 ./deploy/localstack/smoke.shThen run a new three-identity scenario, atomically capture its verified JSON, and render it:
./demo/video/capture-fleet.sh devpost-live
./demo/video/render.sh --fleet-live devpost-live
open demo/video/generated/fleet-live.mp4capture-fleet.sh talks directly to three separately deployment-bound Fleet
Recall MCP processes. It makes no OSTK or LLM call. Its evidence is written to
target/fleet-demo/<run-id>/final.json only after the scenario and the video
contract both pass. It atomically claims a new run directory and refuses unsafe
run IDs, symlinked paths, and any existing run destination; concurrent,
successful, or interrupted captures therefore cannot overwrite evidence.
The contract proves the complete displayed story: Agent A's commit and exact
idempotent replay, B's lexical+dense RRF hit and cross-project rejection, B's
persisted action citing A, C's incompatible claim, the exact open two-member
conflict, and B's persisted escalation citing that conflict. The generated
footer reads LOCAL LIVE MCP EVIDENCE · local CockroachDB run <run-id> · NO
AWS/CLOUD · no OSTK/LLM. Do not crop it.
For an interactive preview instead of an MP4:
./demo/video/run.sh --fleet-live devpost-liveThe default tape reads checked-in, sanitized evidence from
docs/evidence/local-fleet-scenario.json. It does not start services, launch
OSTK agents, call a model, access cloud resources, read .env, or print
credentials. The generated footer reads REHEARSAL · sanitized evidence · no
cloud/LLM calls and must remain visible. Never describe it as a fresh run.
./demo/video/tests/run.sh
./demo/video/render.sh --rehearsal
open demo/video/generated/rehearsal.mp4The generated directory is intentionally ignored. The 1600×900 MP4 is a 16:9 source suitable for narration, a Devpost edit, or direct upload. The terminal sequence is about 46 seconds, leaving ample room within the three-minute limit for a title, architecture explanation, and deployment proof.
For a quick interactive preview:
./demo/video/run.sh --rehearsalThe runner detaches automatically after the final evidence card. Use tmux's
normal Ctrl-b d binding to leave earlier.
OSTK is not part of either mode above. If an explicitly authorized, potentially
billable adapter run has already been completed and verified according to
docs/OSTK_DEMO.md, its evidence can be rendered from:
target/ostk-demo/<run-id>/final.json
Use the deliberately explicit flag:
./demo/video/render.sh --ostk-live '<run-id>'
open demo/video/generated/ostk-live.mp4--ostk-live only renders existing JSON; it does not launch OSTK or make a
model call. It rejects missing evidence, unsafe run IDs, the wrong OSTK
version, unverified summaries, missing retrieval lanes, broken citations, and
non-LocalStack action receipts. The generated footer reads OPTIONAL OSTK
EVIDENCE · verified 7.7.7 run <run-id>. The ambiguous old --live spelling
is intentionally unsupported, so an OSTK artifact cannot accidentally become
the default live path.
The optional OSTK summary proves the initial commit but does not include the deterministic retry receipt. Its Agent A pane therefore says replay is not asserted. It likewise labels scope injection as a separate deterministic gate instead of borrowing either claim from the standalone evidence.
If the final DISAGREE act includes local terminal footage, keep its local or rehearsal provenance footer continuously visible and use this bounded narration. Do not imply that the clip came from AWS:
- “This is a fresh standalone Fleet Recall run—three independently bound MCP identities, local CockroachDB underneath, and no AWS, OSTK, or LLM required.”
- “Agent A commits a migration decision. An identical retry resolves to the same claim, so fleet retries do not duplicate memory.”
- “Agent B asks with different wording. CockroachDB combines lexical and C-SPANN vector lanes with reciprocal-rank fusion, then B persists an action citing the retrieved claim.”
- “Agent C writes an incompatible value under the same typed key. Fleet Recall preserves both claims and opens a conflict instead of silently overwriting one agent's memory.”
- “The same B identity resumes, recalls the disputed claims, and pauses the rollout for operator review with a conflict citation.”
The footer calls stateless application replacement a separate smoke gate.
Scenario evidence proves the memory/action/conflict chain;
deploy/localstack/smoke.sh separately checks S3 model delivery, Secrets
Manager, the production image's reader/writer boundary, and recall after
replacing the application container. That local result must retain its
no-TLS/password/IAM/Fargate/AWS limitations in any caption or narration.
vhs validate 'demo/video/*.tape'parses all three tapes without launching them.demo/video/tests/run.shvalidates shell syntax and both evidence schemas, exercises all three modes through the real tmux layout at accelerated speed, and adversarially checks run identity, provenance, claim/action/conflict correlations, exact conflict membership, timestamps, and symlink rejection.demo/video/verify.shis shared by capture, preview, test, and render paths, so no mode can reach the final verification footer with weaker evidence.demo/video/render.shruns an accelerated, headless version of the exact requested choreography before opening VHS, so invalid live evidence fails before recording begins.- Inspect the MP4 at full resolution before using it. All four agent panes, the provenance label, retrieval lanes, citations, and final banner should remain readable.
- Use
ffprobeto confirm 1600×900 dimensions and a duration below three minutes before publication.
For the final narrated export, run the stricter machine-readable gate:
./docs/assets/verify-media.sh --final-video path/to/final.mp4It requires a 16:9 H.264/yuv420p video at 720p or better, a non-empty audio stream, and a duration strictly below 180 seconds. Then complete the checks a local file cannot prove:
- Watch the entire upload from a logged-out browser at 720p and confirm all terminal text, citations, cloud provenance, and the final URL are legible.
- Confirm the YouTube or Vimeo page is public, embedding/playback is enabled, captions are accurate, and the Devpost preview plays without authentication.
- Show the application functioning on AWS and CockroachDB memory changing the agent's behavior; architecture slides and repository tests alone do not meet that footage requirement.
- Use original narration and no music. Do not add third-party logos, brand artwork, or copyrighted media unless permission has been confirmed; plain service names should appear only where needed to explain the integration.
- Rewatch once for account IDs, secret ARNs, credentials, tenant-sensitive logs, browser autofill, notifications, and shell history before publishing.
VHS 0.11+, tmux 3.4+, jq, Bash, an H.264-capable FFmpeg installation, and
the Menlo font selected by the tapes are recording prerequisites. The fresh
capture additionally requires the already-running local environment described
above. Change all three FontFamily settings together if Menlo is unavailable;
every checked-in orchestration helper remains POSIX shell.