Phase 1 of the uncertainty engine spike. See docs/designs/uncertainty-engine.md.
Scope (cross-repo, platform-led):
- In rafters: replace UncertaintyClient calls with new shape (uncertainty.emit on color name return)
- In rafters: outcome witness path -- when ctrl/designer accepts/edits/rejects a name, fire witness PUT
- In rafters: flip wrangler.jsonc service binding from ezmode-api to platform
- In platform: confirm /api/uncertainty endpoints accept the rafters shape
Dependency: routes + Drizzle schema landed.
Coordination: post to rafters bullpen with the integration plan before opening the rafters PR. They own the client-side math (calculateInputConfidence, scoreResponseQuality); platform owns storage and audit.
Acceptance: color names emit predictions to platform; witnessed outcomes land via ctrl; rafters wrangler binding no longer references ezmode-api.
Phase 1 of the uncertainty engine spike. See docs/designs/uncertainty-engine.md.
Scope (cross-repo, platform-led):
Dependency: routes + Drizzle schema landed.
Coordination: post to rafters bullpen with the integration plan before opening the rafters PR. They own the client-side math (calculateInputConfidence, scoreResponseQuality); platform owns storage and audit.
Acceptance: color names emit predictions to platform; witnessed outcomes land via ctrl; rafters wrangler binding no longer references ezmode-api.