Skip to content

afx spawn --name <slug>: human-meaningful labels for builders, especially opaque task-spawn IDs #1329

Description

@waleedkadous

Problem (production request, owner-worded)

Numbered spawns self-describe through their issue (bugfix-3631), but --task spawns get opaque random ids (task-oxFs, task-aplk) that carry no meaning in afx status, monitors, or messages — every architect ends up hand-glossing ids in every human-facing sentence. Multi-lane workspaces running many ad-hoc task builders feel it most.

Ask

--name <slug> on afx spawn --task (ideally all spawn forms), where the name:

  1. shows as a column in afx status;
  2. is accepted as an afx send address alias (resolved alongside the canonical id; ambiguity → the existing AMBIGUOUS error path, and the builder-side spoofing rules apply to the alias exactly as to the id);
  3. appears in the worktree directory and branch name (task-oxFs-seed-metrics or similar — keeping the random id as uniqueness suffix avoids colliding two --name probe spawns).

Validation: same rule as architect names ([a-z][a-z0-9-]*, bounded length) — the grammar already exists.

Notes

  • Registry: builders table already carries task_text; a display_name column (or reusing the label field afx rename writes for shells) keeps this from becoming a second identity — the canonical id stays the primary key everywhere; the name is presentation + address alias only.
  • Case-normalization interaction: spawn: builder id is lowercased but the worktree/branch name preserves case #1312 (spawn lowercases the id while worktree/branch keep original case) should be settled by whoever implements this, since names embedded in worktree/branch paths hit the same normalization question.
  • Not urgent; quality-of-life. Credit: shannon workspace architect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/towerArea: Tower server / agent farm CLI

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions