| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
An item now gets filed or deleted. Nothing stays in inbox/ under a renamed prefix.
The retired rung renamed a deferred item to PROCESSED-<original> and told you not to let those pile up, without giving that instruction any enforcement. It failed twice. They accumulated, to 40 here before a manual sweep last month and 114 across the rest of the fleet today. And a task citing one as its source went dangling when that sweep ran, which is the opposite of what deferral was for.
Both come from the same defect. PROCESSED-* was a third state, neither a tracked task nor gone. It sat in inbox/ where inbox-status hid it and no review cycle owned it. Filing and deleting are the two states that already have homes.
I left the three PROCESSED-* exclusions in place and marked them transitional. Dropping them today would have made 114 files pending at once and blocked five projects behind a cleanup nobody asked for. A sweep task owns clearing them, and each comment points at it.
Phase C's third option was the deferral. It's now delete, which is the genuinely distinct alternative once filing is the recommendation.
|
| |
|
|
|
|
|
|
| |
inbox-send wrote straight to the destination path, and write_text truncates on open, so any mid-write failure left a zero-byte .org in another project's inbox. inbox-status counted that phantom as a pending handoff and blocked a turn in the receiving project over a file with no content and no sender.
Both send paths now write to a temp sibling and os.replace it into place, so the inbox only ever sees a complete file. A caught failure removes the temp and re-raises, leaving no debris. encoding is pinned to utf-8 on the write and on the roots-config read, which closes the locale-dependent failure that first surfaced this.
inbox-status also skips the .inbox-send-* temp, so the brief window before the rename can't read as pending either. The atomicity is only complete once the consumer ignores the in-flight file.
|
|
|
Handoffs that arrive mid-session used to sit unseen until the next startup or a manual check. Today's burst of cross-project handoffs made that gap obvious. I added monitor-inbox.org, the cadence-and-decision layer over process-inbox: check the inbox at every task boundary, decide act-now (just do it) versus file (ask, with filing as option 1), and reply to the sender. An opt-in background-monitor /loop recipe covers unattended watching.
inbox-status (with bats tests) is the cheap check the cadence calls. It lists unprocessed handoffs and exits nonzero when any are pending, using the same artifact exclusions as the wrap-up sanity check. protocols.org gets a short cadence note so the habit fires every session, and INDEX.org lists the new workflow. The act-vs-file rule (act-now is silent, filing asks with file as option 1, ambiguity asks) is the decision protocol we settled today.
|