Назад в архив
IV. Клиентские проекты и логистические платформывитриналид

hermes

Опубликованный в npm протокол клинического AI-надзора для экосистемы US healthtech platform/Healthcare platform: TypeScript-типы + валидация JSON Schema на AJV (draft-2020-12) + утилиты эпистемологии в духе Поппера/Дойча (скоринг Hard2Vary, калиброванная неопределённость, градация доказательности). Контракт коммуникации между AI-«мозгом» (deutsch) и независимым слоем надзора (popper). Apache 2.0, Public Alpha, выпущен за ~3 недели через AI-native воркфлоу с git worktrees для параллельной разработки фаз.

Статус
активный
Период
2026-01-25 → 2026-02-13
AI-сессий
5
Стек
Языки
TypeScriptJSON Schema
Фреймворки · Инфра
BunAJVajv-formatsBiomeTypeScript 5.7
§01

Обзор

  • Что это: @regain/hermes (hermes_version: 2.0.0) — референсная реализация одноимённого протокола: стандартизированные сообщения (supervision_request, supervision_response, control_command_v2, control_command_response, audit_event, clinician_feedback, bias_detection), их типы/гварды/JSON Schema, плюс рантайм-утилиты эпистемологии (HTV-композит, калиброванная неопределённость, иерархия градаций доказательности, миграция Control-канала v1→v2). Назван в честь Гермеса — вестника между мирами; здесь — между клиническим AI-агентом и системой надзора. README позиционирует его как «индустриальный стандарт протокола для безопасного, аудируемого клинического ИИ» с готовящейся программой сертификации (Compatible / Certified / Certified Clinical).
  • Тип / статус / роль: библиотека (npm-пакет, ESM+CJS, dist/ + src/ с условными экспортами под Bun) · active / Public Alpha · lead — пользователь основной автор (14 из 24 коммитов = 58%); команда US healthtech platform: Anton Kim <anton@US healthtech platform> (9), Harsh Manwani (1). Все фазы 1–5 и публикация в npm — на пользователе.
  • Период активности: 2026-01-25 → 2026-02-13 — ~3-недельный спринт «с нуля до npm v1.0.x → v2.0.0», живьём в реестре. Полный OSS-обвес (LICENSE Apache 2.0, README, VISION, GOVERNANCE, CONTRIBUTING, CODE_OF_CONDUCT, TRADEMARK, CERTIFICATION, CHANGELOG, CI-бейджи).
§02

