Use AgentBay and $prepare-safe-change in this isolated synthetic example. Read .agents/skills/agentbay-skill-installer/SKILL.md and the named provider’s installed SKILL.md and relevant resources before work. For a large skill file, read it in bounded consecutive sections so the instructions are not lost to output truncation. The exact provider source is supplied in source-map.json; this is selected-upstream verification, not a catalogue search. All listed sources were fetched at the recorded commit and Git blob checked. Verify the installed hash against the map. Read brief.md and constitution.md. The fixture fixes scope and waives further discovery questions; never claim a real user interview or human approval. Use only this named provider skill plus AgentBay; do not auto-invoke follow-on skills. Do not delegate, access accounts, install extra dependencies, edit installed skills or checks, run downloaded companion scripts, commit or deploy. Preserve each prior stage’s files. Read prepare-safe-change and its evidence example. The operator has set the example's unit-tests control to enforced before implementation. Do not modify policy or invent evidence; the operator will run the exact-commit producer and evaluator after your changes. Use AgentBay's installed-skill readiness workflow and the supplied final plan plus audit report to implement the reviewed local app. The architecture, input brief and plan are fixed for this exercise. Change only index.html, src/app.js and src/task.js. Reuse the prototype's product design while separating app logic and pure title validation. Follow all eight requirements and the fixed src/storage.js adapter and tests. Null/undefined is an empty title. Errors are Enter a task name. and Use 80 characters or fewer. Do not alter any test, verifier, dependency, policy or skill file. Run npm test and call inspect_app before and after. Fix until both pass. Do not launch Chrome yourself. No account, network API, dependency installation, delegation, commit or deployment.