LastTake keeps scene evidence and the human wrap decision together before the set comes down.

The problem

At the end of a shoot day, a script supervisor must reconcile the script, captured takes, camera and sound reports, continuity notes, and release records. A missing record found after wrap can leave editorial without the evidence it needs. No single person holds the whole packet at once.

LastTake gives the script supervisor a second set of eyes and gives the 1st AD a decision packet that can be resumed safely. It does not make the creative or legal decision for them.

What LastTake does

  1. The supervisor starts a fictional shoot day and runs a wrap checkpoint.
  2. Four evidence tools check coverage, continuity, metadata, and rights records against cited sources.
  3. A deterministic gate combines those findings. Missing evidence is a finding, never a pass.
  4. The Strands workflow pauses for a pickup decision and stores its session in S3.
  5. The right demo role can reload later and resume that exact interrupt, even after the original Lambda process is gone.
  6. A separate 1st AD approval is required before a sealed turnover can be published and read back.

The synthetic demo contains 34 required beats. It reports 31 covered with evidence, 2 exceptions with named sources, and 1 missing release record. These are corpus facts, not measurements of human benefit.

How Strands Agents is load-bearing

One Strands orchestrator Agent calls eight bounded @tool functions: four evidence checks, one deterministic eligibility gate, two ToolContext.interrupt approval transitions, and turnover publication. The gate itself contains no model and cannot approve wrap.

Strands replay matters here. A resumed tool body begins again at its first line, so external publication happens only after the interrupt and behind an idempotency key. S3SessionManager stores the suspended Strands session so a later request can resume it in a different process. Aurora DSQL stores the run, findings, decisions, and handled events.

The public browser uses a scripted planner and lexical interpreter. Bedrock mode creates two additional scoped interpreter Agents through the same port, and the backend deployment workflow exercises that path. Bedrock is not active in the public browser. AgentCore is not deployed.

AWS architecture

  • Amazon CloudFront serves the React application from private Amazon S3.
  • Amazon API Gateway invokes an arm64 AWS Lambda that runs the Strands workflow.
  • Amazon Aurora DSQL stores authoritative workflow state.
  • Amazon S3 stores supplied artifacts, suspended sessions, event envelopes, consumption receipts, and turnover manifests.
  • Amazon EventBridge accepts domain events. A separate rule invokes a least-privilege terminal recorder Lambda.

The EventBridge subscriber never starts or resumes Strands. It validates the envelope and writes one immutable, content-bound S3 receipt. A consumed receipt proves that the subscriber executed for those bytes. It does not prove editorial action or legal delivery.

Safe disconnect and reconnect

The service worker caches only the application shell. One tab-scoped confirmed snapshot stays available for read-only review, and one unsent evidence draft can survive a reload. LastTake never queues or replays a mutation, approval, or publication.

On reconnect, the application reads authoritative server state. If another client changed the evidence revision, every write remains blocked until the user explicitly reviews the new package fingerprint. The draft is then saved by one deliberate action.

What was difficult

  • Binding a human decision to the exact finding digest so changed evidence makes the old decision visibly stale.
  • Ordering side effects after ToolContext.interrupt so Strands replay cannot publish twice.
  • Distinguishing EventBridge publisher acceptance, subscriber consumption, and editorial completion.
  • Preserving enough offline context to review and draft without creating false authority or optimistic replay.
  • Testing browser to API to stored state to visible read-back on the deployed release rather than stopping at unit tests.

Try it and inspect the proof

Limits stated plainly

  • The production, scene, people, and records are synthetic. No practising script supervisor has tested it.
  • No footage or audio is analysed. Sound checks reconcile supplied metadata only.
  • LastTake does not declare creative judgement, legal clearance, or rights sufficiency.
  • Demo role selection is not staff authentication.
  • Offline continuity is one same-tab snapshot and one draft, not multi-device sync or a queued offline workflow.
  • Human time saved, avoided pickups, cost, and model advantage are unmeasured.
  • The public browser does not run Bedrock, and AgentCore is not deployed.

What is next

A practising script supervisor walkthrough; authenticated staff identity and authorization; one real production export format with safe preview; and public Bedrock only after its semantic value is measured against the frozen lexical baseline.

Pre-existing components

About thirty lines of content-addressed sealing primitives were carried from the author's MIT-licensed ClaimScene project. The product thesis predates the hackathon, and the CI and submission structure reuse the author's private toolkit. The AWS adapters, Strands workflow, deterministic gate, EventBridge subscriber, offline boundary, evidence checks, synthetic corpus, and interface were built for LastTake.

Built With

Share this project:

Updates

Submission history