Стек

  • Языки: TypeScript 5.7 (strict, ESM-first), JSON Schema (draft-2020-12).
  • Фреймворки/библиотеки: Bun (тест-раннер, dev/watch, двойная сборка ESM+CJS через bun build с --format esm и --format cjs); AJV 8 + ajv-formats для рантайм-валидации схем (new Ajv({ allErrors: true, strict: false }) ради совместимости с draft-2020-12); Biome 1.9 (линт/формат); tsc --emitDeclarationOnly для деклараций; .githooks/pre-commit в стиле lefthook (prepare запускает git config core.hooksPath). Условные exports в package.jsonbun → src/*.ts, import → dist/*.js, require → dist/*.cjs (zero-build DX в Bun-проектах + классическая дистрибуция под Node).
  • Инфра/деплой: GitHub Actions CI (бейдж ci.yml зелёный); опубликовано в npm с access: public на registry.npmjs.org; fix(ci): publish only on version tags (185de71) — релизы только по git-тегам. Homepage/issue tracker — github.com/US healthtech platform/hermes.
  • Данные: базы данных нет (это библиотека); при этом она описывает форматы audit-событий с минимизацией PHI и AuditRedactionBase для хранения на стороне потребителя.
  • Заметный тулинг: git worktree (hermes-2, hermes-3) для параллельной разработки Фаз 2 и 3 на одной ветке main — нетривиальный воркфлоу, инициированный самим пользователем (см. AI-сессии). Пакет трейдмарков (US healthtech platform Hermes™, Popper™, Deutsch™, Hard2Vary™).
§03

Что реализовано

24 коммита, 5 чётко очерченных фаз → публикация → v2:

  • Фаза 1 — Core Types (762a1ed +4361/-0, 28 файлов): branded-типы, базовые TraceContext / IsoDateTime / HermesVersion / SubjectRef / ProposedInterventionKind / Mode / SupervisionDecision, type guards.
  • Фаза 2 — Supervision Contract (5927e52 +2876/-72, в worktree hermes-2): SupervisionRequest/Response, InputRisk (phi_detected, prompt_injection_suspected), PriorOverride, ProposedIntervention, HealthStateSnapshotRef, кросс-доменные конфликты (CrossDomainConflict, ConflictEvaluation), ConfidenceLevel / OverrideApplicability / RationaleCategory.
  • Фаза 3 — Epistemology Types (bbdca0c +1959, в worktree hermes-3): ClaimType + профили риска (diagnosis / treatment_rec / escalationrequiresPopper: true), EvidenceGrade (10-уровневая иерархия от systematic_review вниз до calculated), HTVScore (Hard2Vary 4D: interdependence/specificity/parsimony/falsifiability), UncertaintyCalibration + UncertaintyDriver. Обе worktree смёрджены (7eaa0d6, PR #1, PR #2).
  • Фаза 4 — Clinical, Imaging & Bias Detection (b963693 +2642): imaging.ts (медицинская визуализация), bias.ts (BiasDetectionType: demographic_override_disparity / intervention_type_bias / clinician_specialty_bias — post-market AI/ML-надзор FDA), feedback.ts (обратная связь клинициста с категориями обоснования), disclosure.ts.
  • Фаза 5 — Testing, Validation & CI (6f4faa3 +3375): AJV-валидатор на draft-2020-12, JSON Schema на 1405 строк (hermes-message.schema.json), 11 фикстур-файлов (sup-request/response, audit-event, clinician-feedback, evidence, htv-score), 41 conformance-тест, GitHub Actions, .githooks/pre-commit. В package.json exports добавились сабмодули ./schema и ./fixtures.
  • Публикация в npm: a977689 chore: prepare for npm publication v1.0.0, b9c3791 chore: remove internal docs and spec references (-2977 строк, чистка приватных PRD/спеков перед публичным релизом — учебниковый pre-publish gate), релизы 1.0.0 → 1.0.1 → 1.0.2 → 1.0.3, a6b9c9c chore: change license from MIT to Apache 2.0 (верный выбор для клинического ПО с трейдмарк-стратегией).
  • **Сразу после публикации приземлился SAL-* пак фич:** c6df831 документация для разработчиков (docs/DEVELOPER-GUIDE.md, API-REFERENCE.md, EPISTEMOLOGY-GUIDE.md, TESTING.md), bc3d701 feat(SAL-508): auto-refutation types for Popperian prediction failure, a964697 ControlCommandV2 + Operational Settings Catalog (621 строка типов, 176 строк тестов), 8d082ab билдеры v1→v2 + утилиты миграции, 117cc28 AJV-схемы + conformance-фикстуры для Control v2, d017a86 feat: add Control v2 exports, comprehensive tests, and bump to v2.0.0 — мажорный бамп за 3 недели.
  • Объём: 24 коммита; 10 901 LOC TypeScript + 1 405 LOC JSON Schema; полностью покрыто тестами (*.test.ts рядом с каждым модулем).
§04

Технические челленджи

По коду / диффам:

  • Эпистемология Поппера/Дойча как код (src/types/epistemology.ts, src/utils/htv.ts, src/utils/uncertainty.ts): протокол кодифицирует философию науки — каждое клиническое утверждение классифицируется (observation / diagnosis / treatment_rec / escalation ...), а высокорисковые типы обязаны нести falsification_criteria в режиме advocate_clinical. HTV-композит (Hard2Vary, по Дойчу): взвешенная сумма interdependence × specificity × parsimony × falsifiability; зажат в [0,1] с валидацией диапазона. Калиброванная неопределённость (computeUncertainty): аддитивная модель по 5 драйверам (evidence_grade 0–0.3, htv_score 0–0.3, data_quality 0–0.2, debate_consensus 0–0.1, staleness 0–0.1) → low | medium | high. → Демонстрирует превращение академической эпистемологии в рабочий API.
  • JSON Schema draft-2020-12 + strict-relax в AJV (src/schema/validator.ts): new Ajv({ strict: false }) ради совместимости с draft-2020-12; ошибки маппятся в {path, message}[]; кастомный HermesValidationError агрегирует сообщение; пара API — validateHermesMessage (возвращает), parseHermesMessage (бросает), isValidHermesMessage (type guard). → Грамотный API-дизайн для библиотеки: три рантайм-контракта поверх одной валидации.
  • Идиоматичный TypeScript-дизайн: branded-типы (src/types/branded.ts), readonly-повсюду (только DTO), as const-массивы для рантайм-валидации enum, условные exports под Bun (zero-build) и Node (ESM+CJS), sideEffects: false для tree-shaking. Дифф Фазы 1 (+4361/-0) сразу закладывает фундамент с гвардами и тестами.
  • Control Channel v2 с миграцией (src/types/control-v2.ts 239 строк, src/utils/control-migration.ts 192): переход от stringly-typed v1 к полностью типизированному (SettingValue = boolean|string|number|string[]), батчевые команды, учёт приоритета (ROUTINE / URGENT / EMERGENCY), idempotency_key, операционные режимы (NORMAL / RESTRICTED / SAFE_MODE / MAINTENANCE), полные снапшоты состояния в ack. Двусторонние mapV1ToV2 / mapV2SettingToV1 с маппингом autonomy ('0''passive', ...) и набором удалённых v1-ключей (disable_domain, policy_pack). → Сложная, но дисциплинированная эволюция протокола; за SAL-* тикетами стоит реальный легаси.
  • Bias detection как полноценный тип сообщения (src/types/bias.ts 302 строки): BiasDetectionType ('demographic_override_disparity' и др.), BiasSeverity, BiasAnalysisPeriod, BiasDimensionType — согласовано с гайдансом FDA по post-market надзору за AI/ML. → Compliance-мышление закодировано, а не прикручено сбоку.
  • Воркфлоу git worktree для параллельных фаз (см. AI-сессии): пользователь сам инициировал git worktree add hermes-3 для Фазы 3 параллельно с hermes-2 для Фазы 2, мёрджа через PR (#1, #2) в main. → Зрелое владение git, нетипичное для большинства сеньоров.
  • Pre-publish гигиена: коммит b9c3791 chore: remove internal docs and spec references удалил 2 977 строк внутренних PRD/спеков перед публичным релизом — продуманный гейт, чтобы Healthcare platform-специфика не попала в npm-тарбол. Это мышление в терминах commercial-OSS-стратегии.
§05

AI-разработка

  • Найдено сессий: 5 (-Users-macbookpro-development-hermes/, всего 133 сообщения). Дополнительные сессии внутри worktree hermes-2/3 не зарегистрированы как отдельные CC-проекты — они шли через основную директорию hermes.
  • Что делалось с AI (по firstPrompt / summary из индекса): 1. cf51ad0a — "Study best practices for npm package development with bun.js... create the scaffold" (10 сообщений) — бутстрап пакета. 2. 7853e944 — "@docs/PLAN-01-phase-1-core.md translate all tasks... into a task list" (31 сообщение) — Фаза 1 (Core Types). 3. eebcdb59 — "Create git worktree hermes-2 and let's switch to working in it" (41 сообщение) — Фазы 2-3 в worktree. 4. b7a92f59 — "Create git worktree hermes-3 and let's switch to working in it" (27 сообщений) — Фаза 3 (Epistemology) параллельно. 5. 0dc63c85 — "@docs/PLAN-04-phase-4-clinical.md break down the tasks... grounded in ...new_unified_health_app/docs/0..." (24 сообщения) — Фаза 4 (Clinical/Imaging/Bias) с кросс-репо контекстом.
  • Паттерны AI-воркфлоу: plan-driven (PLAN-XX-phase-X-*.md как контракт), таск-листы транслируются агентом из markdown в TodoWrite, параллельные фаза-агенты внутри git worktrees (один из хедлайновых AI-native приёмов — несколько потоков работы в одном репозитории без конфликтов), кросс-репо grounding (Фаза 4 опирается на спеки из new_unified_health_app — того же healthcare-монорепо). Все 5 фаз выполнены и отгружены за ~3 недели на высокой скорости с сохранением покрытия тестами и OSS-обвеса.
§06

Достижения и метрики

  • npm-пакет @regain/hermes в публичном реестре npmjs.org (Apache 2.0, public alpha), v2.0.0; GitHub US healthtech platform/hermes с зелёным CI-бейджем.
  • 10 901 LOC TypeScript + 1 405 LOC JSON Schema; 41 conformance-тест в Фазе 5; помодульные тесты (*.test.ts рядом с каждым типом / утилитой).
  • 5 фаз с предварительным архитектурным планированием (PLAN-01..05), отгружены за ~3 недели (24 коммита, 14 авторства пользователя).
  • Пользователь — основной автор протокола, который связывает popper (#62/72 коммита пользователя, инфра/governance), deutsch (движок рассуждений), healthcare-crm (продуктовый CRM) и lab-processor (Temporal-пайплайн) в единую клиническую AI-платформу US healthtech platform.
Сейчас

Открыт к ролям Senior / Staff инженера и избранному фрилансу — продакшн-AI, платформы и full-stack разработка.

Связаться