Statecheck
OpenCode · fe120a1a52 · recorded observations

Workflow case 571

status
mismatch
lane
sample
compared steps
12
Finding
PR: stale notification promise
Property
subagent.period-delivery
Diverged at
step 12 · follow:bg:on
First difference
/promises/5
Minimized
spawn:bg:on@launch → dispatch → follow:fg:keep → crash → restart → follow:fg:on → answer:text → follow:bg:off → follow:fg:keep → answer:text → follow:fg:off → follow:bg:on (minimal)
Fig. 1

Execution trace

Observed counts after each compared action · each row scales to its own peak.

Compared 12 of 14 requested actions.

Inspect a stepLive sessions222222222222Job rows111111011001Requests011122344566Inline replies000000000000Outbox items000000000000Reports000000111111Errors000000000000promises11222334555≠7
Bar · value against its row’s peakBold · changed since the previous step≠ · expected differs from observed

01 / 12spawn:bg:on@launch

FieldExpected · modelObserved · service
claimed[][]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
promises[true][true]
reports[][]
requests00
rows["C:running"]["C:running"]

02 / 12dispatch

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
promises[true][true]
reports[][]
requests11
rows["C:running"]["C:running"]

03 / 12follow:fg:keep

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
promises[true,true][true,true]
reports[][]
requests11
rows["C:running"]["C:running"]

04 / 12crash

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
promises[true,true][true,true]
reports[][]
requests11
rows["C:running"]["C:running"]

05 / 12restart

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
promises[true,true][true,true]
reports[][]
requests22
rows["C:running"]["C:running"]

06 / 12follow:fg:on

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
promises[true,true,true][true,true,true]
reports[][]
requests22
rows["C:running"]["C:running"]

07 / 12answer:text

FieldExpected · modelObserved · service
claimed[][]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
promises[true,true,true][true,true,true]
reports[{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}][{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}]
requests33
rows[][]

08 / 12follow:bg:off

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifyfalsefalse
outbox[][]
pending[][]
promises[true,true,true,false][true,true,true,false]
reports[{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}][{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}]
requests44
rows["C:running"]["C:running"]

09 / 12follow:fg:keep

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifyfalsefalse
outbox[][]
pending[][]
promises[true,true,true,false,false][true,true,true,false,false]
reports[{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}][{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}]
requests44
rows["C:running"]["C:running"]

10 / 12answer:text

FieldExpected · modelObserved · service
claimed[][]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifyfalsefalse
outbox[][]
pending[][]
promises[true,true,true,false,false][true,true,true,false,false]
reports[{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}][{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}]
requests55
rows[][]

11 / 12follow:fg:off

FieldExpected · modelObserved · service
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifyfalsefalse
outbox[][]
pending[][]
promises[true,true,true,false,false][true,true,true,false,false]
reports[{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}][{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}]
requests66
rows[][]

12 / 12follow:bg:on

First difference: /promises/5

FieldExpected · modelObserved · service
≠ promises[true,true,true,false,false,true,true][true,true,true,false,false,false,true]
claimed["C"]["C"]
errors[][]
exists["C","P"]["C","P"]
identitiestruetrue
inline[][]
markersCleantruetrue
notifytruetrue
outbox[][]
pending[][]
reports[{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}][{"from":"C","to":"P","status":"completed","body":"answer-1","work":""}]
requests66
rows["C:running"]["C:running"]