diff --git a/docs/STATUS.md b/docs/STATUS.md index 1e1d2ab83..97ecca05f 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -386,6 +386,24 @@ Shell, shortcuts and dialogs: Corrections to earlier blocks in this file: the `#2214` item-2 entry (PR `#2298`) still says "The **stale** copy's Paper localization is still open as `#2214` item 4" and the `#2388` entry two lines down says "Known MEDIUM, deferred: the Paper stale copy is hardcoded English, carried on `#2214` item 4"; both clauses have been false since PR `#2630` (`review.queue.degraded.body` is in en, it and es and both skins render it through `$t`), and the number was wrong even then (item 4 is the count-neutral announcement, shipped by `#2710`). Both clauses are retired here; the rest of both entries stands. The `#2621` entry (PR `#2635`) records as a known residual, tracked as `#2636`, that "a key pressed with focus inside the surface still bubbles to page-level listeners; closing that needs a document-level bubble listener wider than `#2621` authorizes". PR `#2709` shipped that listener, so the residual clause is retired; the rest of that entry stands. +Coordination lane (coordinator session; docs, issue topology and Project state only, no product code): +- **The seventeenth block's coordination subsection is recorded (PR `#2707`, merge `b6b43cdf3`; docs-only, `docs/STATUS.md`).** It carries the `#2701` record (the sixteenth-block subsection, D-15, the clause-4 green at `42d3007f0`) and that cycle's board moves. +- **Project board, applied from the alpha lane's packets:** `#1940` Now to Blocked on `#2705` (D-9 ruling, four residuals recorded on the issue); `#2682` Now to Done on `#2706`, closed by the lane against its one follow-up, seeded as `#2708` (Pending, unclaimed); `#2214` Now for its residual pass, Pending on `#2710` (remaining audit rows on the issue); `#2636` Now, Pending on `#2709` (the mod+; text-field residual on the issue). Now never exceeded two. +- **Not verified:** nothing executable changed in the coordinator's PR. + +v0.3 integration wave, nineteenth block (2026-09-05, `main` `e0508462a`, the eighteenth block's last merge, to `9b864ea78`; written by the coordinator: the alpha product-trust session (taskdeck-alpha-85) closed at about 21:50Z on the owner's request with three ready-for-review PRs open, and the coordinator carried them to merge under the same gate; no platform-lane packet in this range). Codex review credits stayed exhausted (SC-9), so every PR below carried at least one fresh-context independent reviewer subagent; control-plane PRs stay parked under SC-10. + +Review and Inbox frontend (alpha lane work, merged by the coordinator): +- **Queue live region: no repeat announcement on a same-scope explicit reload, and focus after the unavailable-pin return control (`#2599` items 1 and 2, PR `#2712`, merge `4ddb68c74`; Refs `#2599`).** `useReviewProposals.ts` gains a landed-scope signal (written only on a successful explicit or poll read for the current scope, cleared on revocation) and both skins' count gates read it instead of the loading term, so a reload of the scope already on screen keeps the live region's node mounted (an unchanged queue is silent and a moved queue is still announced once) and the first render no longer speaks "0 proposals"; after the unavailable-pin return control both skins hand focus back (Paper to a row button, Legacy to the queue section that owns the Arrow handler while the persistent cursor stays where it was; each skin falls back to its empty-state element when no row is rendered; the divergence is recorded for the ADR-0038 drift audit). Round 1 fresh-context review SHIP; round 2 was comments and the rail spec only (the coordinator confirmed by diff that no non-comment production line changed). Evidence: six named specs, typecheck, eslint at the head per the lane; `CI` green at `80631e221`. **Not verified:** no screen-reader pass. Remaining on `#2599`: the reviewer's LOW (Paper's fallback can land focus on `body` when the rail is filtered to zero rows while a decision receipt holds the main column). +- **A dropped Paper Inbox scope-replacement response is repaired once instead of latching (`#2591`, PR `#2713`, merge `9b864ea78`; Refs `#2591`).** `useInboxOrchestrator.ts` keeps a per-replacement latch: a dropped response issues one repair read for the current scope with the flag still raised (the table shows its loading state, not the previous scope's rows); a second drop clears the flag and lets the table state what it has. Two fresh-context reviews: the alpha lane's (SHIP, one MEDIUM comment-truth item: the second-drop clear's guarantee holds only while the orchestrator is the sole Paper-side `fetchItems` caller, which the comment now says) and the coordinator's after the lane closed (FIX-FIRST: `InboxView.spec.ts` still carried the stale `Promise` `fetchItems` mock that the PR had corrected in `PaperInboxScopeTruth.spec.ts`, so under the new code every mount of the real Legacy view read a dropped response; the mock resolves `true`, local run 151 of 151 across the three specs). `CI` green at `032fa4f68`. **Not verified:** the failure-path shape recorded on `#2591` (a batch poll success clears `listError` under a raised flag, pre-existing on `main`) and the repair-after-hash-await ordering stay open there. + +Docs and coordination: +- **The eighteenth block is recorded (PR `#2711`, merge `36ab1e03d`; docs-only, `docs/STATUS.md`).** The alpha lane's last PR: entries `#2705`, `#2706`, `#2709`, `#2710`, two corrections (the `#2214` item 4 clauses and the `#2621` residual clause), its docs review done before the session closed; merged by the coordinator on `CI` green at `09299bd74` plus the age. +- **Project board:** `#2599` Pending to Now for items 1 and 2, back to Pending on `#2712`; `#2591` Pending to Now, back to Pending on `#2713`. Now is empty at this writing; the alpha lane is unstaffed until a new session claims the lease, and every issue it left carries a coordinator residual comment to claim from. `#1940` (D-9), `#1999` item 2 (D-13) and `#2638` items 1 and 3 (D-15) stay Blocked on their rulings. +- **Not shipped reality:** `#2599` and `#2591` stay open on the residuals above; `#2708` (the mount-read bound) is unclaimed lane backlog. + +Coordination lane (coordinator session; docs, issue topology and Project state only, no product code): this block is the coordinator's own record; the eighteenth block's coordination subsection above lands in the same PR. + v0.3.0-rc.1 SHIPPED (2026-08-30, annotated tag `3fc9f6e8e` peels to `9d2ea3c7c`): - **The public v0.3.0-rc.1 pre-release exists**, cut by the agent under the maintainer's v0.3 RC deck reply q-1 A (2026-08-30; map `map:v1:bec0a8dd…dd9138`; record `#1947`) and the repository's declared authority. The GitHub Release is `prerelease=true`, `draft=false`, published 2026-08-30T02:26:06Z with three assets — `taskdeck-v0.3.0-rc.1-win-x64.zip` (53,916,746 bytes), its `.sha256` sidecar, and `taskdeck-v0.3.0-rc.1-provenance.txt` — and a composed page (download badge first, RC banner, SHA-256, quick-start link, `## Breaking changes` lifted from UPGRADING, `## Highlights` from `docs/releases/notes/v0.3.0-rc.1.md`, grouped `## What's changed`). `/releases/latest` still resolves to `v0.2.0`. - **Tag workflows:** CI Release 33287786328, Release Security 33287786318, Release Container 33287786267, Release Desktop 33287786253 — all four success. **GHCR:** `ghcr.io/chris0jeky/taskdeck:0.3.0-rc.1` published (`sha256:d47bdf2d…2db67`), `latest` and `0.2` both still `sha256:e4915d72…8c752`, and no `0.3` alias exists — the floating `latest` / `0.2` index digest is unchanged from the pre-tag capture (`sha256:e4915d72…8c752`) and no `0.3` alias was created, which is the live proof of `#2217`/PR `#2223` that the threat-model row was waiting for.