Feasibility tests
Decided designs in this repository rest on assumptions nobody has run.
Each test below answers one question that gates one decision. They are
research, not product: the code is throwaway and does not belong in
conversation/src.
Run these before building on the decisions they gate.
How to use this file
- Each test states its question, the assumption under test, what it gates, a method, and what to do when it fails. A test without a written failure branch is not ready to run.
- When a test has run, record the result in the document it gates and delete the test from this file. This file holds open questions only.
- Spike code is disposable. Do not productionize it, do not add it to the quality gates, do not let it become the implementation.
What is not a feasibility test
The thin end-to-end turn -- human message, DynamoDB, model call, streamed chunks, one committed message, no computer anywhere -- is the first build step, not research. It runs on the computerless-worker path from challenge 5 and is the smallest thing that is actually Chatticus.
Do it using challenge 1's transport result in Design challenges. Do not let it absorb the spikes: a measurement that becomes a feature is a measurement nobody trusts.
Voice: on-device listening in the browser
The spike (chatticus-a2000f) ran tests 1 and 2 from
Voice headless, and test 4 only partially
(12 synthetic utterances). The results are in
Voice. These parts are still open, each with the
failure branch written in that document:
- A live microphone in a real browser for 60 minutes, foreground and background, with battery drain measured.
- iOS Safari on a device, where the question is memory: about 650 MB above a blank page.
- Cross-origin isolation (COOP
same-originplus COEPrequire-corp) against the Google and Cognito sign-in and the Vultus avatar. - Test 4 as specified: about 50 real recordings, false-addressing rates, and phonetic name matching.