Repository navigation
fix(map): the Code map gate's fixtures and history, and the one-time pin bootstrap - #1063
Merged
Merged
Conversation
CI's pin tests failed on two assumptions the local run could not show. The four board-log fixtures were never committed. `.gitignore`'s `*.log` made `git add` of their directory skip them silently, so they existed only on the machine that captured them. A negation, `!ci/fixtures/board-logs/*.log`, now tracks exactly those four real `cargo test` runs. The Code map job checked out one commit, while the pins' tests read history: a commit's parent, and the repository's first commit, which holds no pins. Its checkout now fetches full history, as the Pin evidence job's already does. ci/test_intent_pins.py: 14/14.
specs/requirements/INTENT_PINS.tsv pins every requirement row of the intent manifest, known holes included. It was written by `ci/intent_pins.py pin-unpinned` from CI's own run of main at 8b28149 (run 36556460780): - the code-map artifact: the Linux map with the Android, storage-node and host test builds indexed; - the Pin evidence job's log: with nothing pinned yet, it ran every requirement row's evidence tests on that commit, 289 distinct tests in 18 cargo runs, and every one passed. Before writing, the command checked that: - this tree's compiled code is 8b28149's (`code_at`); - CI's map fingerprints as this tree (`fresh`); - the map indexed every build; - every evidence test resolves to one definition and passed in that log. Against that map (--built android,node): - the intent manifest reads 1,074 rows, 0 failing, 6 known holes; - the pins read 561/561 PINNED. Checked live against the real pins: a CONFORMANCE §8 status edit (MR-STOR-0146 Met -> Partial) stales both its pins under `status`, and a manifest citation edit stales its pin under `citation`. That is exactly the markdown-only change the old path filter skipped. Both edits were restored. From here only `pin KEY` and `repin KEY` change a pin, one key at a time.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Main's Code map check has been red since #1057 merged. It was merged before its last two steps, and this PR is those two steps.
What was red on main (run 36556460780, at 8b28149)
.gitignore's*.logsilently kept the four board-log fixtures out of feat(map): Stage 2, evidence pins and an always-run merge gate #1057, so they existed only on the capturing machine.The same run's Pin evidence job passed. With nothing pinned, it ran every requirement row's evidence tests on 8b28149, 289 distinct tests in 18 cargo runs, and every one passed. Its log and the run's code-map artifact are what the bootstrap below pins from.
Commits
.gitignorenegation now tracks exactlyci/fixtures/board-logs/*.log.fetch-depth: 0.ci/intent_pins.py pin-unpinnedwrote 561 pins, one per requirement row with known holes included, all at 8b28149.Verified against CI's map (android and node indexed)
The intent manifest reads 1,074 rows, 0 failing and 6 known holes.
The pins read 561/561 PINNED.
ci/test_intent_pins.pypasses 14/14.Live on the real pins, both edits restored afterwards:
status;citation.The first is the markdown-only change the old path filter skipped.
On this PR's CI
From here, only
pin KEYandrepin KEYchange a pin, one key at a time. Making Code map a required check waits for the owner's approval.