Skip to content

v0.12.0 — what runs when you open this screen

Choose a tag to compare

@peopleworks peopleworks released this 11 Aug 06:31
· 102 commits to main since this release

What runs when you open this screen

Two things an XAF repository does not contain, and this release extracts both.

The screens are in no file. XAF generates a list, a detail and a lookup view for every business class, plus a list view for every collection — and the Model Editor stores only the ones somebody changed. The demo application has fourteen business classes and fifty-four views, none of which appear in any file. The inventory is derived from the framework's own id generators, not guessed.

Which controllers run there is decided at run time. ViewController.IsFitToView ANDs four conditions together: nesting, view type, object type and view id. Each is unrestricted when unset, so a controller that sets none loads onto every screen in the application. This transcribes all four the way the framework evaluates them and records why each one matched.

Two layers, kept apart: what your team wrote in full, what XAF provides folded behind one line — and with a ground-truth catalog the framework's are named too, scoped to the modules you actually register.

New MCP tool xaf_view, a Screens section in the explainer, and a _Screens.md file beside the other agent documentation.

Most of this release is corrections

They came from an audit rather than a bug report: three reviewers on deliberately disjoint axes — one against the installed DevExpress sources, one against the new code, and one shown only the generated output and never the generator. The third found a category the other two structurally could not.

About thirty findings, one false alarm. The worst had been there far longer than the release: extraction returned only the first controller class per file and recognised only classes deriving directly from ViewController and its two siblings, so real XAF code — which extends shipped controllers and its own base classes — was being dropped silently. A probe with five controllers across three files reported one.

The rule the audit produced, now enforced by tests:

Under-reporting is bad, over-reporting is worse, and "unknown" must never be spelled the same way as "unrestricted".

Full detail in CHANGELOG.md.

Install

dotnet tool install -g XafLogicExplainer.Cli
xaflogic agents --project "C:\MySolution\MyApp.Module"

10 MCP tools · 270 tests · .NET 10 · MIT · no DevExpress licence required