# Purpose cues in 628 fixed H3 catalog records

This is a text-coding study, not a model test. Its grain is one catalog record. It does not count users, search queries, successful generations, independent experiments, or all public H3 cases. No video/audio is fetched by the runner.

## 01. Understand the fixed internal input boundary

The parent catalog snapshot contains 3,784 records; `modelId == "MiniMax-H3"` retains 628. Internal revision `28f0a1e20a782f6a40ade97e7c9c2741e9e880cd` identifies the analyzed repository snapshot, not a publicly downloadable source file. Current public cases can be inspected at https://minimaxh3.studio/prompts, but that current directory is not immutable and is not equivalent to the frozen input.

Full source bytes SHA-256: `7dbaed6887c829fa421fd9d7b20a27b96f958a93c459915efbbfa8fcdee61fc4`. H3-subset canonical SHA-256: `340970a0cb1fb7197bf5b63271ec7055433b62a663ce5baa7f9760b0af9e625e`. Canonical JSON uses UTF-8, `ensure_ascii=False`, sorted object keys, compact separators and original list order.

This package distributes derived records, hashes, rules, code and twelve synthetic tests; it does not redistribute the 628 prompt texts. A full-statistics replay is conditional: supply an authorized local catalog file matching both hashes. The recorded receipts prove the actual internal executions, not public input availability. Keep `run-study.py` beside `coding-rules.json`.

## 02. Reproduce the final v1.1 analysis

The twelve synthetic tests run directly with Python 3 standard library and require no source corpus, installation, API key or model generation. The second command below requires the authorized matching input described above. Use a fresh output directory:

```sh
python3 test-study.py -v
python3 run-study.py --catalog /path/to/minimax-h3-prompts.json --out-dir ./my-study-run
```

The runner requires both source hashes to match and refuses an existing output directory. It normalizes only the `prompt` field with Unicode NFKC, casefold and collapsed whitespace. It never codes generated titles, descriptions, mapped categories or tags. Eight English/Chinese phrase families are binary per record and may overlap. An explicit bounded negation filter suppresses documented negative clauses; it is not semantic understanding. `coded-records.json/csv` retains each positive and suppressed match with normalized-text offsets.

The first v1.0 sanity pass mistakenly counted a negative commercial comparison and prohibited interface references. `coding-sanity-review.json` describes the correction; `method-history/` preserves the old codebook and first summary. Final v1.1 counts were completely rerun, with twelve targeted boundary tests. This is not preregistration, an inter-rater study or a classifier-accuracy estimate.

## 03. Check denominators, unknowns and duplicates

The primary denominator remains all 628 selected records, with no empty prompts and no record removed. 323 originalMode fields are unspecified (51.43%). They stay unknown even when the site's mapped mode routes them to a text/reference workspace. These fields do not prove accepted provider request parameters.

319 records match at least one family; 309 (49.20%) do not match the codebook. Unmatched does not mean no purpose. 96 records have multiple labels, producing 457 assignments. The eight label shares sum to 72.77% here; overlap means such shares are not parts of one 100% partition. Rounding can also make a raw-mode share total differ slightly from 100%.

Exact normalized-prompt and exact nonempty-video-URL duplicate groups are both zero in this frozen subset. `dedup-sensitivity.csv` explicitly retains denominator 628. The alternative policy would keep the lexicographically smallest opaque sampleId per exact key; it does not merge empty keys or find visually similar videos. The existing catalog had prior import selection; that history is outside this study.

581/628 records have an x.com source URL (92.52%). This is a convenience catalog, not a representative sample or market-demand survey. Domain counts are record counts, not counts of unique authors or independent experiments. Preserve exact source URLs; opaque source IDs are not necessarily original social-post IDs.

## 04. Inspect evidence and preserve limits

`results/execution-receipt.json` binds the final script, rules, source identity and generated tables/figures. SVG charts are generated from the same summary and are statistical artwork from code, not AI covers. `purpose-counts.csv` and `mode-counts.csv` provide exact numerators/denominators; `coded-records.*`, `source-attributions.csv`, and `unmatched-records.csv` provide the row-level audit trail.

Any browser observations are kept separately from these 628-row statistics. The twelve cases were purposively selected for cue/unknown-mode contrasts, not randomly sampled. Only actual viewed intervals may be described; unplayed media and unheard audio remain unknown. Do not treat video UI imagery as working software, product imagery as performance proof, documentary styling as real documentary footage, or this study as model quality, success rate, search demand or organic traffic evidence.

A second actual execution in a fresh output directory produced 13 deterministic outputs identical byte for byte; `replay-receipt.json` records both hashes. The timestamped execution receipt is deliberately excluded from byte-equality comparison. `previews/` and `chart-preview-receipt.json` are SVG raster exports used for visual layout inspection; they are separate from the standard-library statistical run.

The completed built-in-browser check has 12 records and 28 actually displayed image samples. `watch-log.json/csv` publish case-level observations, sample times, raw modes and private screenshot hashes. The initial buffered telescope seek is excluded. All audio is `not-listened`; no exact-cut/frame audit, full-sequence proof or success rate is claimed. `watch-log-receipt.json` verifies all 28 private screenshot hashes without distributing screenshots, private paths or remote media. The visual check does not change the 628-row text-statistics denominator.

`watch-requests.json` is the historical selection plan. Its awaiting status is not the final viewing result; use `watch-log.json` for the completed observation. `SHA256SUMS` binds the package files, and `study-kit.zip` distributes the same files without copying the prompt corpus or private screenshots.
