Skip to content

Shared prose-name gate: read the meta/ sidecars too - #58

Merged
oblomov-dev merged 1 commit into
mainfrom
claude/samples-controls-review-u4g6cr
Aug 25, 2026
Merged

Shared prose-name gate: read the meta/ sidecars too#58
oblomov-dev merged 1 commit into
mainfrom
claude/samples-controls-review-u4g6cr

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

Copy of abap2UI5's .github/shared/check-prose-names.mjs, which is the source
of this file. Landing here first, because abap2UI5's check:shared compares
its source against this repository's main.

This repository has no meta/ directory, so the new SIDECARS scope
contributes no files and the run is byte-for-byte what it was: prose-names: 14 class name(s) checked in 8 prose file(s). The change matters in
samples-controls, where every port carries a meta/<class>.json whose
deviations[].what, audit.note and checked.note are long-form prose citing
sibling ports — and where a dead z2ui5_cl_demo_app_038 citation survived a
corpus-wide sweep that reported itself finished, because sidecars were never in
scope.

Shape: a second scope beside PROSE rather than more entries in it, since the
files are JSON and the reader differs. Both reduce to a labelled piece of
prose, so the regex, ABSENT and the whole ecosystem-wide resolution (foreign
SAMPLES.md lookup included) run over sidecar text unchanged.

node scripts/check-prose-names.mjs passes.


Generated by Claude Code

Copy of abap2UI5's `.github/shared/check-prose-names.mjs`, which is the source.

The gate's scope was eight markdown files. In a repository whose ports each
carry a `meta/<class>.json`, that misses where class names are written most
often: `deviations[].what`, `audit.note` and `checked.note` are long-form
prose - samples-controls' own AGENTS.md calls a deviation "a log entry about a
process" and puts it there BECAUSE it is prose - and those sentences cite
sibling ports constantly.

Not hypothetical. A 2026-08-21 sweep removed the retired `z2ui5_cl_demo_app_*`
citations and recorded itself finished: "36 class names across 8 prose files,
every one of them existing". Two days later
`meta/z2ui5_cl_smpc_app_038.json` still named `z2ui5_cl_demo_app_038`, a class
that exists nowhere. It survived because it was never looked at, and it was
found by a human reading that one port against its original. It travels
further than a sidecar suggests: generate-overview.mjs bakes those texts into
ABAP that gets pulled into a customer system.

A second SIDECARS scope beside PROSE rather than more entries in it, since the
files are JSON and the reader differs; both then reduce to a labelled piece of
prose, so the regex, ABSENT and the whole ecosystem-wide resolution (foreign
SAMPLES.md lookup included) run over sidecar text unchanged. The sidecar's own
`class` field is not read - it resolves trivially and would double every port
into the count. A repository with no `meta/` contributes no files, so this is
inert where there are no sidecars.

Measured: samples 25 names / no sidecars, samples-stack 14 / none,
samples-controls 182 names across 8 files and 622 sidecars, all resolving. With
the 038 defect put back, the run fails naming the deviation index rather than
the 4 KB file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E8iuqE8QFQXpb1LzHQ3Ym5
Copilot AI lite review requested due to automatic review settings August 25, 2026 06:21

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 a17fdf4 into main Aug 25, 2026
24 checks passed
@oblomov-dev
oblomov-dev deleted the claude/samples-controls-review-u4g6cr branch August 25, 2026 06:27
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