Record ChatGPT's Pro reset times and meter Ego Chat's Pro usage #73
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
x/ego-chat!73
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/pro-limits-and-usage"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Two follow-ups to the "Pro only" policy from #70, plus the checkpoint schema rename planned in #71.
B. ChatGPT's own Pro reset times.
requirePro, the page reload before each Send makes ChatGPT fetchPOST /backend-api/conversation/init. The driver drains the page's buffered events before the reload, reads theconversation/initresponse from the events after it, and fetches its body withNetwork.getResponseBody. It makes no request of its own.model_limits(slug andresets_after), the limit banner andblocked_features, validated insrc/pro-limits.mjs. The result is recorded on the observation and persisted as the model-policy record'sproLimits.broker-statusandego-chat model-policyshowproLimits. Each entry is markedexpiredonce its time has passed.model_pro_fallbacknotification says when GPT-6 Pro returns. Thepro_model_unavailable_before_sendstop names the reset times.C. An advisory Pro usage meter.
broker-statusshowsproUsage: Ego Chat's own answered Sends per answering-model family over rolling 24 hours and 7 days. The count comes from retained exchanges, so it is a lower bound; manual ChatGPT use is not counted.pro_usage_highnotification (kindusage) fires when a counter crosses its warning threshold. The counters are GPT-6 Pro per week, GPT-5.6 Sol Pro per day and both together per day.model-policy.jsoncan override them withallowancesandusageWarningPercent. Nothing is enforced.D. Checkpoint schema. The broker publishes
EgoSemanticCheckpoint.v1. Ego Monitor still reads the oldEagleSemanticCheckpoint.v1.Browser contract 33, runtime generation 2026-09-23.11.
Verification
npm test: 1408 tests, 1407 pass, 1 skipped.npm run test:ego-monitor: 148/148. Receipt suite 16/16. ESLint clean on the changed files. A3K fixture regenerated.--base 1e51747): one P2, the usage warning dispatched at the model-policy commit could be lost across a broker restart. Fixed by moving it to the completion commit, with a test that stops the store at that commit, restarts, and expects exactly one warning from the recovered exchange.--base b8c61bd): no actionable regression. Its sandbox could not create temporary directories, so it ran only the fixture checks; the suites above ran locally.conversation/initresponse, and its body heldmodel_limitswith GPT-6 Pro's reset time.Known gaps
proLimitsorproUsageyet.