Skip to content

fix(roadmap): post the alternatives comment only on a change - #4139

Open
dan-petty wants to merge 4 commits into
mainfrom
fix/4054-alternatives-comment-on-change
Open

dan-petty wants to merge 4 commits into
mainfrom
fix/4054-alternatives-comment-on-change

Conversation

@dan-petty

Copy link
Copy Markdown
Owner

A recheck of the alternatives job posted a comment also when the verdict and the tool matched the last check. Long-lived items then filled with the same text, and a person could not see a new finding. The job now posts a comment only for a first check or when the verdict or the tool changed. It still writes the marks and the body block in the one write, so the date stays current. A dry run plans the comment with the same condition.

Closes #4054

Change: openspec/changes/archive/2026-11-08-4054-alternatives-comment-on-change/

@dan-petty dan-petty added type/bug Defect, regression, or incorrect runtime behavior scope/roadmap The roadmap jobs: intake, refine, stage, implement and the Service that runs them labels Nov 8, 2026
@dan-petty

Copy link
Copy Markdown
Owner Author

Test record for this pull request.

fail-to-pass run (uv run devops ci fail-to-pass --base origin/main): 4 tests fail on base and pass on the branch.

  • 3 same-result recheck tests in tests/roadmap/test_roadmap_alternatives_recheck.py: on base, the second check posts a second comment.
  • test_an_alternatives_plan_lists_the_comment_for_a_first_or_changed_check in tests/roadmap/test_roadmap_dry_runs.py: on base, the plan has no check_changed condition (KeyError).
  • The first-check and changed-result tests pass on base by design. They guard the cases that must still post a comment.

Full uv run devops ci ran once: every row passed except two.

  • test: one failure of 21214, the help text for alternatives had four sentences. Fixed at the cause (three sentences), and that test file passes now.
  • coverage: no data after the test failure. The report before it showed 92.98%, over the 85% limit.
  • The test row took 13m58s, over the 5 minute budget. This is known as fix(ci): the pytest step of devops ci exceeds the 5-minute budget #3593. The slowest test is not part of this change.

After the fix and the rebase onto origin/main, the narrow tests pass: alternatives, recheck, one_write, dry_runs, command_help. devops docs generate --check and devops openspec check pass.

Rollout: no setting is removed, renamed or tightened. roadmap.alternatives.recheck_days is unchanged, so the example ConfigMap and the live ConfigMap need no change. The key-walk test of the example ConfigMap (#4134) is merged and covers it. Nothing was applied to the cluster.

Behavior change: a recheck with the same verdict and tool posts no comment. The marks and the body block (with the latest date) are still written in the one write. The older marker comment stays the anchor for replies from a person.

@dan-petty
dan-petty marked this pull request as ready for review November 8, 2026 05:44

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope/roadmap The roadmap jobs: intake, refine, stage, implement and the Service that runs them type/bug Defect, regression, or incorrect runtime behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(roadmap): alternatives posts a comment only when its verdict changes

1 participant