People type the early-access form's Venture field by hand ("Cartridge", "Loot Drop"); the counter accepted only the exact slug once the field was filled, so the first Claude ventures' signups would have been missed on day 7.
venture.py: _key() (lowercase, letters and digits only) and names_of(w) (slug, name, home, aliases); a filled field counts when its key is one of them
the title fallback for an empty field is unchanged
test 79: "Star Checker", "star checker!", "STAR-CHECKER", "starchecker" count; "Cartridge" counts for box-art-night by name and by home; "deck preview" counts by alias; "Star" and "!!" don't
Closes #158
People type the early-access form's Venture field by hand ("Cartridge", "Loot Drop"); the counter accepted only the exact slug once the field was filled, so the first Claude ventures' signups would have been missed on day 7.
- `venture.py`: `_key()` (lowercase, letters and digits only) and `names_of(w)` (slug, name, `home`, `aliases`); a filled field counts when its key is one of them
- the title fallback for an empty field is unchanged
- test 79: "Star Checker", "star checker!", "STAR-CHECKER", "starchecker" count; "Cartridge" counts for `box-art-night` by name and by `home`; "deck preview" counts by alias; "Star" and "!!" don't
Suite green locally (`ALL OK 79`).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_017K4vyY3yUD3GsvoZaAtKkD
The change does what card #158 asks, and CI (ci / test) is green on the head commit. Notes:
.github/time/venture.py:1111-1116: _key and names_of are simple and correct. Empty keys are dropped, so a field of "!!" or "-" matches nothing. The set[str] annotation needs Python 3.9+, which the repo's CI already uses.
.github/time/venture.py:1123: the filled-field branch now compares normalized keys. The title fallback is untouched, as the card requires.
.github/time/test_time.py:1032-1038: the new asserts cover the spellings in the card, the home folder, an old alias, and the negatives ("Star", "!!"). They pass in CI.
Gap: the tests use hand-built venture dicts, so nothing checks that the real registry actually carries home and aliases in the shape names_of reads. The "home": "cartridge" fixture may not match the real value format (e.g. ventures/cartridge), and the mdecks alias is also only asserted on a constructed dict. Worth a quick look at the real registry entries before day 7.
Minor: a single field can now match more than one venture if one venture's alias equals another's name. Nothing in the diff handles that, and no test covers it. It's unlikely with current names, so I'd leave it as a follow-up.
CHANGELOG entry is accurate and in the right section.
review by haiku · claude-haiku-5-5 · via Time
**Approve**
The change does what card #158 asks, and CI (`ci / test`) is green on the head commit. Notes:
- `.github/time/venture.py:1111-1116`: `_key` and `names_of` are simple and correct. Empty keys are dropped, so a field of "!!" or "-" matches nothing. The `set[str]` annotation needs Python 3.9+, which the repo's CI already uses.
- `.github/time/venture.py:1123`: the filled-field branch now compares normalized keys. The title fallback is untouched, as the card requires.
- `.github/time/test_time.py:1032-1038`: the new asserts cover the spellings in the card, the home folder, an old alias, and the negatives ("Star", "!!"). They pass in CI.
- Gap: the tests use hand-built venture dicts, so nothing checks that the real registry actually carries `home` and `aliases` in the shape `names_of` reads. The `"home": "cartridge"` fixture may not match the real value format (e.g. `ventures/cartridge`), and the `mdecks` alias is also only asserted on a constructed dict. Worth a quick look at the real registry entries before day 7.
- Minor: a single field can now match more than one venture if one venture's alias equals another's name. Nothing in the diff handles that, and no test covers it. It's unlikely with current names, so I'd leave it as a follow-up.
- CHANGELOG entry is accurate and in the right section.
<sub>review by haiku · claude-haiku-5-5 · via Time</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #158
People type the early-access form's Venture field by hand ("Cartridge", "Loot Drop"); the counter accepted only the exact slug once the field was filled, so the first Claude ventures' signups would have been missed on day 7.
venture.py:_key()(lowercase, letters and digits only) andnames_of(w)(slug, name,home,aliases); a filled field counts when its key is one of thembox-art-nightby name and byhome; "deck preview" counts by alias; "Star" and "!!" don'tSuite green locally (
ALL OK 79).🤖 Generated with Claude Code
https://claude.ai/code/session_017K4vyY3yUD3GsvoZaAtKkD
Approve
The change does what card #158 asks, and CI (
ci / test) is green on the head commit. Notes:.github/time/venture.py:1111-1116:_keyandnames_ofare simple and correct. Empty keys are dropped, so a field of "!!" or "-" matches nothing. Theset[str]annotation needs Python 3.9+, which the repo's CI already uses..github/time/venture.py:1123: the filled-field branch now compares normalized keys. The title fallback is untouched, as the card requires..github/time/test_time.py:1032-1038: the new asserts cover the spellings in the card, the home folder, an old alias, and the negatives ("Star", "!!"). They pass in CI.homeandaliasesin the shapenames_ofreads. The"home": "cartridge"fixture may not match the real value format (e.g.ventures/cartridge), and themdecksalias is also only asserted on a constructed dict. Worth a quick look at the real registry entries before day 7.review by haiku · claude-haiku-5-5 · via Time