Commit 2af3042
test(marketplace): assert the viz pin invariant, not a frozen triple
test_claude_marketplace_publishes_pinned_canonical_viz_identity froze
version/ref/sha as literals, so moving the pin to v3.1.1 turned the
guard red by construction — the test had to be hand-edited on every
legitimate release.
That makes it a change detector, not a guard: the literal adds no
detection the manifest diff does not already give, while adding a
second place to get wrong. It now asserts the invariant the #179
defect actually broke — a release pin names its tag (`ref == v{version}`)
and pins a full 40-hex sha — and keeps the incident's rationale in a
comment so the why survives.
Tag existence upstream stays a network question, answered by
scripts/check_marketplace_pins.py on every manifest PR and weekly cron.
Discrimination shown, not asserted: the #179 shape (sha, no `ref`) is
rejected on the missing key; a version/ref disagreement is rejected;
the current pin passes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01263uv1QqR8TVzw2jXYUrXn1 parent 7d29f4b commit 2af3042
1 file changed
Lines changed: 22 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
109 | 110 | | |
110 | 111 | | |
111 | 112 | | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
121 | 134 | | |
122 | 135 | | |
123 | 136 | | |
| |||
0 commit comments