Skip to content

learn(lint): stock-rule findings on toolkit conventions, and the #169 rule candidates (#360, #241, #246, #169) - #372

Closed
MendixMau wants to merge 2 commits into
masterfrom
docs/lint-backlog-bundle
Closed

MendixMau wants to merge 2 commits into
masterfrom
docs/lint-backlog-bundle

Conversation

@MendixMau

@MendixMau MendixMau commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Closes #360, #241, #246, #169.

Dispositions

Issue Disposition
#360: QUAL004 on DS_ flows used only as a Data grid 2 datasource documented workaround + upstream draft. Confirm the flow with describe page, then baseline it with a reason. Never rename the flow or add a fake caller. BUG-DRAFT-qual004-dg2-datasource + pending-github-issues/qual004-dg2-datasource-ref.md.
#241: CUSTOM002 / QUAL004 on TEST_/GET_/PRS_/STUB_ documented workaround + upstream draft. CUSTOM002: rules: CUSTOM002: enabled: false recorded in PROJECT.md, or baseline with a reason. QUAL004 on TEST_: baseline with a reason. QUAL004 has no option, and it stays on because the coherence pass runs it. No .star file is edited. Upstream draft lint-naming-prefixes-as-options.md asks for get_option() on both prefix lists and for tests/*.test.mdl to count as callers.
#246: QUAL002 on MDL089 types documented workaround (shippable today) + upstream draft. The stock rule already has per-kind options: check_import_mappings, check_published_rest_services, check_java_actions, check_java_action_params. The missing_documentation.star that mxcli init writes in v0.24.0–v0.26.0 reads them with get_option. Upstream draft qual002-skip-mdl089-types.md.
#169: four modelling-error lint candidates missing from the backlog fixed here. process/lint-backlog.md Batch 7, rows 51–54. The page-button refresh candidate was already row 7. Rows 53 and 54 are blocked on the same catalog fields as rows 36 and 12. The 2026-09-29 inbox file is promoted and deleted in the same commit. No upstream draft until a probe shows which field is missing.

Direct lane

What changed and why (one paragraph):
skills/lint-that-actually-runs.md gets a new section, "Stock rules against the toolkit's own conventions". It is a four-row table: the finding, why it is not a defect, and what to do today. Without it, agents "fix" these findings by renaming working flows, adding fake callers, or writing doc comments that MDL089 moves onto the next microflow. skills/process-coherence-pass.md gets a matching warning: neither QUAL004 kind is an orphan to delete, because the rule's own suggestion is "Remove if unused". bug-logs/mxcli-bugs.md gets a new BUG-DRAFT-qual004-dg2-datasource entry, and its published-REST section, item 4, now also names the QUAL002 options. There are three new upstream drafts in bug-logs/pending-github-issues/. One finding needs reproduction upstream. The orphaned_elements.star that mxcli v0.24.0+ writes already counts datasource refs, yet #360 saw the false positive on v0.26.0. So the gap is probably in the catalog ref for a pluggable widget's datasource, not in the rule. The draft is marked "reduce to a blank app first". No Starlark rule was changed.

Word cost: both edited skills are loaded on demand, so the baseline stays at 75,028 words (budget 80,000).

Field evidence: none yet for the workarounds. The QUAL002 option names and the QUAL004/CUSTOM002 prefix constants were read from the rule files mxcli init v0.24.0, v0.25.0 and v0.26.0 write. They have not been field-run, and the skill says so. Issue evidence: #360 (connector app, v0.26.0, QUAL004 (+1) ratchet failure), #241 (173 of 759 findings), #246 (45 QUAL002 findings, MDL089 output), #169 (two-arm build comparison).

Review

The review verdict was MERGE-AFTER-FIX. Addressed in 5be2e41:

🤖 Generated with Claude Code

https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw

…ates (#360 #241 #246 #169)

Known answers for QUAL004 on DS_ Data grid 2 datasources and TEST_ helpers, CUSTOM002 on
TEST_/GET_/PRS_/STUB_, and QUAL002 on MDL089 types (per-kind options), with upstream drafts.
lint-backlog Batch 7 adds the four missing #169 candidates; the inbox file is promoted and deleted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
…swer (#372 review)

The opt-out story never edits or deletes a .star file. Two sanctioned options remain:
`enabled: false` recorded in PROJECT.md, and baseline-with-reason; upstream draft kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
MendixMau pushed a commit that referenced this pull request Oct 14, 2026
…and the #169 rule candidates (#360, #241, #246, #169)

Review: independent review MERGE-AFTER-FIX — QUAL002 option names and QUAL004/CUSTOM002 advice verified against captured v0.24/v0.26 rule files; one option told users to edit VALID_PREFIXES in a stock .star (violates the one opt-out story) → removed in 5be2e41; confirmation MERGE. Inbox file fully promoted before deletion. Baseline unchanged. Closes #360 #241 #246 #169 (workarounds + upstream drafts; #169 rows added).

Conflict: bug-logs/mxcli-bugs.md — both sides appended a BUG-DRAFT entry at the end; kept both.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
MendixMau added a commit that referenced this pull request Oct 15, 2026
…journey controls, fixes) (#385)

Lands #340 #363 #362 #355 #370 #368 #364 #365 #366 #372 #367 #371 #376 #369 #373 #377 #378 #380.

Review: each constituent PR independently reviewed by a fresh agent that did not write it; merged into integration/2026-10-15 only on a MERGE verdict with green CI (per-PR Review lines in the integration merge commits). After-fix rounds: #373 (env-var cap, rename/skip-loops freshness), #377 (inline URI fallback), #378 (full-pack double count, slice content). Stub diet (#369/#378/#380) behaviour A/B, 5 reps x 2 drafting tasks + 5 retrieval probes x 3 reps: trimmed context no worse than master on every scored metric (planted STOP refused 20/20, parse failures page 2/5 vs 3/5, probes 15/15); mdl Stage 5 56,236 -> 30,647 words, baseline 75,028 -> 73,233. Full suites on c9bc073: run-tests 33/0, wave2 111 fixtures 0 failing. Field evidence: none yet for the instruments (#355 warn-only, #373/#377 read-only).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
@MendixMau

Copy link
Copy Markdown
Owner Author

Landed on master in #385 (squash 868b3cb), after its own independent review on the night integration branch. Closing this PR.


Generated by Claude Code

@MendixMau MendixMau closed this Oct 15, 2026
@MendixMau
MendixMau deleted the docs/lint-backlog-bundle branch October 15, 2026 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants