feat(gatorwalk-factory): a factory has one name, its model's (swamp-club #2816) #412

Merged
seth merged 2 commits from cue/2816-gatorwalk-factory-factory into main 2026-10-01 15:34:15 +00:00
Owner

Closes swamp-club #2816.

What

A factory has one name: its model's. Since #2884 the factory definition lives in the factory model's globalArguments, so the definition's own name duplicated the model's name (and they differed in practice: the dogfood factory swamp-extensions held a definition named swamp-club-swamp-extensions).

  • Schema: DefinitionSchema has no name. A definition that still carries one is a schema error from both swamp model validate and gatorwalk's validate.
  • Keys: new_key leads keys with the factory's name (team-add-list-method-r2ne).
  • Run record, journal, metrics: a factory field replaces definition.name (definition keeps { digest, version }). Records written before this change are not read: there are no users before go-live, so RUN_SCHEMA_VERSION stays 1.
  • Display: validate/design_page output (factory field), the summary report, ticket comments, the design page and the studio show the factory's name. The studio reads it from the model file's top-level name.
  • Saved scenarios run in memory under the factory name scenario, as their tracker instance already is.
  • Examples, fixtures, driving.md and DESIGN.md updated, with a decision-log entry.

Decisions (with Seth, in triage)

Drop the field rather than require a match or keep both. Reject it rather than ignore it. Use factory in the run record. No compatibility for old records. Keys may start with a digit, since swamp model names can.

Verification

verify-build and verify-reviews passed on b1303f2 (12/12, 2 guarded skips), and the attestation was posted. Both reviews passed with only low, cosmetic findings: a blank studio heading if a model file has no name, and selfName(ctx) called twice in new_key.

Rebased onto #2840 and #2873.

🤖 Generated with Claude Code

Closes swamp-club #2816. ## What A factory has one name: its model's. Since #2884 the factory definition lives in the factory model's `globalArguments`, so the definition's own `name` duplicated the model's name (and they differed in practice: the dogfood factory `swamp-extensions` held a definition named `swamp-club-swamp-extensions`). - **Schema:** `DefinitionSchema` has no `name`. A definition that still carries one is a schema error from both `swamp model validate` and gatorwalk's `validate`. - **Keys:** `new_key` leads keys with the factory's name (`team-add-list-method-r2ne`). - **Run record, journal, metrics:** a `factory` field replaces `definition.name` (`definition` keeps `{ digest, version }`). Records written before this change are not read: there are no users before go-live, so `RUN_SCHEMA_VERSION` stays 1. - **Display:** `validate`/`design_page` output (`factory` field), the summary report, ticket comments, the design page and the studio show the factory's name. The studio reads it from the model file's top-level `name`. - **Saved scenarios** run in memory under the factory name `scenario`, as their tracker instance already is. - Examples, fixtures, `driving.md` and DESIGN.md updated, with a decision-log entry. ## Decisions (with Seth, in triage) Drop the field rather than require a match or keep both. Reject it rather than ignore it. Use `factory` in the run record. No compatibility for old records. Keys may start with a digit, since swamp model names can. ## Verification verify-build and verify-reviews passed on b1303f2 (12/12, 2 guarded skips), and the attestation was posted. Both reviews passed with only low, cosmetic findings: a blank studio heading if a model file has no `name`, and `selfName(ctx)` called twice in `new_key`. Rebased onto #2840 and #2873. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
A factory definition no longer has a name field of its own; the factory
model's name is the only one. A definition that still has `name` is a
schema error, from swamp's model validate and from gatorwalk's validate.

- new_key leads keys with the factory's name.
- The run record and the started journal event carry `factory` in place
  of `definition.name`. Records written before this are not read.
- validate, design_page, the summary report, ticket comments, the design
  page and the studio show the factory's name.
- Examples, fixtures and docs drop the field; DESIGN.md records the
  decision.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
fix(gatorwalk-factory): the metrics record names the factory (swamp-club #2816)
All checks were successful
CI / Review Integrity (pull_request) Successful in 48s
CI / Validate Attestation (pull_request) Successful in 1m32s
b1303f22df
The metrics record copied run.definition, which held the definition's
name before; it now carries run.factory beside it, so a metrics record
still says which factory the work item ran in.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
seth merged commit a6a9c9a604 into main 2026-10-01 15:34:15 +00:00
seth deleted branch cue/2816-gatorwalk-factory-factory 2026-10-01 15:34:16 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
swamp-club/swamp-extensions!412
No description provided.