os-me: run learning in a background agent after predict; stop queue starvation #959
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#959
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 learning step runs inside the predict fork (Store
ENTRY.mdstep 6). The fork returns its answer as its last message, so Jared waits for learning before he sees a Prediction. To bound that wait,learning/loop.mdlearns from one quiet session per run. The review-log for 2026-10-05 shows this cap starving newer queue entries all day: the same three unanswered sessions were re-read on every run and newer sessions never got a turn.bin/queue nextalways returns the oldest quiet session, so the loop has no way to skip a session it has already found to have noJARED:reply.Reproduce
n/a: design change. Evidence is in
~/dev/os-me-store/learning/review-log.md, rows dated 2026-10-05 that say "The cap still starves".Approach
plugins/os-me/skills/predict/SKILL.md, the fork runs predict only and returns. The skill then dispatches learning as a second agent in the background.learning/loop.mdonce learning runs in the background.bin/queuea way to mark a session as checked-with-no-reply sobin/queue nextskips it until new invocations arrive for it. The loop then processes the queue oldest-first without re-reading.REQUESTS.mditem 3 is marked in progress 2026-10-05; close it when done.Required work: none beyond the acceptance criteria.
Orchestrator work: Store edits in
~/dev/os-me-store(loop.md, ENTRY.md, REQUESTS.md). Jared ruled 2026-10-05 that Store rule changes need no ADR.Acceptance criteria
/os-me:predictis run, when the Prediction is shown, then the learning step has not yet run in the foreground and runs after in a background agent.JARED:reply, when the learning loop checks it once, then later runs do not re-read it until new invocations are added for it.Origin