fix(#2245): add conflict-resolution guidance to intent-coherence sub-agent#2246
fix(#2245): add conflict-resolution guidance to intent-coherence sub-agent#2246fullsend-ai-coder[bot] wants to merge 2 commits into
Conversation
…agent The intent-coherence sub-agent had no guidance for resolving conflicts between a linked issue and existing design specs. When a PR implemented issue-authorized behavior that deviated from a prior spec, the agent treated the spec as authoritative and raised false-positive scope-creep and architectural-violation findings (observed on PR #2020). Add a "Resolving conflicts between linked issue and design specs" section after "Exploration budget" that establishes the linked issue as the current decision when it explicitly authorizes spec-deviating behavior. Issue-authorized deviations should produce info-level spec-drift findings (so the spec can be updated) rather than high-severity scope-creep findings that block the PR. Unauthorized deviations — changes beyond what the issue describes — remain scope creep. Note: make lint could not run due to shellcheck installation failure in the sandbox (network restriction). The change is markdown-only and does not affect Go code or tests. Closes #2245
E2E tests did not runE2E tests run automatically for org/repo members and collaborators on pull requests. For other contributors, a maintainer must add the See E2E testing guide for details. |
Site previewPreview: https://1502d155-site.fullsend-ai.workers.dev Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
🤖 Finished Review · ✅ Success · Started 4:51 PM UTC · Completed 5:01 PM UTC |
ralphbean
left a comment
There was a problem hiding this comment.
Two questions:
- Is
spec-driftmeant to be recognized outside this sub-agent? Does it need special handling in the post script? Unsure. Need to check. - There's some overlap or should be some interaction with "docs-currency" here. If the proposed change contradicts an ADR, then the change must include a new ADR superseding that ADR (or a tweak to the ADR's text, whichever is more appropriate), so that the in-repo intent is updated to match the issue's intent as a part of the change.
We don't want to merge something that will introduce spec-drift into the repo!
Should we change this term? Maybe it should be "spec-change" to indicate that the spec here is changing, which then implies that review should ensure that documented in-repo specs are updated to be consistent with the proposed change.
|
/fs-fix |
ReviewFindingsMedium
Info
Previous runReviewFindingsMedium
Info
|
|
🤖 Finished Fix · ✅ Success · Started 5:03 PM UTC · Completed 5:10 PM UTC |
… in PR Rename the `spec-drift` category to `spec-change` to convey that the spec is actively changing (not drifting), and update guidance to require PRs to include spec/ADR updates when deviating from existing design docs. Also register `spec-change` in the SKILL.md routing table so the orchestrator routes prior findings to intent-coherence on re-reviews. Addresses review feedback on #2246 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: fullsend-fix <278716306+fullsend-ai-coder[bot]@users.noreply.github.com>
🔧 Fix agent — iteration 1 (human-triggered)Addressed all 3 findings: renamed spec-drift to spec-change, updated guidance to require spec updates within the PR (not deferred), and registered the new category in the SKILL.md routing table. Fixed (3):
Tests: passed Updated by fullsend fix agent |
|
🤖 Finished Review · ✅ Success · Started 5:13 PM UTC · Completed 5:22 PM UTC |
|
I'm underconfident that we're doing the right thing here. I'm going to defer this until we have better evals and functional test cases for agents in place. |
|
🤖 Finished Retro · ✅ Success · Started 6:28 PM UTC · Completed 6:37 PM UTC |
Retro: PR #2246 — conflict-resolution guidance for intent-coherence sub-agentOutcome: Closed without merging. The human maintainer was underconfident in the approach and deferred until better evals/test cases exist. Timeline:
What went well: Triage-to-PR pipeline was fast (~14 min). First review caught a real gap (routing table). Fix agent correctly addressed all feedback including the human-requested rename. Key issue identified: The review agent's intent-coherence sub-agent has no mechanism to incorporate human review feedback when evaluating spec compliance. It treats the linked issue as the sole source of truth for authorized scope, so when a human requests changes that deviate from the issue's original proposal, the review agent flags them as unauthorized deviations. This produced a false-positive medium finding on the post-fix review. Related existing issues: #664 (incorporate human reviews into assessment) covers the broad problem. The proposal below addresses the specific intent-coherence gap. The human's decision to close was strategic (wanting better evals) and is not actionable as an agent improvement. Skipped proposals:
Proposals filed
|
The intent-coherence sub-agent had no guidance for resolving conflicts between a linked issue and existing design specs. When a PR implemented issue-authorized behavior that deviated from a prior spec, the agent treated the spec as authoritative and raised false-positive scope-creep and architectural-violation findings (observed on PR #2020).
Add a "Resolving conflicts between linked issue and design specs" section after "Exploration budget" that establishes the linked issue as the current decision when it explicitly authorizes spec-deviating behavior. Issue-authorized deviations should produce info-level spec-drift findings (so the spec can be updated) rather than high-severity scope-creep findings that block the PR. Unauthorized deviations — changes beyond what the issue describes — remain scope creep.
Note: make lint could not run due to shellcheck installation failure in the sandbox (network restriction). The change is markdown-only and does not affect Go code or tests.
Closes #2245
Post-script verification
agent/2245-intent-coherence-conflict-resolution)a2652eaaf81409406b42337c2481651b18bd6665..HEAD)