Слово conformance легко превращается в слишком большой вывод. Мы видим зелёный результат, число вроде 8/8 — и мозг почти автоматически достраивает: «значит framework надёжный». Именно здесь и начинается ошибка. Один и тот же projection score может стоять над совершенно разными storage contracts, разной mutability и разным источником гарантии.

Conformance is a vector of bounded claims, not a scalar verdict.

Signal 018 фиксирует более строгий способ говорить о runtime verification: не сжимать результат в один ярлык, а раскрывать его как набор независимых утверждений. Каждое утверждение должно отвечать на три вопроса: какая версия исходного кода?, какая именно граница измерялась? и что действительно было доказано на этой границе?

Один score скрывает происхождение гарантии.

profile validity≠projection≠persistence≠append-only≠framework safety

Profile validity говорит, что submission структурно распознаётся и внутренне согласован. Projection conformance говорит, что bounded reducer воспроизводит нужную семантику. Persistence отвечает, переживает ли evidence save/load или checkpoint boundary. Append-only — можно ли считать историю неизменяемой на измеренной поверхности. А «framework безопасен» — уже гораздо более широкое утверждение, которое из предыдущих пунктов автоматически не следует.

C

CrewAI · native events
6/8: measured native tool-event vocabulary не выражает explicit absence и evidence-bound deadline.

L

LangGraph · hosted checkpoint/state
8/8 projection + persistence; append-only behaviour остаётся обязанностью adapter policy.

A

AutoGen · hosted saved state
8/8 projection + JSON save/load; гарантия witness discipline поставляется bounded adapter.

M

Microsoft Agent Framework · hosted checkpoint
8/8 на source-pinned checkpoint boundary; это не framework-wide certification.

O

OpenAI Agents SDK · SQLiteSession envelope
8/8 projection + persistence, но native Session mutable: append-only FAIL, destructive mutations PRESENT.

Семь независимых осей.

Agent Runtime Conformance Matrix v0.1 не строит рейтинг «кто лучше». Она разводит свойства, которые часто ошибочно смешивают:

projection→replay→absence→deadline→persistence→append-only→mutations
Runtime Projection Replay Explicit absence Deadline Persistence Append-only Destructive mutations
CrewAI6/8 FAILPASSFAILFAILN/MN/MN/M
LangGraph8/8 PASSPASSPASSPASSPASSADAPTERN/M
AutoGen8/8 PASSPASSPASSPASSPASSADAPTERN/M
Microsoft Agent Framework8/8 PASSPASSPASSPASSPASSADAPTERN/M
OpenAI Agents SDK8/8 PASSPASSPASSPASSPASSFAILPRESENT

N/M означает not measured на этой source-pinned границе. Это не утверждение, что runtime не имеет такой возможности где-либо ещё. ADAPTER означает другое: substrate способен нести нужный witness contract, но append-only discipline обеспечивается bounded adapter/reducer policy, а не доказана как immutable native storage contract.

Почему три 8/8 — не одна и та же гарантия.

LangGraph, AutoGen и Microsoft Agent Framework позволяют разместить complete witness contract в persistent state/checkpoint substrate. Это важный результат: explicit absence и deadline evidence могут быть сохранены и replayed без обращения к ambient wall clock. Но архитектурно это hosted capability.

substrate can host the contract ≠ every application automatically preserves the contract

Именно adapter задаёт, какие факты разрешено добавлять, можно ли переписать историю, как нормализуется state и что считается evidence. Поэтому 8/8 здесь означает: на этой границе можно реализовать conformance без скрытого времени и синтетических фактов. Он не означает, что любой agent на этом framework автоматически обладает такой гарантией.

Почему 8/8 + append-only FAIL — не противоречие.

OpenAI Agents SDK показывает полезный контрпример. Restricted SQLiteSession envelope может сохранить witness sequence и дать 8/8 projection result. Persistence тоже работает. Но native Session API экспонирует destructive history operations — в измеренной версии это pop_item и clear_session.

8/8 projection≠immutable history

То есть replay semantics могут быть правильными, пока выбранный envelope дисциплинирован, но native storage surface при этом не является append-only. Такая разница теряется мгновенно, если оставить только один score.

Почему CrewAI 6/8 — не «framework failure».

У CrewAI проверялась другая поверхность: native tool-event vocabulary. На pinned boundary она описывает start, finish, error и failure, но не выражает отдельный наблюдаемый факт вида:

checked window [a, b)
observed no response
deadline = d

Поэтому два capability check закономерно падают: explicit absence и deadline binding. Корректная формулировка: «измеренная native event boundary не выражает complete witness contract». Некорректная: «CrewAI целиком небезопасен или недетерминирован».

Portable profile: одна подача, несколько независимых ответов.

ContractGraph-QA PR #91 превращает матричную лексику в portable profile. Вместо поля conformant: true evaluator возвращает отдельные claims:

profileValid
projectionConformant
replay
explicitAbsence
deadlineBinding
persistence
appendOnly
destructiveMutations

Это маленькое изменение формата решает большую коммуникационную проблему: structurally valid profile больше нельзя незаметно выдать за semantic PASS, а semantic 8/8 — за proof of immutable storage.

cgqa runtime-conformance-profile --input profile.json

Перед фразой «Framework X проходит conformance».

1

Какой source pin?
Ревизия должна быть конкретной и воспроизводимой.

2

Какая boundary?
Native events, checkpoint, session storage и hosted adapter нельзя смешивать.

3

Кто поставляет guarantee?
Framework, storage API или bounded adapter policy?

4

Какие axes measured?
PASS, FAIL, ADAPTER и N/M должны оставаться раздельными.

5

Есть destructive mutations?
Persistence сама по себе не делает evidence immutable.

6

Где executable evidence?
Результат должен вести к тесту, profile или source-pinned benchmark.

7

Что осталось unmeasured?
Неизмеренное пространство должно быть видно, а не дорисовано маркетинговой формулировкой.

Executable evidence.

Веб-версия — редакционный слой. Исполняемый источник истины остаётся в ContractGraph-QA, а Signal 018 хранит компактную operational memory о том, как читать результаты.

MATRIXAgent Runtime Conformance Matrix v0.1 ↗

Source-pinned comparison vocabulary and independent axes.

PROFILEPortable Runtime Conformance Profile v0.1 ↗

Executable profile evaluator that fails closed on contradictory claims.

SIGNALSignal 018 source ↗

Verified routing guidance and bounded claim language.

Source-pinned runtime boundaries.

CrewAI
crewAIInc/crewAI@f4731f5025f861c78e3af0487cc80bf5e7c64782

LangGraph
langchain-ai/langgraph@f09cfe8ffc1eeffd68f4b628ed69c30f7cad229f

AutoGen
microsoft/autogen@027ecf0a379bcc1d09956d46d12d44a3ad9cee14

Microsoft Agent Framework
microsoft/agent-framework@d9d3fb6252f7ae9e7f8104edce7266f0782a813c

OpenAI Agents SDK
openai/openai-agents-python@7f7a44f8dc0650296bd5ab6c745c9bcbaa6ac3b7

Что этот Signal не доказывает.

Матрица и profile format не являются vendor endorsement, production security certification или доказательством framework-wide safety. Они не доказывают authenticity каждого внешнего evidence reference, distributed consistency произвольного backend и application-level correctness любого агента. Их verified claim уже и полезнее: разные runtime guarantees теперь можно измерять и публиковать отдельно, не пряча различия за одним зелёным числом.

A useful conformance result says exactly what passed, where it passed, what supplied the guarantee, and what was not measured.

Для RESONANCE это важный сдвиг. Журнал может говорить не «кто победил», а какая архитектурная граница что действительно гарантирует — и вести читателя от публичного тезиса прямо к executable evidence.

Открыть AI Agents research map Issue 001 · The Age of Agents →