@@ -619,3 +619,72 @@ verify verify-published.sh against the new and the previous pair in fresh SubOS
619619 sandboxes with the CN mirror; GalTranslPP on Windows with the new mcpp and
620620 qt-base revision 1; then the issues are closed with their readings
621621```
622+
623+ ## 8. Implementation record (revision 4)
624+
625+ The tasks of §7 were implemented on 2026-09-28 in one pull request per
626+ repository: openxlings/xlings #628 (X1 to X6), mcpp-community/mcpp #730 (M1 to
627+ M9), an xim-pkgindex pull request (I1 to I3) and an mcpp-index pull request (N1,
628+ N2), with the issue mcpplibs/mcpp-index #482 (N3). This section states what
629+ landed where the implementation departed from §7, what was found while
630+ implementing it, and the readings.
631+
632+ ### 8.1 Departures from §7
633+
634+ - ** X3.** ` prevLines ` is kept, deprecated and always 0, rather than dropped: a
635+ minor protocol version only adds (interface specification 1.3).
636+ - ** M4.** The edge-advice channel (SPEC-007 R4.5) is a rule for every build
637+ edge, not a mechanism of ` place-dlls ` : an action writes
638+ ` .mcpp-advice/<its output>.advice ` the same way. e2e 821 reads it through an
639+ action on both build paths, because on Linux no engine edge writes it.
640+ - ** M5.** ` check_workflow_assertions.py ` also accepts a ` PIPESTATUS ` read on the
641+ line after the pipe (rule W2), which the workflows use.
642+ - ** M8.** ` verify-published.sh ` takes ` M ` and ` XS ` , binaries to verify in place
643+ of the published ones, so that it can be rehearsed before a release; a run
644+ that uses either says so at its start and its end.
645+ - ** I2.** ` installed() ` does not assert that the runtime files are absent. The
646+ packaging revision is what replaces an installed payload (xlings
647+ 2026.9.27.1), and a line naming the runtime files would be the one the static
648+ test of I1 refuses.
649+
650+ ### 8.2 Found while implementing
651+
652+ - ** F1. A Windows test renamed a directory that a scanner still held.** E2E-01
653+ (` bootstrap_home_test.ps1 ` ) renamed the portable home 0.2 s after ` self init `
654+ and failed with "You do not have sufficient access rights"; the same failure
655+ had occurred on 2026-09-14 on a branch that did not touch init, and passed on
656+ that branch's next run. The test now renames with ` [IO.Directory]::Move ` ,
657+ which either renames or leaves the tree intact, retries for at most 10 s, and
658+ on failure names the processes running from the tree.
659+ - ** F2. A second producer of terminal frames.** Off a terminal, the sub-index
660+ build scripts (` xim-pkgindex-awesome ` , ` -scode ` , ` -d2x ` ) still write
661+ ` \r[i/n] <ns>::<file>\033[K ` ; they run in-process and write to stdout
662+ directly. It is the class of #626 in a producer X4 did not cover, and it is
663+ present in 2026.9.28.1 (openxlings/xlings #629 , open). ` verify-published.sh `
664+ asserts the download lines and reports these frames as a reading.
665+ - ** F3. The index's sweep alert could not open its issue.** The job checks
666+ nothing out, so ` gh ` could not infer the repository ("not a git
667+ repository"), and it watched only the ` workspace ` job. The two red sweeps of
668+ 2026-09-26 therefore opened nothing (mcpplibs/mcpp-index #482 ). N2 sets
669+ ` GH_REPO ` and also runs the alert when ` mirror-cn-reachable ` fails.
670+ - ** F4. A filtered unit run was reported as the unit suite.** A local run of
671+ the mcpp unit binaries under a ` GTEST_FILTER ` naming the new suites printed
672+ "134 passed", which counts binaries; the full suite had one stale expectation
673+ (the ` place-dlls ` command now carries ` --crt ` ), found by the macOS self-host
674+ row. The unfiltered run passes.
675+ - ** F5. The toolset on the Visual Studio runner is newer than the Qt payload's
676+ runtime.** The measurement recorded MSVC 14.51.36231 (Visual Studio 2026) as
677+ the toolset whose runtime directory the action ` PATH ` receives, against the
678+ 14.44 copy ` xim:qt-base ` carried: the case D1 and D2 describe is the ordinary
679+ state of a current CI image.
680+ - ** F6. The action PATH crossed the invariant that an action's command line
681+ survives an upgrade.** An action that declares neither ` env ` nor ` cwd ` kept
682+ the positional ` __action-stamp ` spelling so that its command line, and
683+ ninja's command hash, stayed the one an earlier engine wrote. D3 gives every
684+ action of an MSVC-ABI build the named wrapper with ` --path-prepend ` , so each
685+ such action re-runs once on the first build after the upgrade. The crossing
686+ had no test; e2e 780, which recognised a check that ran by the old spelling,
687+ failed on the Windows row and found it. The detector accepts both spellings,
688+ the comment in ` cli.cppm ` states the exception, and the CHANGELOG lists the
689+ one re-run.
690+
0 commit comments