{# Host status. A read-only view of one `cymatix-status` observation of THIS machine: whether the coding host on it is wired to cymatix. The collector builds `state.host_status` as a typed allowlist (collector.project_host_status) behind a bounded single flight cache (status_cache.StatusCache), so nothing here is a raw report: no path, no URL, no native config value, no error text and no arbitrary guidance string can reach this template. Two rules shape the markup. 1. Every dimension renders on its own row, from its own vocabulary table. Reachable is not healthy, configured is not activated, installed is not enabled, and a registry record is not an authenticated connection. There is no roll-up badge, because one green light would claim exactly what this panel exists to keep apart. 2. Freshness is not readiness. The freshness line and the `data-freshness` attribute describe the observation; the rows describe what that observation found. A stale or expired card keeps its values and loses its emphasis (launcher.css); it never rewrites a true into a false. A null group or a null tristate renders Unknown, never false. Nothing is safe-marked: the environment autoescapes .html (`app.py:_get_templates`) and the approved strings pass through it unchanged. The panel offers no control, no link and no repair action. #} {% set hs = state.host_status %} {% set NO_OBS = ["unknown", "Unknown", "No observation has completed yet."] %} {% macro row(label, table, group, field) %} {% set value = group[field] if group is mapping else none %} {% set cell = table.get(value) or NO_OBS %}
{% if hs.freshness == "fresh" %} Fresh observation. {% elif hs.freshness == "stale" %} Stale observation. Shown from the last complete collection, not from now. {% else %} No observation available yet. The rows below are unknown, not false. {% endif %} Displayed observation has aged past its freshness lifetime.
Next step {{ hs.next_action | truncate(500, true, "", 0) }}
Read only. This panel installs nothing, enables nothing, repairs nothing and probes no remote address. It reports one local observation and its age.