-
-
Alexa+ experience simulation: saved conversations and the verified result of an actual MCP-to-AWS lab run.
-
AWS command bridge: the incident archive, PATCH and LOG, functional checks, and preserved operator dialogue.
-
Automatic diagnosis after a random 2–5 minute monitoring window. PATCH stops at a validated proposal for review.
-
October 18: select a scenario, wait for an automatic fault, approve the plan, then verify 25/25 checks and signed containment.
Why I built it
An AI can recommend a repair in a sentence. Deciding whether it is safe to resume takes more than that. I wanted to make that gap visible: what failed, what the agent was allowed to change, and what evidence supports the result.
NULL / REBIRTH is an Alexa+ experience simulation connected to a recovery lab on AWS. I do not have an Echo device, so the demo uses a browser host with text requests. It is not connected to an Alexa account. The host calls a self-hosted MCP server over Streamable HTTP; its constrained intent router supports the demonstrated requests, while Amazon Nova Micro handles diagnosis and reporting.
Two small cat operators share the command bridge. PATCH diagnoses the fault and carries out an approved repair. LOG keeps the record and reports the verified result.
What happens in a run
Choose one of 25 scenarios and click Start monitoring. The lab begins with a healthy workload. After a random two-to-five-minute interval, the selected fault occurs automatically; no chat command is needed. Independent probes detect the change, preserve the evidence, and ask PATCH for a diagnosis. The screen moves from normal to anomaly to warning. At this point the evidence is preserved; the problem has not yet been declared fixed.
Amazon Nova Micro receives the failed checks and a list of approved runbooks. Its proposal must match the observed fault. In the simulated conversation, review the proposal and click Confirm repair, or say "Alexa, confirm the approved repair." The confirmation is bound to the run, revision and plan, and can be consumed once. Code then changes the workload stored in DynamoDB. A separate verifier tests the result. Passing checks and a valid KMS signature are required before the bridge can show recovery or containment. LOG then makes a separate model call to write the report.
The archive has 25 experiments inspired by published incident reports. Five follow large Japanese data-breach disclosures from September and October 2026. For example, the lab can require a scoped principal for a member API, isolate a synthetic vendor device, or revoke a suspicious export session. These experiments use synthetic records. They do not connect to the affected companies or recover information that has already leaked.
Containment has three conditions: unauthorized requests return no records, legitimate reads still work, and the original detection evidence stays intact. Blocking every request is not a successful result.
How it is built
The interface uses HTML, CSS and JavaScript. The MCP server uses the official Python SDK. Its 2025-11-25 Streamable HTTP path was tested with an official SDK client. Python workers run on AWS Lambda. Two DynamoDB tables hold state and audit records. Amazon Bedrock provides Nova Micro through the Converse API, and AWS KMS signs the state evidence. CloudFormation defines the deployment, with separate IAM roles for the workflow's responsibilities.
Two read-only MCP tools also run the original Proof Frontier and Proof Acquisition Planner. They expose missing evidence and suggested probes from a clearly labelled synthetic reference model. The planner's units are illustrative; the recommendations do not execute probes or authorize the live repair. The AWS normalization gate is the operational part of the proof-carrying recovery flow.
The model returns data, never executable code. Its runbook choice is checked against an allowlist and the current evidence. A successful transition also has to match the current stored state, so an old signed result cannot authorize a new action.
The command bridge keeps the operation on one desktop screen. PATCH wears a yellow helmet and moves to the fault; LOG uses a headset and tablet. The warning fades in and out, and the conversation log keeps their messages available after the animation ends. Replay uses the saved run rather than buying another model call. The conversational host also saves separate threads in the browser; reviewers can start a new chat, revisit an earlier conversation and delete selected threads after a confirmation. Deleting browser messages also cancels a timer that is still waiting; AWS experiment evidence stays intact. The layout follows the available window size, with Conversation and Live telemetry tabs on smaller screens.
The difficult part
The first AI answer was not always right. In one containment test, two proposals failed the target check before the third matched. I kept the gate strict and returned the rejection reason to the model, with a maximum of three attempts. No repair was applied while those proposals were rejected.
Cleanup also needed testing. An early disposable-stack rehearsal lost its deletion permissions partway through teardown. The dependency was corrected and the rehearsal repeated. The exhibition now has scheduled cleanup and bounded execution and model-call counts.
What is verified
The October 16 backend release passed 133 local tests. Its AWS acceptance run covered the five new containment cases and one recovery regression; all six passed 25 functional checks each. The six exported signatures were checked independently, and all six altered exports were rejected. The October 18 update passed 178 local tests, including server-enforced fault timing, duplicate injection protection, timer cancellation and conversation boundaries. A separate run through its MCP tools completed on AWS with 25 passing checks, three unauthorized requests denied, legitimate reads preserved and a verified KMS signature. These are recorded test results, not a promise that every future diagnosis will succeed.
The lesson was practical: a fluent explanation and a verified state are different things. Keeping diagnosis, execution and reporting separate makes that difference easier to inspect. The next work would be compound-fault experiments and testing with an actual Alexa+ host, while keeping the same checks before expanding what the agent can change.
Voice in the demo: Ondoku (ondoku3.com). Original music generated with Suno Pro.
Built With
- amazon-bedrock
- amazon-cloudwatch
- amazon-dynamodb
- amazon-nova
- amazon-web-services
- aws-cloudformation
- aws-iam
- aws-kms
- aws-lambda
- boto3
- css
- html
- javascript
- model-context-protocol
- pytest
- python
- web
Log in or sign up for Devpost to join the conversation.