Skip to content

[idea] Lint rules for modelling errors that hit both arms (picker XPath vs entity access, refreshInClient, uncommitted change, empty-value functions, CE2729) #169

Closed as not planned

Description

@MendixMau

The idea: 4–5 modelling errors happened independently in both arms, so they come from the spec or the platform, not from the authoring tool. Proposed rules:

  1. A picker XPath that reads rows the current role cannot read under entity access.
  2. A page-button microflow that changes objects shown on the page, without refreshInClient.
  3. A change without a commit at the end of a microflow called from a timer or workflow.
  4. addDays or trim on a possibly empty attribute.
  5. Navigation with no logout item, or a home page the role cannot read (CE2729).

Add them to learned-detection-gaps.md now and file them as mxcli lint requests.

Field evidence: contrib/inbox/2026-09-29-lint-rules-recurring-modelling-errors.md (#165). Hypothesis: these rules would prevent ~6–8 of the ~75 combined defects.

Rough size: one skill, plus upstream requests.

Activity

  1. added a commit that references this issue on Oct 14, 2026
  2. MendixMau commented on Oct 19, 2026

    @MendixMau
    OwnerAuthor

    Status after 1.0 (v2026.10.19): only the older CE2729 entry exists. The picker XPath, refreshInClient, uncommitted change and empty-value function rules are not in the detection-gaps skill or the lint rules yet.

  3. MendixMau commented on Oct 20, 2026

    @MendixMau
    OwnerAuthor

    Closing as a duplicate of the lint backlog. All five proposed rules are rows in process/lint-backlog.md, the file that holds "the single list of lint-rule candidates": the page-button refresh rule is row 7, and Batch 7 (sourced to this issue) holds rows 51 (picker XPath vs entity access), 52 (change without commit from a timer or workflow), 53 (addDays/trim on an empty attribute, blocked on upstream expression indexing) and 54 (no logout item / CE2729). None ships as a rule yet; each rule PR will link and move its row there. The backlog rows landed in 868b3cb (#385), part of release v2026.10.19.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions