feat(harness): wire Lint() diagnostics into fullsend run and lock - #2362
Conversation
Site previewPreview: https://af116a89-site.fullsend-ai.workers.dev Commit: |
|
🤖 Finished Review · ✅ Success · Started 8:07 PM UTC · Completed 8:17 PM UTC |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
Looks good to me Previous runLooks good to me Previous runReviewFindingsMedium
Low
Previous runLooks good to me Previous run (2)ReviewFindingsMedium
Low
|
91943cf to
eb89d2f
Compare
|
🤖 Finished Review · ✅ Success · Started 8:42 PM UTC · Completed 8:54 PM UTC |
Call h.Lint() after harness loading in both `fullsend run` and `fullsend lock` commands to surface non-fatal warnings. Currently warns when the `role` field is missing from a harness file. This is Phase 3 PR 3 of ADR-0045. Lint diagnostics are informational only — commands still succeed regardless of warnings. For `fullsend lock`, diagnostics are deduplicated across forge variants and include the agent name for context. Severity-aware emission: warnings use StepWarn, errors use StepFail to ensure future SeverityError diagnostics are visually distinct. Signed-off-by: Greg Allen <gallen@redhat.com> Signed-off-by: Claude <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
eb89d2f to
f4e19d5
Compare
|
🤖 Finished Review · ✅ Success · Started 12:20 AM UTC · Completed 12:32 AM UTC |
|
🤖 Finished Retro · ✅ Success · Started 1:20 AM UTC · Completed 1:25 AM UTC |
Retro: PR #2362 — Wire Lint() diagnostics into fullsend run and lockWorkflow quality: Good. This human-authored PR had a clean workflow with high-quality review feedback. Timeline
Assessment
Existing coverageThe main pattern observed — review agent approving while posting low-severity findings that drive author rework — is already tracked in #1368 ("Review agent approval with residual findings drives unnecessary author rework") and #2029 ("Review agent: use COMMENT verdict for re-reviews with only low-severity findings"). No new proposals filed — this workflow executed well and the one systemic pattern is already tracked. |
Summary
h.Lint()intofullsend runafter harness loading to surface non-fatal warningsh.Lint()intofullsend lockwith deduplication across forge variantsrolefield is missing from harness filesThis is Phase 3 PR 3 of ADR-0045 (Forge-Portable Harness Schema).
Context
ADR-0045 Phase 3 is the "Deprecate" milestone. This PR implements the first step: surfacing lint diagnostics in CLI commands. The
Lint()method andDiagnostictype already exist ininternal/harness/lint.go(shipped in Phase 1).Lint diagnostics are informational only — commands still succeed regardless of warnings. This prepares users for Phase 4 where
rolewill become required.Test plan
go build ./cmd/fullsend/compilesgo test ./internal/cli/... -run "TestRun|TestLock"passesmake lintpassesfullsend runon harness withoutrole→ warning printed, command succeedsfullsend lock --allon harnesses withoutrole→ warnings printed (deduplicated), command succeedsRelated
docs/ADRs/0045-forge-portable-harness-schema.mddocs/plans/adr-0045-forge-portable-harness-phase3.md🤖 Generated with Claude Code