§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.json—bun → 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, в worktreehermes-2):SupervisionRequest/Response,InputRisk(phi_detected, prompt_injection_suspected),PriorOverride,ProposedIntervention,HealthStateSnapshotRef, кросс-доменные конфликты (CrossDomainConflict,ConflictEvaluation),ConfidenceLevel/OverrideApplicability/RationaleCategory. - Фаза 3 — Epistemology Types (
bbdca0c+1959, в worktreehermes-3):ClaimType+ профили риска (diagnosis/treatment_rec/escalation→requiresPopper: 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.jsonexports добавились сабмодули./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,a964697ControlCommandV2 + Operational Settings Catalog (621 строка типов, 176 строк тестов),8d082abбилдеры v1→v2 + утилиты миграции,117cc28AJV-схемы + 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.ts239 строк,src/utils/control-migration.ts192): переход от 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.ts302 строки):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 сообщения). Дополнительные сессии внутри worktreehermes-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.