Writes the openings file, the room's table of contents for the case lead.
What it holds
python3 render_openings_v32.py coder_corpus.jsonl <sub> [--out-dir DIR].
One block per thread in time order: a metadata line, a line of counts
(comments in the window and in all, branches, depth, authors, the sum of
scores), the title, and the opening post cut at 500 words. Above a size
threshold it also writes openings_titles.md and
openings_digest.md (counts per hour, stickied and moderator
posts, the ten highest-scored titles per hour).
Who writes it, and when
The instrument's author. newrun.py calls it for the case
lead only; fleet batches get no openings file.
Why it exists
"So that a lead who never reads the raw threads still knows what was posted when and how big each thread grew." It is "orientation, not material": the lead codes nothing from it (CONTRACT-case-lead ยง1a).
Where
render_openings_v32.py.
Output: record/openings.md in the materials archive and
run/openings.md in the run archive.
Checked against: render_openings_v32.py, newrun.py, CONTRACT-case-lead.v32.md