Skip to main content

max / pter

Pin the four counterexamples the amplified proptest cell found and lost astra runs this property at 100,000 cases nightly, in a materialized tree that is thrown away. So a counterexample it shrinks lives only in that run's log unless somebody copies the seed into this file, and nobody had: the cell went red on 2026-08-22, 08-25, 08-26 and 08-30 with four distinct shrunk inputs, and passed on 08-31 because the draws happened not to find one again. Three of the four are closed by the fix edge_cases.rs already carries. They stay because they cost nothing and they pin that fix. The fourth still fails, and it is why this file is worth having: <pre/><strong/><h1/><br> </br> -> ```\n**\n\n#\n\n\n**\n``` Empty inline and heading elements outside the fence still emit their own separators, so a triple newline reaches the output. Reproduces in 0.17s with these seeds against the 44,991 draws it took to find. The suite is red until that is fixed, which is the correct state -- the defect predates this commit and was merely invisible.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01MptwXZ8k65v19rFmdGAyki
Author: Max Johnson <me@maxj.phd> · 2026-08-31 23:29 UTC
Signed with PGP, not checked
Commit: 55d0db17e4071a807c73e94e22148ca057e0a3f1
Parent: 01d23d0
1 file changed, +27 insertions, -0 deletions
@@ -1,0 +1,27 @@
1 + # Seeds for failure cases proptest has generated in the past. It is
2 + # automatically read and these particular cases re-run before any
3 + # novel cases are generated.
4 + #
5 + # It is recommended to check this file in to source control so that
6 + # everyone who runs the test benefits from these saved cases.
7 + #
8 + # Harvested by hand from astra's witchbroom `proptest` cells (infra b5f0148d).
9 + # The amplified cell runs 100,000 cases in a materialized tree that is thrown
10 + # away, so a counterexample it finds survives only if somebody copies the seed
11 + # here. These four were each found and lost before that was noticed.
12 + #
13 + # run shrunk input status when harvested
14 + # 2026-08-22T092633Z <pre><p> </p></pre> fixed
15 + # 2026-08-25T092134Z <pre><br> </br></pre> fixed
16 + # 2026-08-26T092804Z <pre/><br> </br> fixed
17 + # 2026-08-30T092324Z <pre/><strong/><h1/><br> </br> STILL FAILS
18 + #
19 + # The first three are the family tests/edge_cases.rs already closed via
20 + # a_pre_holding_only_whitespace_block_markup_closes_an_empty_fence; they are kept
21 + # because they cost nothing and they pin that fix. The fourth is a live defect:
22 + # empty inline and heading elements outside the fence still emit their own
23 + # separators, so `**\n\n#\n\n\n**` reaches the output with a triple newline in it.
24 + cc a6b9b206a836a1662b2ae9674209b7423c6a55a630f727421673c85b83355500 # shrinks to html = "<pre><p> </p></pre>"
25 + cc 5d29cfc52912dd3c052feb2ee5e3e407bded434952e72aef1a3cf6da3f163dff # shrinks to html = "<pre><br> </br></pre>"
26 + cc 24bebc61c2a9fb9243259743c280f8499e71afeac109fcf49a00f73f881d7265 # shrinks to html = "<pre/><br> </br>"
27 + cc 14c192c42d00f6a4659517688e68699b837dd6e752d78a49d53692a8013dfb69 # shrinks to html = "<pre/><strong/><h1/><br> </br>"