You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What landed in each repository, the five findings made while implementing,
and the measurements taken so far, including lsp-mcpp's validator and its
conformance runner against this mcpp.
Refs #636
Copy file name to clipboardExpand all lines: .agents/docs/2026-09-14-636-build-database-and-the-latest-xlings.md
+46Lines changed: 46 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -480,3 +480,49 @@ on another repository, and it is small.
480
480
| consistency | One envelope builder, one selector parser, one unit record, one std command source | none |
481
481
| seamless upgrade | A pin move reaches an existing Windows home only through B's fix; swept stores keep working and are repaired on request | B and M7 ship in one pull request; `self doctor --fix`|
482
482
| test coverage | Each criterion has a leg that fails on the released binary; the schema validator refuses keywords it does not implement, so a schema change cannot pass unvalidated | M2 and M5 |
483
+
484
+
## 9. Execution record
485
+
486
+
### 9.1 What landed, by repository
487
+
488
+
| repository | vehicle | content |
489
+
|---|---|---|
490
+
| openxlings/xlings |#596, squash `3cd8061`, version 2026.9.14.1 | 2.3 to 2.6: the §6 sentence, private extraction, the strip branch removed, `self doctor` finding `SweptPayload` with remove-then-reinstall, e2e for the rule and the doctor |
491
+
| mcpp-community/mcpp |#639, version 2026.9.15.1 | B, C, the pin of §4, and the findings of 9.2 |
492
+
493
+
### 9.2 Found during implementation
494
+
495
+
1.**A digest string that GCC accepted and clang refused.** The selector digest
496
+
joined values with `"\x1f"` followed by a letter (`"\x1ffeatures"`), which
497
+
is one out-of-range hex escape. GCC truncated it; clang on macOS and Windows
498
+
refused the file. The separator is now a newline.
499
+
2.**The four S1 SHOULD fields.** lsp-mcpp's validator (`specs/tools/validate.py`,
`local-arguments` and `private`, which the first rendering omitted. Each is
502
+
now derived from the plan (5.4).
503
+
3.**An entry source read by a second parser.** Validating lsp-mcpp's own
504
+
database found a scanner test planned as importing `also.fake`, `in.raw` and
505
+
`real`, which are text inside its raw string literal. The entry of a target
506
+
that no `sources` glob matched was read by line-leading `import`, in two
507
+
places. Both now call `scan_entry_file` (5.4). A test source placed in
508
+
`src/` did not reproduce it, which is why the fixtures had never shown it.
509
+
4.**A precondition met by one runner's configuration.** e2e 687 inherited
510
+
the developer configuration, and the macOS runner's configuration names its
511
+
`~/.xlings` shim as the xlings binary: nothing was vendored and the test
512
+
stopped before either criterion. It now plans in a home with its own
513
+
configuration.
514
+
5.**The swept-payload fingerprint.** The first xlings rendering flagged any
515
+
top-level file with a download extension or a `.meta` name, so a package
516
+
shipping `setup.exe` would be reinstalled on every `--fix`. The fingerprint
517
+
is now a zero-length `<name>.lock` whose `<name>` is a sibling, has a download
518
+
extension, or has a `<name>.meta` sibling.
519
+
520
+
### 9.3 Measurements
521
+
522
+
| run | reading |
523
+
|---|---|
524
+
| lsp-mcpp `s1_semantics` and `mcpp_contract`, schema, argument decomposition | 0 failures on a GCC 16 project, an LLVM 22 project, and the lsp-mcpp repository (11 sets, `std` from openkal-llvm-runtime 0.9.6) |
525
+
| lsp-mcpp conformance runner with this mcpp in place of `lsp-mcpp-mock-mcpp`|`mcpp-emit` 12/12, `mcpp-emit-package-std` 13/13; a watch scenario on the real manifest 10/10 (an edit reloads; a broken manifest leaves the model stale with `MCPP_BUILD_DATABASE_PLAN_FAILED`; the repair makes it fresh) |
526
+
|`mcpp emit build-database` on the lsp-mcpp repository | 0.84 s; `git status` unchanged |
527
+
| e2e 687 on windows-2022 (39053b9a) | A and B pass: the second command prints no path error, and an older vendored xlings is replaced |
528
+
| e2e subset touching `mcpp test` and entry mains, Linux | 60 pass, 6 skipped for capability, 0 fail |
0 commit comments