Skip to content

fix(test): make the no-annotation control a valid workflow (main is red) - #353

Merged
ako merged 1 commit into
mainfrom
fix/wf05-annotation-test-fixture
Sep 1, 2026
Merged

fix(test): make the no-annotation control a valid workflow (main is red)#353
ako merged 1 commit into
mainfrom
fix/wf05-annotation-test-fixture

Conversation

@ako

@ako ako commented Aug 31, 2026

Copy link
Copy Markdown
Owner

main is currently red. TestDescribeWorkflow_NoAnnotationEmitsNoComment fails:

issue1007_annotation_emit_test.go:135: unexpected violations [MDL-WF05] for a plain jump
--- FAIL: TestDescribeWorkflow_NoAnnotationEmitsNoComment
FAIL    github.com/mendixlabs/mxcli/mdl/executor

Both PRs were green

Each CI run passed because neither branch contained the other's change. The failure only exists in the merge.

The rule is right; the fixture was not

no violations at all is only a meaningful assertion over input that should have none. Over an invalid fixture it quietly asserts something much weaker — "no rule has been written yet that notices this" — and that expires the moment someone writes one.

The fixture now carries the jump's target as a real activity, so the workflow is valid and the assertion means what it says. No production code changes.

The general lesson, recorded in the symptom table

When a test asserts the absence of diagnostics, make the input something you would be happy to ship. Two green PRs can merge to red and neither PR's CI can detect it — the only protection is a fixture that doesn't depend on which rules exist today.

Found by running make test on an unrelated docs branch cut from the merged main, which is an argument for doing exactly that after a batch of PRs lands.

🤖 Generated with Claude Code

main is red. TestDescribeWorkflow_NoAnnotationEmitsNoComment fails with

  unexpected violations [MDL-WF05] for a plain jump

and both PRs that produced it were green.

#351 added the test with a fixture that is a lone JumpToActivity whose
target does not exist, and asserted "no violations at all". #350 then
added MDL-WF05, which reports exactly that dangling target. Neither CI
run could see the other's change.

The rule is right; the fixture was not. It now carries the jump's target
as a real activity, so the workflow is valid and the assertion means
what it says rather than "no rule has been written yet that notices
this".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@ako
ako merged commit 264054a into main Sep 1, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant