You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test(behaviour): step to assert a stage was skipped by its pre-script #8792
No behaviour step can tell that a stage was skipped by its pre-script. "the harness … workflow completes successfully" passes either way, because a skipped run still uploads its artifact. So a scenario cannot prove that a pre-script skip stopped the agent (see fullsend-ai/agents#1782: pre-review posts "Review skipped" but the agent still runs).
What should happen
Add a Then step in pkg/behaviourtest/steps:
the harness "<agent>" run was skipped by its pre-script: for the workflow run the scenario is tracking (w.WorkflowRun), read that run's fullsend-<agent> artifact and require that the pre-script skip was recorded and that no agent ran (no agent-result.json, no dummy behaviour-results.json). Fail with a message that names what was found.
Unit tests with a fake CI/artifact reader for: skipped run, run where the agent ran, missing artifact. Document it in docs/guides/dev/behaviour-testing.md.
Merge criterion
make test and make lint green with the new unit tests.
Triage found this issue ready to implement. Notes beyond the issue text:
How the skip is recorded: the CLI exits 0 on a pre-script skip, so only the artifact content tells the cases apart. internal/cli/run.go sets the root span attribute fullsend.prescript.skipped (and skip_reason) in run-telemetry.jsonl, which action.yml uploads inside fullsend-<agent>. internal/evalmeasure already parses that file, so the step can likely reuse it.
Artifact download: the existing ensureRunArtifacts helper requires behaviour-results.json (or metrics.json) as a marker, which a skipped run never produces. The new step needs its own download path based on DownloadNamedArtifactFromRun for w.WorkflowRun.
Open point for implementers: confirm run-telemetry.jsonl is written in behaviour-test runs. If it is not, another recorded skip signal will be needed. That would be a small scope extension.
Status: no PR is open for this issue yet. A code run was requested via /fs-code, and the no-sign-off instruction in that comment applies.
Proposed test case:
Fake artifact reader:
1. skipped run (skipped=true, no agent-result.json / behaviour-results.json) -> step passes
2. agent ran (agent-result.json or behaviour-results.json present) -> step fails, message names files found
3. artifact missing / download error -> step fails with clear message
Edges: skipped=true but agent output present; telemetry absent or attribute missing; w.WorkflowRun nil
Next steps:
/fs-code — agent creates a PR to implement this issue
/fs-code <your instruction> — agent implements with your specific guidance
Activity
waynesun09 commentedon Oct 24, 2026
/fs-code
Do not sign off commits: no
git commit -sand no Signed-off-by trailer.fullsend-ai-triage commentedon Oct 24, 2026
🤖 Triage ·⚠️ Cancelled · Ended 7:43 PM UTC
Commit:
6603bc5· View workflow run →fullsend-ai-coder commentedon Oct 24, 2026
🤖 Code · ❌ Terminated · Started 7:44 PM UTC · Ended 7:53 PM UTC
Commit:
6603bc5· View workflow run →fullsend-ai-triage commentedon Oct 24, 2026
🤖 Finished Triage · ✅ Success · Started 7:45 PM UTC · Completed 7:48 PM UTC
Commit:
6603bc5· View workflow run →Runtime: claude · Model: sonnet → claude-sonnet-5-5 · Effort: high · Cost: $0.20
fullsend-ai-triage commentedon Oct 24, 2026
Triage found this issue ready to implement. Notes beyond the issue text:
internal/cli/run.gosets the root span attributefullsend.prescript.skipped(andskip_reason) inrun-telemetry.jsonl, whichaction.ymluploads insidefullsend-<agent>.internal/evalmeasurealready parses that file, so the step can likely reuse it.ensureRunArtifactshelper requiresbehaviour-results.json(ormetrics.json) as a marker, which a skipped run never produces. The new step needs its own download path based onDownloadNamedArtifactFromRunforw.WorkflowRun.run-telemetry.jsonlis written in behaviour-test runs. If it is not, another recorded skip signal will be needed. That would be a small scope extension./fs-code, and the no-sign-off instruction in that comment applies.Proposed test case:
Next steps:
/fs-code— agent creates a PR to implement this issue/fs-code <your instruction>— agent implements with your specific guidancefullsend-ai-coder commentedon Oct 24, 2026
🤖 Finished Code · ✅ Success · Started 7:44 PM UTC · Completed 7:53 PM UTC
Commit:
6603bc5· View workflow run →Runtime: claude · Model: opus → claude-opus-5-5 · Effort: high · Cost: $1.75
fix(#8792): read the skip telemetry from the extracted artifact root
fix(#8792): find skip telemetry in the GitLab artifact layout too
test(fullsend-ai#8792): add step asserting a stage was skipped by its…
Merge pull request fullsend-ai#8793 from fullsend-ai/agent/8792-pre-s…
test(fullsend-ai#1784): assert the closed-PR review skip stops the stage