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/wt/b3-gates)
==============================================================================
note [b3-gates] line 15: backup/appbackup_bridge.go  (resolved by suffix → controller/internal/backup/appbackup_bridge.go)
note [b3-gates] line 19: appbackup/userdata.go  (resolved by suffix → controller/internal/appbackup/userdata.go)
note [b3-gates] line 19: stacks/skeleton_derive.go  (resolved by suffix → controller/internal/stacks/skeleton_derive.go)
note [b3-gates] line 64: internal/report/builder.go  (resolved by suffix → controller/internal/report/builder.go)
note [b3-gates] line 95: stacks/deploy.go  (resolved by suffix → controller/internal/stacks/deploy.go)
note [b3-gates] line 155: cmd/controller/main.go  (resolved by suffix → controller/cmd/controller/main.go)
note [b3-gates] line 172: internal/selfupdate/updater.go  (resolved by suffix → controller/internal/selfupdate/updater.go)
note [b3-gates] line 180: appbackup/appdata.go  (resolved by suffix → controller/internal/appbackup/appdata.go)
note [b3-gates] line 206: scripts/secret_in_markup_gate.py  (resolved by suffix → controller/scripts/secret_in_markup_gate.py)
note [b3-gates] line 258: hub/internal/api/handler.go  (cross-repo → felhom.eu/hub/internal/api/handler.go)
note [b3-gates] line 258: hub/internal/notify/dispatcher.go  (cross-repo → felhom.eu/hub/internal/notify/dispatcher.go)
note [b3-gates] line 275: monitor/deadline.go  (cross-repo (suffix) → felhom.eu/hub/internal/monitor/deadline.go)
note [b3-gates] line 320: wgsync/reconciler.go  (cross-repo (suffix) → felhom.eu/hub/internal/wgsync/reconciler.go)
note [b3-gates] line 325: templates/app_shell.html  (resolved by suffix → controller/internal/web/templates/app_shell.html)
note [b3-gates] line 361: api/router.go  (resolved by suffix → controller/internal/api/router.go)
note [b3-gates] line 378: cmd/controller/r856_wiring_test.go  (resolved by suffix → controller/cmd/controller/r856_wiring_test.go)
note [b3-gates] line 387: web/netprobe.go  (resolved by suffix → controller/internal/web/netprobe.go)
note [b3-gates] line 387: web/server.go  (resolved by suffix → controller/internal/web/server.go)
note [b3-gates] line 411: felhom.eu/scripts/golden_currency_gate.py  (cross-repo → felhom.eu/scripts/golden_currency_gate.py)
OK   [b3-gates]: 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/wt/b3-gates)
==============================================================================
instructions_gate: /mnt/5_hdd/felhom.eu/wt/b3-gates
  CLAUDE.md effective lines : 92 (ceiling 200)
  version literals          : 0
  TEMPORARY blocks          : 0
  rule files                : 5 (4 path-scoped)
  workspace copy            : n/a (not this workspace)
  memory index             : absent (.claude-memory/ not on this host — the auto-memory store is machine-local by design, so a clone elsewhere legitimately has none; PASS with reason)
  register citations       : n/a (no OPEN-ITEMS.md — not this workspace)

instructions_gate: OK

==============================================================================
== gate: observations   (observations_gate.py /mnt/5_hdd/felhom.eu/wt/b3-gates)
==============================================================================
  report            : /mnt/5_hdd/felhom.eu/wt/b3-gates/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/wt/b3-gates)
==============================================================================
==============================================================================
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
