docs: settle the design-record gaps, write down the review gate and the hardware check, bring the audit up to date #43

Merged
james.maes merged 8 commits from docs/2.0-settlements-and-audit-status-20261110 into release/2.0 2026-11-11 02:27:03 +00:00
Owner

Documents only. Brings the 2.0 decision records and the audit to the truth after two retrospective reviews and tonight's step reviews. No source, test, build or workflow file changes.

Decision records

  • ADR-0004, new section "Resolved after the retrospective reviews, 2026-11-10": settles five gaps the retrospective review found in the planning decisions (staging ceiling, the interim companion, who names the sign-in provider, when a pairing row is made current, print capacity and the shared queue). The original wording stays with a pointer to the change.
  • Two further decisions: the server-name rule, and printers.discover is single-flight.
  • Staged documents: the per-document ceiling stays 2 GiB and the advertised staged limit stays as it is, because narrowing either would refuse a server policy that works on 1.2.x; a machine ceiling of 16 GiB (an eighth per server) is a design decision and is not in code.
  • ADR-0004 "About the process": the review gate is on the head that is merged. The owner asked on 2026-11-10 that the process be changed after pull requests 28, 29, 35, 37 and 38 merged with a final fix round their reviewer had not seen, and 30 and 31 with no review; the terms were taken under the standing instruction.
  • ADR-0003: the hardware check on real printers is a release condition (an early check, now due and not run, and a final one on the release candidate); the coverage exception EX-0016 is filed and not approved.

Decisions here were taken by the agents under the owner's standing instruction ("take the recommended option, record it, keep going") and are marked so. None of them is built by this change.

Audit (docs/AUDIT-2026-11-10.md)

  • Statuses brought up to the code at e2ca086: closed U1, U6, W24, W30, C21; partly closed U4, U5, U13, C6, C8; text updated for W6, W14, W23, W26, W28, R1 and the progress line.
  • New open findings from the retrospective reviews, the step reviews and pull requests 40 to 42: W31 to W65, C14 to C25, U20, U21. No existing number changed. 119 rows.
  • Three of the new rows are the places where a full printer discovery can stall printing (W44, C25, W65). The owner asked for a fix on 2026-11-10; it is in progress on a branch and not merged.

Verification

  • Head 1763025 on release/2.0 at e2ca086; only files under docs/ differ from the tip.
  • build/Verify.ps1 passed on that head: 773 Core, 1,521 Windows runtime and command line, 352 presentation tests, none failed; coverage gate passed (Windows 87.45%).
  • check-source-headers.py passed; git diff --check clean.

Review (independent reviewer, two passes)

  • 7becbb1: Verdict on 7becbb1: 0 blockers, 7 should-fix, 8 nits. Every figure and every citation it opened was right; the should-fix items were wording in the decision records, one of which would have let the final hardware check destroy the only 1.2.1 baseline.
  • 1763025, the head merged: Verdict on 1763025: 0 blockers, 0 should-fix, 0 nits. The reviewer checked the new rows against the code and recomputed the coverage figures from the stored results.

🤖 Generated with Claude Code

Documents only. Brings the 2.0 decision records and the audit to the truth after two retrospective reviews and tonight's step reviews. No source, test, build or workflow file changes. **Decision records** - ADR-0004, new section "Resolved after the retrospective reviews, 2026-11-10": settles five gaps the retrospective review found in the planning decisions (staging ceiling, the interim companion, who names the sign-in provider, when a pairing row is made current, print capacity and the shared queue). The original wording stays with a pointer to the change. - Two further decisions: the server-name rule, and `printers.discover` is single-flight. - Staged documents: the per-document ceiling stays 2 GiB and the advertised staged limit stays as it is, because narrowing either would refuse a server policy that works on 1.2.x; a machine ceiling of 16 GiB (an eighth per server) is a design decision and is not in code. - ADR-0004 "About the process": the review gate is on the head that is merged. The owner asked on 2026-11-10 that the process be changed after pull requests 28, 29, 35, 37 and 38 merged with a final fix round their reviewer had not seen, and 30 and 31 with no review; the terms were taken under the standing instruction. - ADR-0003: the hardware check on real printers is a release condition (an early check, now due and not run, and a final one on the release candidate); the coverage exception EX-0016 is filed and not approved. Decisions here were taken by the agents under the owner's standing instruction ("take the recommended option, record it, keep going") and are marked so. None of them is built by this change. **Audit (`docs/AUDIT-2026-11-10.md`)** - Statuses brought up to the code at `e2ca086`: closed U1, U6, W24, W30, C21; partly closed U4, U5, U13, C6, C8; text updated for W6, W14, W23, W26, W28, R1 and the progress line. - New open findings from the retrospective reviews, the step reviews and pull requests 40 to 42: W31 to W65, C14 to C25, U20, U21. No existing number changed. 119 rows. - Three of the new rows are the places where a full printer discovery can stall printing (W44, C25, W65). The owner asked for a fix on 2026-11-10; it is in progress on a branch and not merged. **Verification** - Head `1763025` on `release/2.0` at `e2ca086`; only files under `docs/` differ from the tip. - `build/Verify.ps1` passed on that head: 773 Core, 1,521 Windows runtime and command line, 352 presentation tests, none failed; coverage gate passed (Windows 87.45%). - `check-source-headers.py` passed; `git diff --check` clean. **Review (independent reviewer, two passes)** - `7becbb1`: `Verdict on 7becbb1: 0 blockers, 7 should-fix, 8 nits.` Every figure and every citation it opened was right; the should-fix items were wording in the decision records, one of which would have let the final hardware check destroy the only 1.2.1 baseline. - `1763025`, the head merged: `Verdict on 1763025: 0 blockers, 0 should-fix, 0 nits.` The reviewer checked the new rows against the code and recomputed the coverage figures from the stored results. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
james.maes added 8 commits 2026-11-11 02:26:43 +00:00
ADR-0004 gains "Resolved after the retrospective reviews, 2026-11-10".
Five decisions from the planning pass are settled as the first
retrospective review recommended, each taken under the owner's standing
instruction and marked as such; the earlier wording stays, marked as
changed:

