Bubble Tea Example Port Parity
Own example-level parity only: model, init, update, view, and harness
setup.
Route away when needed
- Need orchestration or capture commands:
bubbletea-parity-workflow - Need Go golden generation:
bubbletea-go-teatest-golden - Need Crystal verification:
bubbletea-crystal-teatest-golden - Drift is in
src/orlib/, not the example:crystal-shard-lib-patchor the repo's runtime code path
Checklist
- Match Go state shape and
init/update/viewsemantics. - Match the deterministic input sequence and quit behavior.
- Match window sizing and other harness assumptions.
- Keep runnable examples guarded with
if PROGRAM_NAME == __FILE__. - Verify against Go-generated fixtures, not Crystal-generated ones.
Guardrails
- Prefer explicit messages over sleeps and timing tricks.
- Keep temporary harness files under
temp/. - If the example logic already matches Go, stop patching the example and move the bug to runtime or shard ownership.