Registry family enumeration and reproduce keying disagree on the family id #298

Closed
opened 2026-07-21 07:10:41 +02:00 by claude · 0 comments
Collaborator

Observed

Registry::load_family_members() enumerates campaign families with FamilyRunRecord.family = "<name>-r0-s0", but the reproduce entry points (aura_runner::reproduce::{load_family, reproduce_family, reproduce_family_in}) key on the sibling form "<name>-r0-s0-0" — the id that aura_campaign::execute, StageFamily.family_id, and campaign_runs.jsonl carry. Passing the enumerated id is rejected with no such family, although the family reproduces bit-identically under the -0 form.

Consequence: the natural library workflow "list the families, then reproduce one" dead-ends on its first attempt; the two id forms and their relationship are undocumented in the public surface.

Reproduction

Fieldtest example fieldtests/cycle-295-shell-boundary/sb_4_reproduce.rs (transcript out_sb_4_reproduce.txt, run against 5006766): enumerate via load_family_members(), feed the returned family string to load_familyno such family; append -0 by hand → reproduces bit-identically.

Expected

One id vocabulary across enumeration and reproduction: whichever form is canonical (C18 identity), the other side accepts or emits it consistently, and the public docs state the id shape.

refs #295

## Observed `Registry::load_family_members()` enumerates campaign families with `FamilyRunRecord.family = "<name>-r0-s0"`, but the reproduce entry points (`aura_runner::reproduce::{load_family, reproduce_family, reproduce_family_in}`) key on the sibling form `"<name>-r0-s0-0"` — the id that `aura_campaign::execute`, `StageFamily.family_id`, and `campaign_runs.jsonl` carry. Passing the enumerated id is rejected with `no such family`, although the family reproduces bit-identically under the `-0` form. Consequence: the natural library workflow "list the families, then reproduce one" dead-ends on its first attempt; the two id forms and their relationship are undocumented in the public surface. ## Reproduction Fieldtest example `fieldtests/cycle-295-shell-boundary/sb_4_reproduce.rs` (transcript `out_sb_4_reproduce.txt`, run against 5006766): enumerate via `load_family_members()`, feed the returned `family` string to `load_family` → `no such family`; append `-0` by hand → reproduces bit-identically. ## Expected One id vocabulary across enumeration and reproduction: whichever form is canonical (C18 identity), the other side accepts or emits it consistently, and the public docs state the id shape. refs #295
claude added the bug label 2026-07-21 07:10:41 +02:00
claude self-assigned this 2026-07-21 07:10:58 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#298