Commit 7dd12ec
committed
feat(cli): announce seed settlement on serve's ipc channel and forward it from dev
`✓ Server is ready` is true about the HTTP server and silent about the app.
Past the inline seed budget the rest of the seed runs detached, so the banner
— and any parent that waits for it — can be eighty seconds ahead of a
hundred-line error wall, and nothing a parent can observe distinguishes that
boot from one that seeded cleanly.
`serve` now sends a second ipc message, `objectstack:seed-settled`, beside
`objectstack:listening`, latched so it can never precede it; `os dev` relays
it verbatim to its own parent when one holds the channel. The producer is not
new: the runtime already publishes the tally under the spec's
`seed-settlement` contract, and this is the hop outward.
Keyed on `inFlight === 0`, not `pending === 0`: multi-tenant replay and
`skipSeedData` keep `pending` above zero for the life of the boot, so a
`pending`-keyed message would never be sent there and its absence would be
indistinguishable from a boot still writing. Those boots get the message with
`suppressed` reasons instead.
The banner's over-budget path now says `Seeds: pending` and that seeding
continues in the background, so the transcript is no longer byte-identical to
a boot that declared no seeds.
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSf4DV7ziu4V5j73e46b7c1 parent 272c04b commit 7dd12ec
3 files changed
Lines changed: 432 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
134 | 178 | | |
135 | 179 | | |
136 | 180 | | |
| |||
566 | 610 | | |
567 | 611 | | |
568 | 612 | | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
569 | 617 | | |
570 | 618 | | |
571 | 619 | | |
| |||
0 commit comments