Skip to content

Point the learning path at the overview app that exists, and check it from now on - #42

Merged
oblomov-dev merged 3 commits into
mainfrom
claude/abap2ui5-repo-analysis-c2qhj9
Aug 18, 2026
Merged

Point the learning path at the overview app that exists, and check it from now on#42
oblomov-dev merged 3 commits into
mainfrom
claude/abap2ui5-repo-analysis-c2qhj9

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Part of an ecosystem-wide pass over the two goals: make it maximally easy for AI agents, and for people, to build abap2UI5 apps.

The learning path pointed at a class that does not exist

The table told every reader to run z2ui5_cl_dmo_app_overview for samples-controls. That class exists nowhere: samples-controls renamed its overview to z2ui5_cl_smpc_app_000, its own README followed, and this copy of the shared table did not. abap2UI5/samples carried the identical stale row.

The table is duplicated in three repositories on purpose — each marks itself "you are here" — and nothing read the other two, so a rename over there could not fail anything here. scripts/check-prose-names.mjs, byte-identical in all three, closes that: a foreign sample name resolves through the owning repository's generated SAMPLES.md, a framework name through the abap2UI5 sources, and an unreachable repository is said rather than passed silently. Verified by putting the stale name back — the check reports it and exits 1.

Also fixed

  • §5 described the abaplint rule set as "byte-identical in three repositories, change it here and copy it to the other two", while the shipped check-app-rules.mjs names app-rules.json in abap2UI5/abap2UI5 as the single source and records that peer comparison was abandoned. No document in any of the three named that file.
  • §4's npm run check comment said six steps; it runs seven.
  • CONTRIBUTING.md linked to abap2UI5-documentation/blob/main/CONTRIBUTING.md — that repository is now docs and has no CONTRIBUTING.md.
  • A hand-maintained count in the README that will drift again, de-numbered.

One thing checked and left alone: the README's "all 31 samples" and the catalogue's 32 are both right — 31 is what the overview app lists, 32 is the app classes, because the overview is not in its own catalogue.

How to test

npm run check   # seven steps, all green

Generated by Claude Code

claude added 3 commits August 17, 2026 21:37
…drift

Two false statements, both about where a fact actually lives.

§5 said the abaplint rule block is "byte-identical in three
repositories" and "change it here and copy it to the other two". That
peer model was abandoned: abap2UI5/abap2UI5's
.github/abaplint/app-rules.json is the single source, this block is a
checked copy, and scripts/check-app-rules.mjs - already the last step of
npm run check here, plus the check-app-rules workflow - compares the two
as parsed settings. The reasons are in the script's own header: three
peers have no answer to which of them is right, a repository without its
own copy of the checker turned the OTHER repositories' CI red when it
drifted, and the peer checker compared rule names only, so switching a
rule to false read to it as no change at all. Neither this file nor the
README mentioned app-rules.json anywhere, so the file the rules live in
could not be found from the documentation. The per-repository exception
(object_naming with the SMPS token, and the RAP scoped excludes below)
is unchanged, now stated as the one rule the checker skips.

§4's npm run check comment listed six steps and the run has seven -
check:app-rules was missing.

README said the overview app "keeps listing all 31 samples". 31 is
currently right for what the overview lists (check-overview reports 31
entries; there are 32 app classes because the overview app is not in its
own catalogue), so this is not the drift it looks like - but it is a
hand-maintained number in prose that goes stale the next time a sample
lands, and the sentence is about the branches, not about the count. It
now says "every sample in the repository". §6's "are in all 32 apps"
about check_on_init / view_display / _bind was measured and is wrong -
24, 32 and 26 of 32 - so it says "nearly every app" instead; the point
was always that scaffolding terms separate nothing.

npm run check green: abaplint 0 issues, abap2UI5-linter 32 files 0
failing, check-overview 31 entries, check-keywords 32 apps, abapdoc,
SAMPLES.md up to date, check-app-rules 187/187 against the source.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XY3AoWMiCC52cuQjbce4SU
Same dead link as samples: abap2UI5-documentation is now abap2UI5/docs, and
the CONTRIBUTING.md it named does not exist there. The guidelines live on the
rendered contribution page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XY3AoWMiCC52cuQjbce4SU
… from now on

The learning-path table told every reader to run `z2ui5_cl_dmo_app_overview`
for samples-controls. That class does not exist: samples-controls renamed its
overview to `z2ui5_cl_smpc_app_000`, its own README followed, and this copy of
the shared table did not. `samples` carried the identical stale row.

The table is duplicated in three repositories on purpose - each one marks
itself "you are here" - and nothing read the other two, so a rename over there
could not fail anything here. scripts/check-prose-names.mjs, byte-identical in
all three, closes that: a foreign sample name resolves through the owning
repository's generated SAMPLES.md, a framework name through the abap2UI5
sources, and an unreachable repository is SAID rather than passed silently.

Verified by putting the stale name back: the check reports it and exits 1.

  check:prose  6 names checked, OK
  npm run check green

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XY3AoWMiCC52cuQjbce4SU
Copilot AI lite review requested due to automatic review settings August 18, 2026 05:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@oblomov-dev
oblomov-dev merged commit fdf9fa7 into main Aug 18, 2026
19 checks passed
@oblomov-dev
oblomov-dev deleted the claude/abap2ui5-repo-analysis-c2qhj9 branch August 18, 2026 05:53
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.

3 participants