controller_gates — 18 gate(s)  [--fast]

==============================================================================
== gate: template-id   (template_id_gate.py)
==============================================================================
integrity gate OK — every JS element-ID reference resolves in the page it renders on

==============================================================================
== gate: emoji   (emoji_gate.py)
==============================================================================
emoji gate OK — no emoji in web templates

==============================================================================
== gate: native-confirm   (native_confirm_gate.py)
==============================================================================
native-confirm gate OK — no native confirm()/prompt()/alert() in templates

==============================================================================
== gate: offbox-rename   (offbox_rename_gate.py)
==============================================================================
offbox rename gate OK — Tier-3 is 'Tavoli mentes' everywhere customer-facing (26 file(s) + 129 bundle value(s) named by them)

==============================================================================
== gate: app-row-dedup   (app_row_dedup_gate.py)
==============================================================================
app_row_dedup_gate: OK (row markup single-sourced in app_row.html; 44 templates scanned)

==============================================================================
== gate: mojibake   (mojibake_gate.py)
==============================================================================
mojibake_gate: OK (1187 files clean — no double-encoding signatures)

==============================================================================
== gate: docker-v   (docker_run_volume_path_gate.py)
==============================================================================
docker -v gate OK — every volume mount is named-volume or proven host-visible

==============================================================================
== gate: secret-markup   (secret_in_markup_gate.py)
==============================================================================
secret-in-markup gate OK — 44 templates, no secret-named expression rendered
  (NAME-BASED: blind to a secret arriving under a neutral PAGE-DATA key — see the docstring)

==============================================================================
== gate: retrieval-promise   (retrieval_promise_gate.py)
==============================================================================
retrieval-promise gate OK — 45 surface(s) incl. 1 Go handler file(s), 18 registered claim(s) + 16 English, none unregistered
  (BLIND SPOT: it registers WHERE the claim is made, not whether each conditional is wired
   to a true predicate — that is what the R-302 render tests are for.)

==============================================================================
== gate: debug-routes   (debug_route_gate.py)
==============================================================================
debug route gate OK - 19 referenced address(es), all dispatched, none orphaned

==============================================================================
== gate: reuse-refs   (reuse_refs_check.py /mnt/5_hdd/felhom.eu/git/felhom-controller)
==============================================================================
note [felhom-controller] line 15: backup/appbackup_bridge.go  (resolved by suffix → controller/internal/backup/appbackup_bridge.go)
note [felhom-controller] line 19: appbackup/userdata.go  (resolved by suffix → controller/internal/appbackup/userdata.go)
note [felhom-controller] line 19: stacks/skeleton_derive.go  (resolved by suffix → controller/internal/stacks/skeleton_derive.go)
note [felhom-controller] line 64: internal/report/builder.go  (resolved by suffix → controller/internal/report/builder.go)
note [felhom-controller] line 95: stacks/deploy.go  (resolved by suffix → controller/internal/stacks/deploy.go)
note [felhom-controller] line 155: cmd/controller/main.go  (resolved by suffix → controller/cmd/controller/main.go)
note [felhom-controller] line 172: internal/selfupdate/updater.go  (resolved by suffix → controller/internal/selfupdate/updater.go)
note [felhom-controller] line 180: appbackup/appdata.go  (resolved by suffix → controller/internal/appbackup/appdata.go)
note [felhom-controller] line 206: scripts/secret_in_markup_gate.py  (resolved by suffix → controller/scripts/secret_in_markup_gate.py)
note [felhom-controller] line 258: hub/internal/api/handler.go  (cross-repo → felhom.eu/hub/internal/api/handler.go)
note [felhom-controller] line 258: hub/internal/notify/dispatcher.go  (cross-repo → felhom.eu/hub/internal/notify/dispatcher.go)
note [felhom-controller] line 275: monitor/deadline.go  (cross-repo (suffix) → felhom.eu/hub/internal/monitor/deadline.go)
note [felhom-controller] line 320: wgsync/reconciler.go  (cross-repo (suffix) → felhom.eu/hub/internal/wgsync/reconciler.go)
note [felhom-controller] line 325: templates/app_shell.html  (resolved by suffix → controller/internal/web/templates/app_shell.html)
note [felhom-controller] line 361: api/router.go  (resolved by suffix → controller/internal/api/router.go)
note [felhom-controller] line 378: cmd/controller/r856_wiring_test.go  (resolved by suffix → controller/cmd/controller/r856_wiring_test.go)
note [felhom-controller] line 387: web/netprobe.go  (resolved by suffix → controller/internal/web/netprobe.go)
note [felhom-controller] line 387: web/server.go  (resolved by suffix → controller/internal/web/server.go)
note [felhom-controller] line 411: felhom.eu/scripts/golden_currency_gate.py  (cross-repo → felhom.eu/scripts/golden_currency_gate.py)
OK   [felhom-controller]: 231 cited paths — exact 212, suffix 14, ambiguous 0, cross-repo 5, FAILED 0 (siblings searched: app-catalog-felhom.eu, felhom-agent, felhom.eu, felhom.eu-media, felhom.eu-sizing-push, felhom.eu-wt-sizing)

==============================================================================
== gate: instructions   (instructions_gate.py /mnt/5_hdd/felhom.eu/git/felhom-controller)
==============================================================================
instructions_gate: /mnt/5_hdd/felhom.eu/git/felhom-controller
  CLAUDE.md effective lines : 92 (ceiling 200)
  version literals          : 0
  TEMPORARY blocks          : 0
  rule files                : 5 (4 path-scoped)
  workspace file            : SYMLINK -> felhom.eu/documentation/runbooks/workspace-CLAUDE.md (resolves to the versioned copy)
  memory index             : 200 lines (ceiling 200), 24321 bytes (ceiling 25600)
  memory index content     : 28 version literal(s), 3 host address(es), 0 expired statement(s)  [WARN only]
  memory topic files       : 177 indexed, 4 orphaned, 41 archived
  register citations       : 12 cited, 1077 register items known

WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:30: version literal '0.14.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - **[restic 0.14.0 `--verify` is size+mtime, NOT content](restic-0140-verify-and-lock-sema
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:90: version literal '0.142.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - [Offsite continuity](offsite-continuity-2026-07-17.md) — ctrl 0.142.0 orphan guard + hub
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:90: version literal '0.60.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - [Offsite continuity](offsite-continuity-2026-07-17.md) — ctrl 0.142.0 orphan guard + hub
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:97: version literal '0.152.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - **[Hub operator UI: CC uses its token HUB_TOKEN, not the password](hub-operator-ui-basic
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:101: version literal '0.90.1' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - [Agent 0.90.1 is wrapper-only](agent-0901-is-wrapper-only.md) — do NOT publish the binar
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:103: version literal '0.144.0' — the fleet is not uniform, so it is stale within a day. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - [SMB „Megosztás" R-7 slice 1](smb-sharing-r7-slice1-2026-07-18.md) — ctrl 0.144.0 + felh
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md: ... and 22 more version literal(s) — full list from the tally counts above.
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:59: host address '192.168.0.192' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - [hub.felhom.eu resolves to the LAN here](hub-resolves-to-lan-on-dooplex-network.md) — 19
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:78: host address '167.233.158.164' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - [Offsite PBS box RAM ceiling](offsite-pbs-box-ram-ceiling-2026-07-27.md) — **root SSH = 
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory/MEMORY.md:185: host address '192.168.0.180' — operations/nodes.md is the single home for these. Not a failure: Claude writes this file between sessions, so this warning is aimed at the model that will next edit it, not at whoever is pushing.
      - **CC runs ON DooPlex** (192.168.0.180) — repos `/mnt/5_hdd/felhom.eu/git/felhom-*`, buil
WARNING: /mnt/5_hdd/felhom.eu/git/.claude-memory: 4 top-level topic file(s) are not referenced by MEMORY.md, so nothing will ever read them: f10-demo-hp-offsite-resolved-2026-07-23.md, launcher-v0163-2026-07-24.md, peti-return-p1-stop-2026-07-13.md, stopped-not-fault-v0164-2026-07-24.md

instructions_gate: OK (11 warning(s))

==============================================================================
== gate: observations   (observations_gate.py /mnt/5_hdd/felhom.eu/git/felhom-controller)
==============================================================================
  report            : /mnt/5_hdd/felhom.eu/git/felhom-controller/REPORT.md
  section           : ## 4. Observations
  observation items : 8
      OK  1. FILED R-1109
      OK  2. FILED R-1110
      OK  3. FILED R-1111
      OK  4. FILED R-1112
      OK  5. FILED R-1113
      OK  6. FILED R-1114
      OK  7. NOT-A-FINDING
      OK  8. NOT-A-FINDING
observations gate OK — every observation is either filed or explicitly declared

==============================================================================
== gate: minagent-header   (minagent_header_gate.py)
==============================================================================
minagent header gate OK — v0.324.0 declares MinAgent 0.158.1

==============================================================================
== gate: i18n   (i18n_missing_gate.py)
==============================================================================
i18n: 2051 markers in 44 templates; hu 2764 keys, en 2776 keys
i18n: English missing 0 (ceiling 0); Hungarian formal forms 0 (ceiling 0, R-516)
i18n gate OK

==============================================================================
== gate: go-parity   (i18n_go_parity.py)
==============================================================================
go-parity: base capture 736f54b49610 (7467 literals), 773 slice-2 keys listed, 272 pre-existing, 776 named in Go, 585 helper calls judged for arity
go-parity gate OK: every Go-side key carries base-commit text, byte for byte, and every judged call passes as many arguments as its message has verbs.

==============================================================================
== gate: gofmt   (gofmt_gate.py)
==============================================================================
gofmt gate OK — every Go file under cmd, internal is gofmt-clean

==============================================================================
== gate: golden-notice   (golden_notice.py /mnt/5_hdd/felhom.eu/git/felhom-controller)
==============================================================================
==============================================================================
NOTICE — v0.324.0 OWES A GOLDEN.  (this NEVER blocks; see the docstring)
==============================================================================
  newest released controller : 0.324.0   (this repo's CHANGELOG.md)
  newest golden baked        : 0.318.0   (felhom.eu documentation/tests/)

  A machine installed right now would receive 0.318.0, not 0.324.0.

  This is a REMINDER AT THE ONE MOMENT IT IS USEFUL — you are in the repo where the
  release happens. It does not block, and must not: at the moment a release is
  committed the golden cannot exist yet.

  WHAT CLEARS IT: bake a golden (felhom.eu documentation/runbooks/RUNBOOK-manual-build.md
  section 4.1), then vouch it — a THREE-field change: golden_version + agent_version +
  min_agent. The bake record lands in felhom.eu documentation/tests/golden-<ver>-<date>/.

  If this release deliberately needs no golden, record a waiver row in
  felhom.eu documentation/backlog/OPEN-ITEMS.md — never a habit of bypassing.
==============================================================================

==============================================================================
== summary
==============================================================================
  template-id        OK            (exit 0)
  emoji              OK            (exit 0)
  native-confirm     OK            (exit 0)
  offbox-rename      OK            (exit 0)
  app-row-dedup      OK            (exit 0)
  mojibake           OK            (exit 0)
  docker-v           OK            (exit 0)
  secret-markup      OK            (exit 0)
  retrieval-promise  OK            (exit 0)
  debug-routes       OK            (exit 0)
  reuse-refs         OK            (exit 0)
  instructions       OK            (exit 0)
  observations       OK            (exit 0)
  minagent-header    OK            (exit 0)
  i18n               OK            (exit 0)
  go-parity          OK            (exit 0)
  gofmt              OK            (exit 0)
  golden-notice      ADVISORY      (exit 0, advisory)

all controller gates OK
