Модуль I — инвентаризация и обнаружение
Модуль I — это каталог estate: пассивная, управляемая шиной инвентаризация всего, что существует — агентов, сессий, экземпляров Claude Code, серверов MCP, навыков, инструментов, ресурсов, моделей, провайдеров и нечеловеческих идентичностей. Он обнаруживает путём прослушивания, никогда не зондируя, и записывает только связи, идентификаторы и признаки активности — никогда полезную нагрузку. Эта страница — справочник по тому, что содержит каталог и что он намеренно не содержит.
Что он материализует
Заголовок раздела «Что он материализует»Коннекторы испускают наблюдения, а не сущности. Они публикуют нормализованные
факты edge.observed и cost.sampled на
шину событий; подразумеваемые ими сущности никогда не отправляются. Модуль I
материализует базовую сущность, которую называет каждое наблюдение, по её
естественной ссылке: инициатора session/agent/identity, сервер MCP, инструмент,
ресурс, навык и — из выборок стоимости — провайдера и модель (обнаруженные,
без цен; ценами владеет FinOps). Материализация идемпотентна при доставке
«не менее одного раза»: «найти-или-создать» по естественному ключу, поэтому одно и
то же наблюдение, увиденное дважды, никогда не дублирует сущность.
Его контракт и сущности
Заголовок раздела «Его контракт и сущности»Модуль регистрирует одну собственную сущность, inventory.catalog_entry — наложение
обнаружения, прикреплённое к каждой материализованной базовой сущности. Оно фиксирует,
как нечто было найдено, а не что оно делало: список источников сигналов, хосты,
на которых оно было замечено, метки времени первого и последнего наблюдения, счётчик
вхождений и признак активности status — active или stale. Периодический
обход устаревания (staleness sweep) помечает запись как stale, когда её не
наблюдали в течение настроенного окна, и возвращает её обратно в active в тот
момент, когда она вновь появляется; обход выполняется только по тем арендаторам,
которых модуль действительно наблюдал (он не может перечислить арендаторов и не
делает этого). Поверхность чтения мала и доступна только для чтения: счётчик
summary по виду и источнику, постраничный список entities с фильтрацией по виду
и статусу и подробный просмотр одной сущности. Каждое чтение требует разрешения на
чтение в области арендатора и в пространстве имён (достаточно низшего уровня viewer);
приём данных высокочастотен и не проходит аудит на каждую запись. Полные формы
описаны в справочнике по шине событий и в типизированных
интерфейсах продукта.
Что он потребляет и что производит
Заголовок раздела «Что он потребляет и что производит»Модуль I — чистый потребитель. Он подписан на edge.observed, cost.sampled и
finding.reported и записывает только собственное наложение каталога и выводимые из
них базовые сущности. Он не испускает собственных событий и не предоставляет никакой
поверхности воздействия (actuation) — обнаружение по своей природе «наблюдать и
каталогизировать». Сохраняемые им ссылки приходят уже замаскированными от
коннекторов; модуль хранит их дословно и не добавляет никаких собственных «сырых»
деталей, поэтому свойство минимальности данных является свойством канала связи,
поддерживаемым из конца в конец.
Связанное
Заголовок раздела «Связанное»- Каталог модулей — где находится модуль I и честное разделение Actuate.
- Модуль III — access map — единственный владелец графа R/RW и дрейфа.
- Справочник по шине событий — события
edge.observed,cost.sampledиfinding.reported, которые он потребляет. - От нуля до графа — заполнение каталога и карты на демонстрационном estate.
- Обзор архитектуры — движок, слои и шина.