register shrink 2026-10-10: 13 rows closed with live evidence (138 -> 125); R-903 phone menu without JS; R-910 pictures; R-912 site gate 21
gates / gates (push) Successful in 6m4s
gates / gates (push) Successful in 6m4s
Closed: R-906 R-907 R-909 R-910 R-911 R-815 R-756 R-570 R-896 R-912 R-903 R-338 R-916. Updated: R-899 (press set up, dated check 2026-10-11), R-243 (the mail is due 2026-10-11 ~16:06Z, dated check), R-782 (homepage live; glance question to the operator), R-904 (the TLS sentence is in 01 s7). Website: site.css v=9 (scripting:none menu), eight dashboard pictures retaken. Evidence: audits/register-shrink-2026-10-10/. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
+24
-1
@@ -31,8 +31,12 @@ Gates (all must pass; non-zero exit on any failure):
|
||||
19. dash-lang — a page shows dashboard pictures only in its own language (`dashboard-*-hu.webp` / `-en.webp`)
|
||||
20. viewer — data-gallery openers are <a href> to existing assets; gallery.js (with ?v=) exactly where openers are;
|
||||
no inline viewer copy
|
||||
21. app logos — every catalog app (`app-catalog-felhom.eu/templates/*/.felhom.yml`, by its `slug:`) has
|
||||
website/assets/<slug>-logo.svg or .png — the dashboard asks for exactly that name and shows a grey
|
||||
placeholder otherwise (R-912: five apps had theirs under other names). The sibling catalog clone
|
||||
absent → said out loud, not checked
|
||||
"""
|
||||
import html as _html, io, json, os, re, sys, unicodedata
|
||||
import glob, html as _html, io, json, os, re, sys, unicodedata
|
||||
|
||||
# A gate's own console must not decide its verdict. These scripts quote back Hungarian copy, file
|
||||
# paths and arrow characters; a Windows console here is cp1250, and printing one of them raised
|
||||
@@ -497,6 +501,25 @@ for p, s in pages.items():
|
||||
fail("%s: an inline copy of the picture viewer — it lives only in assets/gallery.js" % p)
|
||||
print(" picture viewer: %d openers, every one a link to an existing file" % _open_n)
|
||||
|
||||
# gate 21: every catalog app has its logo under its slug (R-912)
|
||||
_CAT = os.path.join(os.path.dirname(ROOT), "app-catalog-felhom.eu", "templates")
|
||||
if not os.path.isdir(_CAT):
|
||||
print(" app logos: NOT CHECKED — no catalog clone at %s" % _CAT)
|
||||
else:
|
||||
_slugs = []
|
||||
for _f in sorted(glob.glob(os.path.join(_CAT, "*", ".felhom.yml"))):
|
||||
_m = re.search(r'^slug:\s*["\']?([A-Za-z0-9._-]+)', io.open(_f, encoding="utf-8-sig").read(), re.M)
|
||||
_slugs.append(_m.group(1) if _m else os.path.basename(os.path.dirname(_f)))
|
||||
if not _slugs:
|
||||
fail("app logos: the catalog clone at %s holds no templates/*/.felhom.yml — the gate checked nothing" % _CAT)
|
||||
_missing = [x for x in _slugs if not any(os.path.isfile(os.path.join(W, "assets", "%s-logo.%s" % (x, e)))
|
||||
for e in ("svg", "png"))]
|
||||
if _missing:
|
||||
fail("app logos: no website/assets/<slug>-logo.svg or .png for %s — the dashboard shows a grey placeholder"
|
||||
% ", ".join(_missing))
|
||||
else:
|
||||
print(" app logos: %d catalog apps, each with its <slug>-logo file" % len(_slugs))
|
||||
|
||||
if fails:
|
||||
print("\nSITE GATES FAILED: %d problem(s)" % len(fails))
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user