{# 02 / ARCHITECTURE — site rendering model + framework hints. Spec § 2. #}
02 / ARCHITECTURE

Site architecture

{% set ar = report.analysis_result %} {% if ar.architecture %}

Architecture classified as {{ ar.architecture }}. {% if ar.framework_hints %} Framework hints: {%- for hint in ar.framework_hints %} {{ hint.name }}{% if hint.version %} {{ hint.version }}{% endif %}{% if not loop.last %},{% endif %} {%- endfor %}. {% endif %}

{% else %}

Architecture not yet classified.

{% endif %}
{% if ar.framework_hints %}
{%- for hint in ar.framework_hints -%} {{ hint.name }}{% if hint.version %} {{ hint.version }}{% endif %} {%- for ev in hint.evidence %} - {{ ev.signal }}: {{ ev.value }} {%- endfor %} {% endfor -%}
{% else %}
No framework signals captured.
{% endif %}
Implication: {% if ar.architecture == 'page_based' %} single GET + HTML parse extracts everything; no JS execution required. {% elif ar.architecture == 'spa' %} SPA — content hydrated via XHR/JSON; prefer the underlying API endpoints over rendering. {% elif ar.architecture == 'api_driven' %} API-driven — call the JSON endpoints directly; HTML is mostly chrome. {% elif ar.architecture == 'hybrid' %} hybrid SSR + client hydration; mix of HTML extraction and API calls is likely cheapest. {% else %} architecture unclassified — inspect the endpoint inventory below. {% endif %}