Reproduction steps:
- Studio → Builder. Type exactly: List my Linear teams
- Click Build. Read the generated spec.
Expected: a spec calling linear.list_teams — a read.
Actual: the spec's only step is command_id: "linear.create_issue" — a write.
Reproduced twice. Second build (workflow_id list_linear_teams_v2, different integrity_root) produced the same command_id from the identical prompt. Outputs differed between builds (["team_id","team_name"] vs ["teams"]) but command selection did not.
Everything else in the spec describes a read:
workflow_id = list_linear_teams / list_linear_teams_v2
title = "List Linear Teams"
step label = "Get Linear Teams" / "Fetch Linear Teams"
outputs = ["team_id","team_name"] / ["teams"]
command_id is the single field that disagrees. inputs_template is {team_id}, {title}, {description} — create_issue's shape, not a list call.
linear.list_teams is registered in the same module (10 reads, 6 writes, 16 commands loaded, signature verified). The correct command was available and wasn't selected.
Banner printed both times: UNVERIFIED · Composed by a non-primary model (UNKNOWN_DEFAULTED_FALLBACK). Re-verify or rebuild before trusting the output.
Receipt panel showed result = UNVERIFIED, signature = ed25519 · signed, audited = 1 piece(s).
I did not click Run dry-run, so this is a report about composition, not execution. Header showed DRY-RUN · 0 external sends.
Concern: the intent mismatch is visible only in command_id. Title, label and outputs all read as safe. A user skimming the preview approves a write.
Questions: is UNKNOWN_DEFAULTED_FALLBACK expected here, and is command selection meant to be constrained by prompt intent?
Station version ('railcall version'): station-v0.65
Module slug + version: muhammad-akif-janjua/linear-guard v1.5.5