rest.target { name = "", base_url = "http://localhost/api" } is
accepted silently today. An empty target name is meaningless — it
appears in CLI output, plan reports, and deploy-block resolution
and yields confusing output when blank.
Repro fixture: test/testdata/diagnostics/star-rest-empty-name/.
Currently snapshots abort: false, diagnostics: [].
Likely the same gap exists for local.target, ssh.target, etc.
(empty name = "" should be a field-level validation error across
all target types).
Expected: a step.target.EmptyName or similar typed diagnostic
when a target is constructed with name = "".
Acceptance: re-running SCAMPI_UPDATE_DIAGNOSTICS=1 go test ./test/diagnostics/ after the fix should produce a non-empty
diagnostics array for star-rest-empty-name. Optional: add
fixtures for local/ssh targets with empty names.
rest.target { name = "", base_url = "http://localhost/api" }isaccepted silently today. An empty target name is meaningless — it
appears in CLI output, plan reports, and deploy-block resolution
and yields confusing output when blank.
Repro fixture:
test/testdata/diagnostics/star-rest-empty-name/.Currently snapshots
abort: false, diagnostics: [].Likely the same gap exists for
local.target,ssh.target, etc.(empty
name = ""should be a field-level validation error acrossall target types).
Expected: a
step.target.EmptyNameor similar typed diagnosticwhen a target is constructed with
name = "".Acceptance: re-running
SCAMPI_UPDATE_DIAGNOSTICS=1 go test ./test/diagnostics/after the fix should produce a non-emptydiagnosticsarray forstar-rest-empty-name. Optional: addfixtures for
local/sshtargets with empty names.