Point the learning path at the overview app that exists, and check it from now on - #42
Merged
Merged
Conversation
…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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_overviewfor samples-controls. That class exists nowhere: samples-controls renamed its overview toz2ui5_cl_smpc_app_000, its own README followed, and this copy of the shared table did not.abap2UI5/samplescarried 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 generatedSAMPLES.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
check-app-rules.mjsnamesapp-rules.jsoninabap2UI5/abap2UI5as the single source and records that peer comparison was abandoned. No document in any of the three named that file.npm run checkcomment said six steps; it runs seven.CONTRIBUTING.mdlinked toabap2UI5-documentation/blob/main/CONTRIBUTING.md— that repository is nowdocsand has noCONTRIBUTING.md.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 greenGenerated by Claude Code