Files
app-catalog-felhom.eu/REPORT.md
T
admin 96829d0d0f
gates / gates (push) Successful in 3s
Grimmory and MeTube published behind the family gate (controller >= 0.287.0, decisions 63/64), with complete records
- family_gate / family_gate_except / min_controller format (README, REUSE); gate family-gate + decoys
- templates/grimmory (v3.5.0, exceptions OPDS/Kobo/KOReader/Komga) + onboarding/grimmory.md
- templates/metube (2026.09.29, no exceptions; ladder .28 -> .29) + onboarding/metube.md; fixture MeTube
- volume-persistence gate: routed port read from the label NAME (R-801, red-proofed); APP_EXERCISE (R-788)
- box_walk: family_cookie; no cached "not gated" while an app has no router

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-10-02 09:36:49 +02:00

1.7 KiB

REPORT — the family gate in the catalog: Grimmory and MeTube published (2026-10-02)

Session report: felhom.eu/REPORT-family-gate-2026-10-02.md. Evidence: felhom.eu/documentation/audits/family-gate-2026-10-02/.

  • Format: family_gate: true, family_gate_except: (literal prefixes, anchored by the box), min_controller: (README §family gate; REUSE row). Gate family-gate (check-family-gate.py): refuses a non-literal exception, an exception without the gate, a missing/low min_controller, and a family app while the newest baked golden < 0.287.0. Decoys seen red: B/family-gate-decoys-red.txt.
  • Grimmory published (v3.5.0 + mariadb:11.4): setup gate for the first admin + the family gate for good; exceptions OPDS v1/v2, Kobo, KOReader, Komga API — a stranger measured on each (the app's own 401), look-alikes stay gated. Record onboarding/grimmory.md, all 61 ids. R-775's lock cannot be aimed from outside any more.
  • MeTube published (2026.09.29): behind the family gate with no exception; the websocket passes the gate for a member (101) and is refused for a stranger; downloads to ${USERDATA_PATH}/media/metube; own-use sentence (hu, en). Ladder 2026.09.28 → .29 (bench + 9202). Record onboarding/metube.md, all 61 ids.
  • Gates on the bench: catalog_gates.py grimmory and metube exit 0, every gate OK, family-gate against golden 0.287.0.
  • Found and fixed here: the volume-persistence gate never sent a request to any app (port read from label values; R-801, routed_ports(), red-proofed) — a full re-sweep is owed; APP_EXERCISE gives MeTube its own write path (R-788). box_walk.py no longer caches "not gated" from a moment without a router.