Continue AI features and improve protocol support

This commit is contained in:
2026-02-15 16:57:32 +00:00
parent ab91c7dba1
commit 9a70f86088
62 changed files with 5472 additions and 441 deletions

View File

@@ -13,6 +13,37 @@
{{ result_text }}
</div>
{% else %}
{% if ai_request_status %}
<div class="tags" style="margin-bottom: 0.45rem;">
<span class="tag is-light">Request {{ ai_request_status|title }}</span>
<span class="tag is-light">Messages {{ ai_request_message_count|default:0 }}</span>
{% if ai_result_created_at %}
<span class="tag is-light">Result {{ ai_result_created_at }}</span>
{% endif %}
{% if ai_request_started_at %}
<span class="tag is-light">Started {{ ai_request_started_at }}</span>
{% endif %}
{% if ai_request_finished_at %}
<span class="tag is-light">Finished {{ ai_request_finished_at }}</span>
{% endif %}
</div>
{% if ai_request_window_spec %}
<div class="tags" style="margin-bottom: 0.45rem;">
{% if ai_request_window_tags %}
{% for item in ai_request_window_tags %}
<span class="tag is-light">{{ item }}</span>
{% endfor %}
{% else %}
<span class="tag is-light">Window selected</span>
{% endif %}
{% if ai_request_policy_tags %}
{% for item in ai_request_policy_tags %}
<span class="tag is-light">{{ item }}</span>
{% endfor %}
{% endif %}
</div>
{% endif %}
{% endif %}
{% if operation == "artifacts" %}
{% if latest_plan %}
{% include "partials/ai-workspace-mitigation-panel.html" with person=person plan=latest_plan rules=latest_plan_rules games=latest_plan_games corrections=latest_plan_corrections fundamentals_text=latest_plan.fundamental_items|join:"\n" mitigation_messages=latest_plan_messages latest_export=latest_plan_export notice_message=mitigation_notice_message notice_level=mitigation_notice_level auto_settings=latest_auto_settings active_tab="plan_board" %}
@@ -145,6 +176,72 @@
{% endif %}
{% endif %}
{% if interaction_signals %}
<article class="box" style="padding: 0.55rem; margin-top: 0.55rem; border: 1px solid rgba(0, 0, 0, 0.14); box-shadow: none;">
<p class="is-size-7 has-text-weight-semibold" style="margin-bottom: 0.35rem;">Interaction Signals</p>
<div class="tags">
{% for signal in interaction_signals %}
<span class="tag is-light">{{ signal.label }} ({{ signal.valence }})</span>
{% endfor %}
</div>
</article>
{% endif %}
{% if memory_proposals %}
<article class="box" style="padding: 0.55rem; margin-top: 0.55rem; border: 1px solid rgba(0, 0, 0, 0.14); box-shadow: none;">
<p class="is-size-7 has-text-weight-semibold" style="margin-bottom: 0.35rem;">Memory Proposals</p>
{% if memory_proposal_groups %}
<div class="columns is-multiline" style="margin: 0 -0.25rem;">
{% for group in memory_proposal_groups %}
<div class="column is-12-mobile is-6-tablet" style="padding: 0.25rem;">
<article class="box" style="padding: 0.45rem; margin-bottom: 0; border: 1px solid rgba(0, 0, 0, 0.12); box-shadow: none;">
<p class="is-size-7 has-text-weight-semibold" style="margin-bottom: 0.3rem;">{{ group.title }}</p>
<ul style="margin: 0 0 0.25rem 1.1rem;">
{% for proposal in group.items %}
<li class="is-size-7" style="margin-bottom: 0.22rem; white-space: pre-wrap;">
{{ proposal.content }}
</li>
{% endfor %}
</ul>
</article>
</div>
{% endfor %}
</div>
{% else %}
{% for proposal in memory_proposals %}
<p class="is-size-7" style="margin-bottom: 0.3rem; white-space: pre-wrap;">
<strong>{{ proposal.kind|title }}</strong>: {{ proposal.content }}
</p>
{% endfor %}
{% endif %}
</article>
{% endif %}
{% if citations %}
<article class="box" style="padding: 0.55rem; margin-top: 0.55rem; border: 1px solid rgba(0, 0, 0, 0.14); box-shadow: none;">
<p class="is-size-7 has-text-weight-semibold" style="margin-bottom: 0.35rem;">Citations</p>
{% if citation_rows %}
<div class="content is-small" style="margin-bottom: 0;">
{% for row in citation_rows %}
<p class="is-size-7" style="margin-bottom: 0.3rem;">
<span class="tag is-light">{{ row.source_system|default:"event" }}</span>
{% if row.ts_label %}
<span class="has-text-grey">{{ row.ts_label }}</span>
{% endif %}
{% if row.text %}
<span> {{ row.text|truncatechars:140 }}</span>
{% else %}
<code>{{ row.id }}</code>
{% endif %}
</p>
{% endfor %}
</div>
{% else %}
<p class="is-size-7" style="margin: 0;">{{ citations|join:", " }}</p>
{% endif %}
</article>
{% endif %}
{% if operation == "extract_patterns" %}
<article class="box" style="padding: 0.7rem; margin-top: 0.65rem; border: 1px solid rgba(0, 0, 0, 0.14); box-shadow: none;">
<p class="is-size-7 has-text-weight-semibold" style="margin-bottom: 0.4rem;">Create Framework / Rules / Games</p>