Honor or retire the --trace NAME family name (currently discarded) #238

Closed
opened 2026-07-11 14:21:46 +02:00 by Brummel · 1 comment
Owner

Milestone fieldtest finding (2026-07-11, friction; consumer POV at d3ad9f4): --trace <NAME> on sweep (and per --help walkforward) advertises "Family name that also persists each member's taps", yet the supplied name appears in none of the surfaces the user next needs. Observed: aura sweep … --trace mom-ger40-sept24 printed the handle bb1994f9-0, wrote runs/traces/bb1994f9-0/…, and runs families listed only bb1994f9-0-GER40-w0-r0-s0-0 — no name field anywhere; aura chart mom-ger40-sept24 fails. The task completes, but the flag's advertised purpose (name the family) has no observable effect, so a user cannot address their own family by the name they chose.

Two directions, neither clearly default (the choice touches the content-addressed handle convention, C18):

  • honor the name as an addressable alias (chart / runs / reproduce resolve it alongside the content-addressed handle);
  • reword the flag to what it currently is (a persist-traces toggle whose handle is content-addressed) and drop the name parameter.
Milestone fieldtest finding (2026-07-11, friction; consumer POV at d3ad9f4): `--trace <NAME>` on sweep (and per `--help` walkforward) advertises "Family name that also persists each member's taps", yet the supplied name appears in none of the surfaces the user next needs. Observed: `aura sweep … --trace mom-ger40-sept24` printed the handle `bb1994f9-0`, wrote `runs/traces/bb1994f9-0/…`, and `runs families` listed only `bb1994f9-0-GER40-w0-r0-s0-0` — no name field anywhere; `aura chart mom-ger40-sept24` fails. The task completes, but the flag's advertised purpose (name the family) has no observable effect, so a user cannot address their own family by the name they chose. Two directions, neither clearly default (the choice touches the content-addressed handle convention, C18): - honor the name as an addressable alias (chart / runs / reproduce resolve it alongside the content-addressed handle); - reword the flag to what it currently is (a persist-traces toggle whose handle is content-addressed) and drop the name parameter.
Brummel changed title from Honor or retire the --trace <NAME> family name (currently discarded) to Honor or retire the --trace NAME family name (currently discarded) 2026-07-11 14:22:13 +02:00
Author
Owner

Decision (2026-07-11, autonomous run): honor the name — as a read-time resolution query, not new store state.

The supplied --trace <NAME> is already durable: it lands in the generated campaign document's name field, content-addressed in the registry. The trace handle stays content-derived ({campaign8}-{run}, the recorded convention) — the content-addressing convention (ledger C18) is untouched, because the name never becomes a store key; it is resolved by querying what is already recorded.

Chosen: aura chart <ARG> resolves in two steps — the exact handle/run name first (unchanged); otherwise the recorded campaign runs whose campaign document carries name == ARG and a persisted trace_name. Exactly one match resolves to its handle; several matches refuse, listing the candidate handles in deterministic order (re-running the same named invocation legitimately produces {campaign8}-0, {campaign8}-1, …) so the user picks explicitly — refuse-don't-guess over latest-wins, which would silently shadow older recorded runs. No match falls through to today's not-found path.

Rejected: retiring the name parameter (rewording --trace to a bare persist toggle) — the flag is shipped, documented surface (authoring guide §3), and the fieldtest's observed expectation (charting by the chosen name) is deliverable without touching the handle convention.

Scope: the resolution lands on the chart surface, where the friction was observed; the same query is reusable on other lookup surfaces if wanted later. The families list keeps content-derived names (a name column needs a join against campaign-run records — deferred until a consumer asks).

Decision (2026-07-11, autonomous run): honor the name — as a read-time resolution query, not new store state. The supplied `--trace <NAME>` is already durable: it lands in the generated campaign document's `name` field, content-addressed in the registry. The trace handle stays content-derived (`{campaign8}-{run}`, the recorded convention) — the content-addressing convention (ledger C18) is untouched, because the name never becomes a store key; it is resolved by querying what is already recorded. Chosen: `aura chart <ARG>` resolves in two steps — the exact handle/run name first (unchanged); otherwise the recorded campaign runs whose campaign document carries `name == ARG` and a persisted `trace_name`. Exactly one match resolves to its handle; several matches refuse, listing the candidate handles in deterministic order (re-running the same named invocation legitimately produces `{campaign8}-0`, `{campaign8}-1`, …) so the user picks explicitly — refuse-don't-guess over latest-wins, which would silently shadow older recorded runs. No match falls through to today's not-found path. Rejected: retiring the name parameter (rewording `--trace` to a bare persist toggle) — the flag is shipped, documented surface (authoring guide §3), and the fieldtest's observed expectation (charting by the chosen name) is deliverable without touching the handle convention. Scope: the resolution lands on the chart surface, where the friction was observed; the same query is reusable on other lookup surfaces if wanted later. The families list keeps content-derived names (a name column needs a join against campaign-run records — deferred until a consumer asks).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#238