Skip to content

Search all three sample catalogues, not one third of them - #17

Merged
oblomov-dev merged 1 commit into
mainfrom
claude/examples-three-repos
Aug 16, 2026
Merged

Search all three sample catalogues, not one third of them#17
oblomov-dev merged 1 commit into
mainfrom
claude/examples-three-repos

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

examples read abap2UI5/samples and nothing else, so two thirds of the answer was invisible to it.

repository what it answers
samples 152 the patterns — value help, navigation between apps, trees, tables
samples-controls 431 the UI5 demo kit, control by control — the answer to "how do I express sap.m.Wizard", which the other two rarely have
samples-stack 32 the same, but each needs something from the system — OData, RAP, APC, the launchpad. Exactly what an agent has to know before proposing one

152 searchable before, 614 now. Each entry names its repo, and a new repo filter narrows to one.

> value help
  [samples-controls] Z2UI5_CL_SMPC_APP_290 — MultiInput that includes a SelectDialog as a value help dialog
  [samples]          Z2UI5_CL_SMP_APP_009  — The value help, both halves: suggestions while typing and the F4 dialog…
> odata
  [samples-controls] Z2UI5_CL_SMPC_APP_366 — Illustrates how to bind to data from an OData model using $metadata…

Why this became possible, rather than merely desirable

The three catalogues now render the identical row from the same two lines on the class (" @summary, " @keywords), so one parser reads all of them. Before, only samples had a catalogue in that shape.

A missing checkout is reported, not fatal

One repository absent is not a reason to refuse the other two. The answer says what was searched and what was not (notSearched); only all three missing is an error, and that error names every repository, its clone URL and its env var. examples is the one tool here that degrades this way and AGENTS.md says why: a thinner answer to "has somebody built this" is worth more than a refusal.

The parser had to change to see the sentence — and the way it would have broken is the point

The catalogues grew a second kind of block under the row title (the sentence, in normal type rather than in <sub>), and the old pattern matched <br><sub> blocks only. It would have matched no rows at all, and that failure reads as "there are no samples for that" rather than as a parse error. The blocks are matched as a group and classified afterwards — the same fix the @docs links needed a month ago.

Tests cover a row with the sentence, a row without one (the three repositories move at their own pace), that the sentence is never mistaken for the search terms, and the all-three-missing error. 40 passing.


Generated by Claude Code

`examples` read abap2UI5/samples and nothing else, so two thirds of the answer
was invisible to it:

  samples           152 apps  the PATTERNS - value help, navigation, trees
  samples-controls  431 ports the UI5 demo kit, control by control. The answer
                              to "how do I express sap.m.Wizard", which the
                              other two rarely have
  samples-stack      32 apps  the same, but each needs something from the
                              SYSTEM - OData, RAP, APC, the launchpad. Exactly
                              what an agent has to know BEFORE proposing one

152 searchable before, 614 now. Each entry names its `repo`, and a new `repo`
filter narrows to one.

This became possible rather than merely desirable: the three catalogues now
render the identical row from the same two lines on the class (`" @summary`,
`" @keywords`), so one parser reads all of them. Before, only samples had a
catalogue in that shape.

A missing checkout is REPORTED, not fatal. One repository absent is not a
reason to refuse the other two - the answer says what was searched and what
was not (`notSearched`), and only all three missing is an error. `examples` is
the one tool here that degrades this way, and AGENTS.md says why: a thinner
answer to "has somebody built this" is worth more than a refusal.

The parser had to change to see the summary at all, and the way it would have
broken is the point. The catalogues grew a second kind of block under the row
title - the sentence, in normal type rather than in `<sub>` - and the old
pattern matched `<br><sub>` blocks only. It would have matched NO ROWS, and
that failure reads as "there are no samples for that" rather than as a parse
error. The blocks are matched as a group and classified afterwards, which is
the same fix the `@docs` links needed a month ago. Tests cover a row with the
sentence, a row without one (the three repositories move at their own pace),
and that the sentence is never mistaken for the search terms.

The three-missing error names every repository, its clone URL and its env var,
and the missing-siblings test asserts all three rather than the one it knew.
Copilot AI lite review requested due to automatic review settings August 16, 2026 17:40

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 7995f1f into main Aug 16, 2026
2 checks passed
@oblomov-dev
oblomov-dev deleted the claude/examples-three-repos branch August 16, 2026 17:41
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