You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audit hunted every remaining place a user could be surprised by
cost or see stale branding. Five real bugs found & fixed:
1. plugin-sdk/workflow.ts: DEFAULT_MODEL_TIERS.cheap was zai/glm-5.1
($0.001/call paid). Any plugin using the 'cheap' tier silently
charged users. Now nemotron (free).
2. pricing.ts:94: estimateCost defaulted unknown models to
{input: 2.0, output: 10.0} — fake cost accumulating in UI for any
model not in the pricing map. Now {input: 0, output: 0} so
unknowns conservatively show as free. Real charges still tracked
on-chain in cost_log.jsonl.
3. tools/moa.ts: AGGREGATOR_MODEL constant was claude-sonnet-4.6.
Defense in depth: aggregator now defaults free; users explicitly
pass aggregator='sonnet' to upgrade.
4. commands/init.ts: LaunchAgent label was ai.blockrun.runcode.plist
and messaging said 'runcode'. Now ai.blockrun.franklin.plist with
franklin messaging; legacy plist auto-unloaded & removed on init.
uninit.ts handles both old + new plists.
5. User-facing strings across src/ — 'runcode setup', 'runcode proxy',
'runcode stats', 'runcode start --model', etc. now say 'franklin'.
0 commit comments