- The staging ceiling. The code advertises its real ceilings and refuses
  a policy above them (RealtimeSettings, as REALTIME.md says); the record
  added a ceiling that could make an accepted policy unattainable. The
  eighth is now a reservation, "could ever be given" is the eighth, and
  the advertised limits become 1 GiB per document and 8 GiB staged.
- The interim companion derives the server again as the upgrade does: a
  new identifier when the origin changes.
- servers.add carries the provider origin the check reported and is
  refused when the service derives another; ADR-0005 step 1 gets the
  two-stage certificate warning.
- A scope is made current when the connection starts, not at every open.
- Every change in a server's print capacity raises the printer queues'
  signal.

Two rules the record lacked: what a server name may be (log lines carry
the short identifier, not the name), and printers.discover as
single-flight. Consequences of removal are written down, three small
corrections are made, and the places where the merged contract types do
less than the record says are named.

"About the process" gains the owner's merge rule of 2026-11-10 (the gate
is on a commit id) and says plainly that pull requests 28, 29, 35, 37 and
38 merged with an unseen final fix round and 30 and 31 with no review.

ADR-0003: the Windows coverage exception is filed as EX-0016 (standards
pull request 58), proposed and not approved; 90% is a release bar and the
recorded minimum is 73. The hardware check is recorded as a release
condition, with the reviewer's proposed order marked as a proposal.

Documentation only. Nothing here is built.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
Statuses, each checked against the code at 6f0237d:

- U1 and U6 closed by pull request 34; U4, U5 and U13 partly closed.
- W24 closed by pull request 33, W30 by pull request 35.
- C6 and C8 are partly closed, not closed: HttpClient.Timeout stays on
  the system clock, and a COMMAND of the wrong JSON shape still fails as
  JsonException in the Windows runtime.
- W23 is to be fixed in the claim path, not by the printer queues.
- R1: the presentation assembly is gated at 100 and Windows at 73
  (74.84% measured); the exception for the 90% bar is proposed.
- W6, W26 and W28 gain what is known now.
- The progress line is measured at 6f0237d.

New open findings W31 to W48, C14 to C21, U20 and U21: the code findings
of the two retrospective reviews, three pieces of older behavior found by
the review of the printing seams step, and three items seen while
verifying (not rated by a reviewer). Existing findings keep their numbers.

Documentation only.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
SESSION-STATE: the pull requests merged up to 6f0237d, the development
snapshot snapshot-2.0.0-rc.1 with what was and was not checked on it, the
current coverage minimums, the review gate and the hardware check. Two
entries that were no longer true (the first minimums as current, the
90% exception as unfiled) are corrected.

TODO: the two hardware checks, the pending exception EX-0016, the open
review findings and the unqualified upgrade from 1.2.x.

Documentation only.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
ADR-0004, the staging ceiling. The first settlement on this branch kept
8 GiB and lowered the advertised document ceiling to its eighth, 1 GiB,
which would have made 2.0 refuse a policy that 1.2.x accepts. Taken
instead, under the standing instruction on 2026-11-10: the per-document
ceiling stays 2,147,483,647 bytes, as the code advertises today, and the
machine ceiling for staged documents is 16 GiB, of which each server's
reservation is an eighth, 2 GiB, so every document an accepted policy
allows fits a server's reservation. What the client advertises does not
change. The record says plainly that the machine ceiling is a design
decision and is not in the code yet.

