Repair the 25 os-me prediction records that hold the wait message #1232
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1232
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
The os-me Stop hook ran
appendat the first Stop after/os-me:predict. That message was the wait text, not the Prediction. So the 25 live records in~/dev/os-me-store/prediction-log.jsonlwritten from 2026-10-17 to 2026-10-22 hold the wait-message text and nullconfidence. Commitd4fa00d7stops new bad records but does not repair the old ones. The confidence trend Jared asked for on 2026-10-17 cannot be read until the records are repaired or removed.Observed
All 136 records have null
confidence. The 25 live records contain text such as "The predictor is running. I will show its result". None contains aConfidence:line. No record has arecorded_atfield; commitd4fa00d7adds it for new records only.Reproduce
Approach
Decide one of two repairs for the 25 live records, then apply it as a one-time Store script:
appendover each session transcript, then copyverdictandscored_atfrom the old record bysession_id.The 111 backfilled records have no confidence source. Give them
recorded_atfrom the review-log row date, or leave them null and letbin/os-me-reporttreat null as undated.Required work: none beyond the acceptance criteria.
Orchestrator work: Jared picks repair 1 or 2.
Acceptance criteria
textholds aConfidence:line andconfidenceis an integer.Origin
bin/os-me-reportconfidence column was all null.d4fa00d7fixed the hook for new records only.plugins/os-me/lib/os_me/cli.rbbefored4fa00d7) ← Stop fires on the wait message before the fork agent returns ← DESIGN (#1075 Stop hook records each prediction, no "is this the Prediction" check).plugins/os-me/lib/os_me/cli.rbappend; data in~/dev/os-me-store/prediction-log.jsonlVERDICT: CREATE
Resolution
Done: Jared ruled: re-derive, keep verdicts. Store script bin/rederive-wait-records rebuilt 24 of 25 wait-message records from the session transcripts with the fixed parser (assistant messages and task-notification entries). Verdict counts unchanged before and after: hit 79, partial 18, miss 20, unscored 20. recorded_at set from the Prediction message timestamp. Backfilled records left as they are (no confidence source). Plugin fixes:
d4fa00d7,9530bb66,8450874e; Store commits 5834cf8, 0ea066e, pushed.Evidence: Backups: ~/dev/os-me-store/prediction-log.jsonl.before-rederive-2026-10-22 and .pass2. Plugin suite 105 runs 0 failures; Store bin/test 19 runs 0 failures.
Follow-ups: One record, session 86f833b9, keeps the wait text: its Prediction exists only in an attachment entry holding several predictions in one block. Dropped: one record does not justify a third read path. Backfilled records keep null recorded_at and confidence: dropped, no source.