diff --git a/AGENT-BRIEF.md b/AGENT-BRIEF.md index 718363c3a..09ee9f070 100644 --- a/AGENT-BRIEF.md +++ b/AGENT-BRIEF.md @@ -71,6 +71,7 @@ somebody else's page and report a confident wrong answer with no error. | bundles missing, files deleted, counts wrong | `bun run check:settled` — graded **by exit code**. It reads the build *lock*, which knows the *queue*; `pgrep` samples an instant and will tell you 0 builders while one is queued. | | a gate "failed" | Re-run it un-suppressed. A command killed by a short `timeout` is not a failure, and these gates print teaching prose *after* the verdict, so `| tail -1` inverts the signal. **Grade by exit code.** | | a selector finds nothing in a composite | Shadow DOM does not pierce. Use a recursive `shadowRoot` walker, not `document.querySelector`. | +| a probe's verdict, in EITHER direction | **Read the selector and the denominator out of the source; never invent them.** An invented selector fails a working feature, and a count the page prints about itself passes a broken one. Measured three times in one flight: `.gm-sug` returned 0 for every search query while search worked fine; a chart was "wrong" only because the probe counted all 5,563 catalogue codes when the chart counts the 5,067 spoken by a pin; and a table probe read its own "234 rows" caption and passed an entirely empty body. Assert on rendered content — rows *and* cells — and grep the component for the real class names first. | ## Facts that are easy to get wrong diff --git a/plugin-designs/gospel-resources/resources-map.vue b/plugin-designs/gospel-resources/resources-map.vue index 572b67cb3..088f91ab2 100644 --- a/plugin-designs/gospel-resources/resources-map.vue +++ b/plugin-designs/gospel-resources/resources-map.vue @@ -756,6 +756,16 @@ useShadowStyles( '.gm-pinkey-h{font-size:11px;font-weight:600;margin-bottom:4px}' + '.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}' + // DETAIL: a bottom sheet on a phone, a corner card on desktop. + // ON A PHONE THE SHEET IS THE PAGE, and the shared pin hint sits on top of it. The hint + // is a library component with z-index 2147482000 and a deliberate "only the reader closes + // it" rule, which is right for a bare map — but once a group sheet is open the invitation + // to tap a dot is both redundant and obstructive: measured at 390px it covered "Also speak + // German, Standard (25)" and the first row under it. + // Hidden rather than out-stacked. Raising this sheet above 2147482000 would be a z-index + // arms race with shared code, and the hint lives inside this component's own shadow root, + // so scoping it here costs nothing and changes nothing for any other map. + // Desktop is untouched: there the sheet is a 330px corner card and the two never collide. + '@media(max-width:699px){.gm.has-sheet .pin-hint{display:none}}' + '.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;' + 'background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;' + "font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}" + @@ -870,7 +880,7 @@ useShadowStyles(