ADR-0003. EX-0016 is in standards pull request 58, open at 7a58fb4, with
the status "Proposed, awaiting approval"; it lists K22-TEST-10 and
K22-CODE-CS-11 in part, states a release bar of 90 and the minimum 73 at
6f0237d, and makes a check on real printers a release condition. The
Windows minimum has since risen to 80 (81.21% measured).

Documentation only. Nothing here is built.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
- The progress line is the measurement on the reviewed head of pull
  request 41: seventeen pull requests, Core 100% of 2,141 lines, Windows
  81.21% of 4,408; 773, 1,305 and 352 tests.
- C21 (the realtime channel's shutdown race) is closed by pull request
  40. The two nits its review left open are C22 and C23.
- The seven nits the review of pull request 41 left open are W49 to W55.
  Its description names no places; the ones given were found by reading
  the code at 077148f.
- W14: the native calls of sign-in startup, the branded shortcut and the
  browser hand-off are behind adapters; the printing calls remain.
- R1: Windows is gated at 80; the exclusions that now exist are counted.
- W28 names the new timed test. The two CHANGELOG.md citations carry the
  line numbers of 077148f.

Documentation only.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
SESSION-STATE: merged up to 077148f, the current minimums and the
measurement on the reviewed head of pull request 41. The snapshot's own
figures stay as they are; they describe 6f0237d.

TODO: the upgrade qualification entry takes what pull request 41 left
unverified (no elevated MSI run against the real machine key), and the
EX-0016 entry carries the record's own status.

Documentation only.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
The review found no blocker, seven should-fix items and eight nits, all
in wording of the decision records. Each is taken as the reviewer
proposed.

ADR-0004:
- The opening of "Resolved after the retrospective reviews" no longer
  says every settlement follows the reviewer: the staging ceiling does
  not, and says why.
- The staging ceiling names what stays untrue: the advertised staged
  ceiling is not a ceiling the machine holds, the effective total is the
  smaller of policy and room, and both REALTIME texts get that sentence
  in the change that builds the ceiling. The compatibility reason cites
  where CONFIGURATION_REQUIRED is raised and that the stored-settings
  load reaches it. The sum is stated as an admission rule.
- A fifth gap between the record and the merged contract is named: no
  provider-origin argument on servers.add, a stale comment, an unsettled
  error code (also audit W56).
- The merge rule: the owner asked that the process be changed; the terms
  were taken under the standing instruction. Verification on the merged
  head and that head on the current tip are added. The earlier merges
  are described by how they went wrong, not as a breach of a rule that
  did not exist yet.
- Sentences edited in place are listed; "must be in force"; a read that
  joins a discovery is no longer said never to wait; two pointers added.

ADR-0003, the hardware check: the 1.2.1 values are captured before the
candidate is installed, the install is the upgrade-qualification run and
uses up the only 1.2.1 baseline, and the "no paper" steps that submit a
job count as prints and need the owner's confirmation of the pause.

Audit: U1 is narrowed to the views' requests; W57 and W58 are the two
older behaviors of the printing seams review that had no row; C24 is a
ticket leak noted in another review and verified against the code.

Documentation only.

Signed-off-by: James Maes <james@kof22.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
release/2.0 is at e2ca086: pull request 42, plan step 7, put every
Windows printing call behind a tested seam and changed nothing that
reaches Windows.

- Eighteen pull requests merged. Measured on the reviewed head of pull
  request 42, whose tree is the merged tree: 773 Core, 1,521 Windows and
  command-line and 352 presentation tests; Core 100% of 2,141 lines;
  Windows 87.47% (3,835 of 4,384). The Windows minimum is 86.
- Audit W14: the printing calls are behind six adapters. R1: the
  exclusions are counted again at e2ca086. W44, W46, W48, W57 and W58
  carry the line numbers of the rewritten files.
- W44 (a full discovery for every job): the owner asked on 2026-11-10
  for it to be fixed and a fix is in progress on a branch, not merged.
  Two further places with the same effect, read at e2ca086, are C25 (the
  worker discovers on every pass before it claims) and W65 (the
  inventory synchronizer discovers on every status round, a failure
  there ends the realtime connection, and dispatch waits after every
  reconnect for one delivered discovery).
- W59 to W64: what pull request 42 left open that had no row, including
  the two behaviors its tests now pin: a PDF with no pages is spooled
  empty and recorded as spooled, and a page under one device pixel fails
  after the document started with an error that is not its own.
- ADR-0003, SESSION-STATE and TODO: the early hardware check is due,
  because the step it waited for has merged. It has not been run.

Documentation only.

Signed-off-by: James Maes <james@kof22.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
james.maes merged commit db6ee016da into release/2.0 2026-11-11 02:27:03 +00:00
Sign in to join this conversation.