diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index c116f806..d68fd7fe 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -13632,7 +13632,7 @@ point, which are the parts that must survive it.** ## 1299. unbacked_check reports commits whose CONTENT is fully landed as unbacked work, because a squash-merge and a local merge over a backed parent both leave an orphan commit object -> 🔢 **Re-scored 2026-08-20 -> P2.** Value **5/10** · Difficulty **3/10** · _fill-in_. Gap stands: unbacked_check.ps1:363 still reports the per-ref tally under the noun commits and :366-368 still prints the force-push remedy with no classification step, so the two routine mechanisms the item measured would alarm again and the printed command would act on the false alarm. Developer coordination tooling with no product, PHI or deployment axis, but the instrument that measures single-copy work loses credibility at a 7-of-7 rate (value 5); the remainder is a bounded change to an existing 369-line script adding a reachable-on-origin-main plus backed-parent classification, with paired must-trip and must-not-trip arms (difficulty 3). _(was 5/10 · 3/10.)_ +> ✅ **SHIPPED -- verified on main 2026-08-24 at `a80244bf`, and the tests were EXECUTED rather than read.** `scripts/coord/unbacked_check.ps1:157` now carries `CONTENT-DURABILITY CLASSIFICATION (BACKLOG #1299)` and `:297` `CLASSIFY BEFORE ALARMING (BACKLOG #1299)`, with the squash-orphan arm and a stated invariant that classification **only ever moves a commit from AT-RISK to DURABLE** -- the fail-safe direction. The paired arms this row demanded exist as TWO PAIRS, each must-not-trip arm with a must-trip twin differing by one variable: `test_a_squash_landed_branch_is_reclassified_not_alarmed` against `test_genuinely_unpushed_work_still_trips`, and `test_a_clean_merge_over_backed_parents_is_reclassified` against `test_a_merge_carrying_a_HAND_RESOLUTION_still_trips`. The file says why the twins are load-bearing: *"only must-not-trip arms would be green over a classifier that loses hand-resolved work"*. **RAN THEM: 11 passed** (`--noconftest -o addopts=""`, stdlib and pytest only, so no venv is needed). Landed in PR #542. ***ANCESTRY IS THE WRONG INSTRUMENT HERE AND SAYS SO: the two commits titled for this row, `345896c7` and `f5c91738`, are NOT ancestors of main*** -- PR #542 squash-merged as `4d76bd6e`, which is. **Verified by CONTENT, located with `git log -S` on the classification comment.** *The re-score above is stale: it cites `:363` and `:366-368` of a 369-line script, and the file is now 461 lines.* **Re-scored 2026-08-20 -> P2.** Value **5/10** · Difficulty **3/10** · _fill-in_. Gap stands: unbacked_check.ps1:363 still reports the per-ref tally under the noun commits and :366-368 still prints the force-push remedy with no classification step, so the two routine mechanisms the item measured would alarm again and the printed command would act on the false alarm. Developer coordination tooling with no product, PHI or deployment axis, but the instrument that measures single-copy work loses credibility at a 7-of-7 rate (value 5); the remainder is a bounded change to an existing 369-line script adding a reachable-on-origin-main plus backed-parent classification, with paired must-trip and must-not-trip arms (difficulty 3). _(was 5/10 · 3/10.)_ > > **Filed 2026-08-21 -- not started. Every alarm on the measured run was content-durable, and the remedy it prints would push rescue tags for work already on `main`.** `scripts/coord/unbacked_check.ps1` answers *"does this COMMIT OBJECT exist on a remote"*. A reader runs it to ask *"is any WORK at risk of being lost"*. Those two questions diverge on exactly two routine mechanisms, and both were live on this machine. > **MEASURED 2026-08-21, and the rate is the finding: 7 of 7 alarms were false.** The run reported `7 commits on 7 branches exist on no remote`, over a coverage line of `541 refs and 33 worktree checkouts (incl. primary) across 1 repository, 2 of 2 configured remote(s) answered`. Every one is durable: