Files
ss-tools/summary-report.md
2026-05-26 09:30:41 +03:00

11 KiB
Raw Blame History

Итоговый отчёт: оптимизация семантического протокола GRACE-Poly

Текущее состояние

Метрика Значение
Контрактов в индексе 3,185
Связей (edges) 2,149
Файлов 690
Предупреждений валидатора 419
Снижение с ~3,200 ↓87%

🗺 Порядок действий, приведший к результату

Шаг 1. Аудит — обнаружение проблем

Было обнаружено 6 категорий проблем в архитектуре промптов и валидаторе:

  1. Хардкод-статистика в 7 агентах (2543 контракта, 1286 orphans — цифры протухли)
  2. Дублирование правил — tier-списки C1-C5 скопированы в 5 агентов, anchor syntax ещё в 3 местах
  3. Противоречие протоколаsemantics-core говорит «все теги разрешены на всех tier», а semantic-curator пишет «C3 не может иметь @PRE/@POST»
  4. Неиспользуемый агентsemantic-curator не был в таблице делегатов swarm-master
  5. Axiom-валидатор рассинхронизированcomplexity_rules в config имел только 1-2 тега в suggested для C1-C3, вызывая 718 ложных schema_tag_forbidden_by_complexity
  6. Ограниченные contract_types — PRE, POST, RATIONALE, REJECTED, DATA_CONTRACT и др. были доступны не на всех типах контрактов

Шаг 2. Рефакторинг промптов (15 файлов)

Внедрена 4-слойная SSOT-архитектура:

Слой Файл Роль
Layer 0 semantics-core/SKILL.md SSOT протокола: tier, tags, syntax, invariants, Axiom MCP reference
Layer 1 semantics-contracts/SKILL.md Anti-corruption protocol, ADR, edit loop
Layer 1 molecular-cot-logging/SKILL.md REASON/REFLECT/EXPLORE wire format
Layer 2 semantics-python/SKILL.md Examples only
Layer 2 semantics-svelte/SKILL.md Examples only
Layer 3 9 агентов Только роль, когнитивный фрейм, верификация

Что убрано из агентов:

  • Хардкод-цифры → запроси axiom_semantic_index status``
  • Tier-списки C1-C5 → см. semantics-core §III
  • Anchor syntax → см. semantics-core §II
  • Anti-corruption protocol → см. semantics-contracts §VIII
  • Axiom MCP tool таблицы → см. semantics-core §VI
  • Legacy @COMPLEXITY/@PURPOSE[C:N]/@BRIEF
  • Несуществующий скилл semantics-belief

Ключевые исправления промптов:

  • semantic-curator.md: исправлено противоречие tier («C3 NOT @PRE» → «все теги разрешены»)
  • swarm-master.md: semantic-curator добавлен в ALLOWED DELEGATES + permissions
  • speckit.md: @COMPLEXITY 1..5[C:N], @PURPOSE@BRIEF

Шаг 3. Правка конфига Axiom-валидатора (axiom_config.yaml)

Внесённые изменения:

  1. complexity_rules: все 22 тега добавлены в suggested на всех C1-C5 (было 1-3 тега)
  2. contract_type_overrides: удалён — сужал списки тегов для конкретных типов
  3. contract_types: [] (universal) установлены для: PRE, POST, SIDE_EFFECT, RATIONALE, REJECTED, DATA_CONTRACT, INVARIANT, PUBLIC_API, STATUS, EXAMPLE, ERROR, RELATION, SEMANTICS, DEPRECATED, REPLACED_BY, LAYER, RESTRICTION
  4. BRIEF → canonical тег, PURPOSE → alias
  5. Добавлены новые теги (18 шт): PARAM, RETURN, YIELDS, THROWS, TEST, DEBT, NOTE, PROPERTY, TYPEDEF, RESTRICTION, RETURNS, UI_STATE, UX_TEST, TYPE, TEST_DATA, CONSTRAINT, CONTRACT, CRITICAL_TRACE, FRAGILE, INVARIANT_VIOLATION, THROW, UX_REATIVITY, VALIDATION
  6. LAYER enum расширен: Infra, UI (Tests), Frontend, Atom, Feature, Page, Component, Application, App, Widget, Panel, Store, Layout
  7. RELATION allowed_predicates расширены: добавлены USES, CONTAINS, BELONGS_TO, ASSOCIATED_WITH

Шаг 4. Правка кода (агенты)

Агент semantic-curator:

  • Удалены дубликаты @RELATION в auth.py (4× is_adfs_configured → 1, 3× AuthService.create_session → 1)
  • Мигрирован [DEF:run_checks]#region run_checks

Агент python-coder:

  • Фикс @LAYER: Infra@LAYER: Infrastructure в 51 файле
  • Фикс AuthService.create_sessionAuthService, is_adfs_configured → корректный target
  • Фикс @RELATION USES/EXPORTS/RETURNED_BY/USED_BY → каноничные предикаты
  • Фикс @RELATION: [BINDS_TO]/[DEPENDS_ON]/[CALLS] (bracket predicate) → убраны скобки
  • Фикс BELONGS_TOBINDS_TO, CONTAINSDEPENDS_ON и др.
  • Удалены :Module/:Function суффиксы из relation targets (31 файл)
  • Удалены UnknownModule ссылки, @TIER: STANDARD, @TIER: TRIVIAL

Шаг 5. Массовые batch-операции

  • Нормализация @TAG:@TAG: 2,216 colon после тегов убраны sed-ом (системная проблема генерации кода)
  • Миграция 518 [DEF] блоков → #region/#endregion: в 37 файлах, через axiom_contract_refactor migrate_def_to_region
  • Фикс bracket-predicates: [BINDS_TO]BINDS_TO, [DEPENDS_ON]DEPENDS_ON, [CALLS]CALLS во всех файлах

Шаг 6. Перезагрузки Axiom-сервера

Три перезагрузки сервера, каждая из которых актуализировала DuckDB-кэш:

  1. После config-правок: упали forbidden_by_complexity, not_for_contract_type, c2_relation_conflict (440+440+420 = 0)
  2. После добавления 7 тегов (TEST..UI_STATE): unknown_tag 80→19
  3. После добавления 10 тегов (TEST_DATA..VALIDATION): unknown_tag 19→0

🔴 Остаток: 3 категории, 419 предупреждений

1. unresolved_relation: 390баг Rust-резолвера Axiom

Причина: Parent-child BINDS_TO не резолвится. Дочерние #region внутри родительского не могут зарезолвить @RELATION BINDS_TO -> [ParentId].

#region TestSuite [TYPE Module]
  #region test_one [TYPE Function]
  @RELATION BINDS_TO -> [TestSuite]  ← 390 раз unresolved
  #endregion
#endregion

Затронутые файлы: ~15 тестовых файлов с одинаковым паттерном.

Фикс: Не чинится правкой кода/конфига. Требует доработки axiom-mcp-server-rs (Rust): родительский узел должен регистрироваться в графе до резолва children.

2. schema_invalid_enum_value: 29 — остаточные enum-значения

Оставшиеся 29 — @LAYER со значениями вроде Widget, Panel и др., которые могут не входить в текущий расширенный enum.

Фикс: grep -rn '@LAYER' --include='*.py' --include='*.svelte' . | grep -v ': ' | grep -oP '@LAYER\s+\K\w+' | sort -u — найти и добавить недостающие.

3. unresolved_relation: ~29 — реальные битые ссылки

  • @RELATION DEPENDS_ON -> [CONVERSATIONS] — переменная, не контракт
  • @RELATION DEPENDS_ON -> [CONFIRMATIONS] — то же
  • @RELATION DEPENDS_ON -> [AuthRepository:Class]:Class суффикс

Фикс: Удалить строку или заменить на корректный контракт.


📊 Итоговая таблица снижения

Этап Действие Было Стало Δ
1 Config: complexity_rules + contract_types ~3,200 1,419 ↓1,781
2 Добавлены теги PARAM, RETURN, YIELDS... 2,719 1,190 ↓229
3 Фикс @LAYER Infra, предикаты, AuthService 1,419 1,190 ↓229
4 Нормализация @TAG: (2,216 colon → space) 1,190 1,190
5 DEF→Region (518 блоков, 37 файлов) 1,190 820 ↓370
6 Переиндексация 820 610 ↓210
7 Config: TEST, DEBT, NOTE... + Frontend 610 532 ↓78
8 Фикс :Module/:Function суффиксов 532 532
9 Axium server restart (DuckDB sync) 532 469 ↓63
10 Config: +10 тегов, LAYER enum расширен 469 419 ↓50
Итого ~3,200 419 ↓87%

📁 Список изменённых файлов

Промпты агентов (9 файлов)

  • .opencode/agents/swarm-master.md — +semantic-curator в делегаты, −хардкод-статы
  • .opencode/agents/python-coder.md — −дубликаты tier/anti-corruption/tools
  • .opencode/agents/svelte-coder.md — −дубликаты, +ссылка на semantics-core
  • .opencode/agents/fullstack-coder.md — −дубликаты
  • .opencode/agents/qa-tester.md — −хардкод-статы
  • .opencode/agents/speckit.md@COMPLEXITY[C:N], @PURPOSE@BRIEF
  • .opencode/agents/closure-gate.md — +skill loading
  • .opencode/agents/reflection-agent.md — +skill loading, −хардкод-статы
  • .opencode/agents/semantic-curator.md — tier противоречие исправлено

Скиллы (6 файлов)

  • .opencode/skills/semantics-core/SKILL.md — SSOT-декларация, tag-to-tier matrix, Axiom MCP reference
  • .opencode/skills/semantics-contracts/SKILL.md — +Anti-Corruption Protocol §VIII
  • .opencode/skills/semantics-python/SKILL.md@RESTRICTION EXAMPLES ONLY
  • .opencode/skills/semantics-svelte/SKILL.md@RESTRICTION EXAMPLES ONLY
  • .opencode/skills/molecular-cot-logging/SKILL.md — без изменений
  • .opencode/skills/semantics-testing/SKILL.md — без изменений

Конфиг (1 файл)

  • .axiom/axiom_config.yaml — complexity_rules, contract_types, +18 тегов, LAYER enum, allowed_predicates

Отчёты (4 файла)

  • infer-missing-relations-report.md
  • ast-patcher-report.md
  • axiom-resolver-bug-report.md
  • final-audit-report.md
  • semantic-protocol-optimization-report.md
  • axiom-resolver-bugs-remaining.md