{% extends "base.html" %} {% block title %}Updates · NEXXVU{% endblock %} {% block content %}
Portal software
Review a release, request authorization, then explicitly start its signed update.
{{ state.health.release.semver or 'Development / unknown' }} · Schema {{ state.health.schema_level or 'unknown' }}
{{ state.health.release.git_sha or 'No deployed release identity' }}
{{ ('Installed or last updated: ' ~ state.health.release.last_successful_update_utc) if state.health.release.last_successful_update_utc else 'Installation time not recorded' }}
{{ 'Healthy' if state.health.ready else 'Update blocked: current release is not ready' }}
{% for reason in state.health.errors %}{{ reason|replace('_',' ') }}
{% endfor %}Signature-verified offers published locally for this Portal. A release offer is not execution authorization.
{% for offer in state.offers %}Schema {{ offer.schema_from }} → {{ offer.schema_to }}
{{ offer.notes }}{{ 'Eligible to request' if offer.eligible else 'Not eligible' }}
{% for reason in offer.reasons %}{{ reason }}
{% endfor %} {% if offer.eligible %}{% endif %}No verified release offers are currently available.
{{ tx.prior_release }} → {{ tx.requested_release }}
Progress: {{ tx.current_stage|replace('_',' ') }}
Outcome: {{ tx.final_result|replace('_',' ') if tx.final_result else 'Not completed' }}
{{ tx.safe_diagnostic or '' }}
{% if tx.current_stage == 'completed' and tx.final_result == 'succeeded' %}Delivery dispatch was attempted. Delivery result: {{ state.dispatch.delivery.get('Result', 'unknown') if state.dispatch.delivery else 'unknown' }}. If progress has stopped, have the host operator inspect the pull unit and retained evidence. This screen will not launch the transaction again.
{% else %}Have the signed per-Portal authorization published through the existing approval process, then start delivery. Missing or invalid authorization cannot reach the executor.
{% endif %}{% endif %}