feat(trace): record the label source as arm membership

Recorded for seeded runs too, unlike model and instructions. Without it the two
seeded cells are indistinguishable in the artifact and the manipulation check
cannot be grouped.

Claude-Session: https://claude.ai/code/session_01A5KmftdEJ49A9z5mF5ESrX
This commit is contained in:
pj committed 2026-08-12 23:19:24 +05:30
1 parent de00412f67
commit ba8c4810cf
4 files changed
+43 -8

No files matched your search

+5
View File
@@ -40,6 +40,9 @@ type Options struct {
Arm string
// Generator selects the action picker: "llm" or the default seeded picker.
Generator string
// LabelSource selects how candidates are named to the model picker, and is
// recorded in meta.json as part of the run's cell.
LabelSource string
// iosUDID, iosIsSimulator, and iosCoreDeviceID are filled by Execute after
// resolving the iOS target, then read by buildDriver to choose the simulator
@@ -66,6 +69,7 @@ func buildRunMeta(options Options, bundleSHA256 string, seed int64, host string,
SanderlingVersion: "0.0.1",
Arm: options.Arm,
Generator: options.Generator,
LabelSource: options.LabelSource,
MaxSteps: options.MaxSteps,
DurationMillis: options.Duration.Milliseconds(),
Host: host,
@@ -198,6 +202,7 @@ func Execute(ctx context.Context, options Options, stdout io.Writer) error {
TraceWriter: traceWriter,
Logger: newProgressLogger(stdout),
Generator: options.Generator,
LabelSource: options.LabelSource,
})
terminateCtx, terminateCancel := context.WithTimeout(context.Background(), 5*time.Second)