docs: harness env var literals are not hardcoded mistakes - #731
Conversation
Agents reviewing PRs (see #682) have been flagging literal values in harness env.runner/env.sandbox blocks as hardcoded bugs and suggesting ${VAR} passthrough or a CI workflow env: entry instead. Per ADRs 0080/0081 in fullsend-ai/fullsend, literals are the intended shape and base: composition is the only supported override path. Add terse guidance to AGENTS.md so this stops recurring. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
harness/code.yaml isn't merged yet; harness/review.yaml already ships REVIEW_FINDING_SEVERITY_THRESHOLD as a literal, so use that instead. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
PR Summary by QodoDocs: clarify harness env var literals aren’t hardcoded mistakes
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
|
🤖 Finished Review · ✅ Success · Started 7:29 PM UTC · Completed 7:41 PM UTC Commit: |
Code Review by Qodo
1.
|
ReviewFindingsHigh
Next steps:
Previous runReviewFindingsHigh
Next steps:
Previous run (2)ReviewFindingsHigh
Labels: PR is a docs-only change to AGENTS.md addressing recurring review-agent false positives about harness env var literals Next steps:
|
|
🤖 Finished Fix · ✅ Success · Started 7:42 PM UTC · Completed 7:46 PM UTC Commit: |
🔧 Fix agent — iteration 1 (bot-triggered)No code changes made. The sole review finding is a protected-path governance requirement (AGENTS.md requires human maintainer approval). The reviewer confirmed the content is technically sound. The fix agent cannot fulfill this finding — human maintainer approval must be obtained directly. Disagreed (1):
Tests: passedNext steps:
|
waynesun09
left a comment
There was a problem hiding this comment.
Review sweep — two findings below, posted as inline comments. Not requesting changes; flagging for maintainer awareness.
|
Re: #731 (comment) Yeah, the protected-path flag here is expected — this PR's whole reason for existing is to add guidance to AGENTS.md, so touching it isn't a bypass, it's the point. Treating this as the human review/approval step now. |
|
Re: #731 (comment) Both findings here are the same two raised as inline comments — already replied to and resolved those threads (protected-path touch is intentional, and the ${VAR} wording got narrowed with a scoping clause). |
Address review feedback on PR #731: the ${VAR} passthrough failure mode was overstated, and the rule needed to distinguish static tunable defaults from computed per-run values (branch lists, tokens, PR/issue numbers) that must stay as ${VAR} passthrough. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 2:28 PM UTC · Completed 2:40 PM UTC Commit: |
|
🤖 Finished Fix · ✅ Success · Started 2:41 PM UTC · Completed 2:45 PM UTC Commit: |
🔧 Fix agent — iteration 1 (bot-triggered)No code changes required. The review agent's only finding is that AGENTS.md is a protected path requiring human maintainer approval — a governance action the fix agent cannot perform. The review agent explicitly confirmed the content is technically sound. A human maintainer must approve this PR. Disagreed (1):
Tests: passedNext steps:
|
waynesun09
left a comment
There was a problem hiding this comment.
Review sweep — one inline finding below, plus one additional finding on the PR description that doesn't map to a diff line.
[MEDIUM] PR description cites unrelated PR #682 as evidence of the recurring reviewer-flagging problem
The PR body states: "Agents reviewing PRs (see #682) keep flagging literal values in harness env.runner/env.sandbox blocks as hardcoded bugs." Checked PR #682 directly (title "feat(#677): add needs_input pushback for the code agent"): its diff, description, and all review comments concern a needs_input schema field and post-script behavior for the code agent's PR-vs-no-PR pushback path. There is no mention anywhere in #682 of harness env var literals, REVIEW_FINDING_SEVERITY_THRESHOLD, or hardcoded-value findings. The cited evidence does not support the claimed recurring pattern; this reads as an unverified/incorrect citation rather than a fact-checked reference.
Suggestion: fix the citation to point at the PR(s) where this pattern actually occurred, or drop the parenthetical reference entirely.
Not requesting changes; flagging for maintainer awareness.
|
/fs-fix address the "[MEDIUM] AGENTS.md drops ADR 0081's CI-runtime-only-value exception for the workflow env: prohibition" finding |
|
🤖 Finished Fix · ✅ Success · Started 8:36 PM UTC · Completed 8:41 PM UTC Commit: |
The workflow env: block prohibition was stated as absolute, but ADR 0081 explicitly carves out CI-runtime-only values (from github.event.*, build matrix variables, or non-static secrets). Added the exception clause so reviewers don't incorrectly flag legitimate CI-runtime-computed values. Addresses review feedback on #731
🔧 Fix agent — iteration 1 (human-triggered)Addressed 1 finding: added the ADR 0081 CI-runtime exception clause to the workflow env: prohibition so reviewers don't incorrectly flag legitimate CI-runtime-computed values. Fixed (1):
Tests: passedNext steps:
|
|
🤖 Finished Review · ✅ Success · Started 8:42 PM UTC · Completed 8:52 PM UTC Commit: |
|
🤖 Finished Fix · ✅ Success · Started 8:53 PM UTC · Completed 8:56 PM UTC Commit: |
🔧 Fix agent — iteration 2 (bot-triggered)No code changes needed. The review's only finding is a protected-path governance requirement (AGENTS.md requires human maintainer approval), which the fix agent cannot fulfill. The reviewer confirms the content is technically sound. A human maintainer has already acknowledged and accepted the protected-path touch in the PR comments. Disagreed (1):
Tests: passedNext steps:
|
waynesun09
left a comment
There was a problem hiding this comment.
Review sweep — one finding below on the PR description (no diff line applies).
[MEDIUM] PR description cites unrelated PR #682 as evidence of the recurring problem
The PR body states: "Agents reviewing PRs (see #682) keep flagging literal values in harness env.runner/env.sandbox blocks as hardcoded bugs." Directly fetched PR #682 (title: "feat(#677): add needs_input pushback for the code agent") — its body and scope are entirely about a needs_input schema field and post-script pushback behavior for the code agent; there is no mention of harness env var literals, REVIEW_FINDING_SEVERITY_THRESHOLD, or a hardcoded-value finding anywhere in it. This citation defect has not been raised or acknowledged in any prior review round on this PR.
Suggestion: fix the citation to point at the PR(s)/issue where this pattern actually recurred, or drop the parenthetical reference entirely — an incorrect evidentiary citation undermines the stated justification for adding this rule.
I just dropped it. |
waynesun09
left a comment
There was a problem hiding this comment.
LGTM. Docs-only guideline that codifies the ADR 0080/0081 stance so reviewers stop flagging static harness env literals as hardcoded bugs. The static-default vs. computed-passthrough distinction is clearly drawn and the examples (CODE_ALLOWED_TARGET_BRANCHES, REVIEW_TOKEN, PR_NUMBER, etc.) match the actual harness files.
|
🤖 Finished Retro · ✅ Success · Started 9:48 PM UTC · Completed 10:00 PM UTC Commit: |
Retro: PR #731 — docs: harness env var literals are not hardcoded mistakesTimeline: Human-authored docs PR adding Section 8 to AGENTS.md, codifying ADR 0080/0081 guidance to stop review agents from flagging literal harness env var defaults as bugs. 4 commits over Aug 10–13 (3 human, 1 fix-agent), 3 review runs, 4 fix runs, substantive human review from waynesun09 and Qodo. Merged after waynesun09 LGTM. What worked well:
Evidence for existing issues:
New finding (1 proposal below): The correctness sub-agent verified the accuracy of stated claims but did not check completeness against the cited ADRs. Two of the three human findings (missing ADR 0081 exception, missing static-vs-computed scoping) were discoverable by reading the referenced ADRs and comparing their full provisions against the documentation's summary. Related to but distinct from agents#638 (following ADR references in code, not verifying completeness of docs citing ADRs) and agents#265 (misleading narrative synthesis, not omitted provisions). Proposals filed
|
Summary
env.runner/env.sandboxblocks as hardcoded bugs, suggesting${VAR}passthrough or a CI workflowenv:entry instead.base:composition is the only supported override path.Test plan
Assisted-by: Claude Opus 4.6 noreply@anthropic.com