# Домовой — Target Architecture Gen2 **Статус:** target architecture / архитектурная цель следующего поколения **Дата:** 2026-08-28 **Основание:** действующая Architecture Generation 1, пакеты анализа v2/v3, `DOMOVOY_GEN2_GAP_MAP.md`, принятая концепция и Конституция Домового. **Назначение:** зафиксировать, каким должен стать костяк Домового до массового наращивания новых возможностей. --- # 0. Решение уровня поколения Gen2 — это **не новая программа с нуля** и не набор локальных feature-патчей поверх V1. Gen2 является **управляемой миграцией архитектурного поколения**: ```text Architecture Generation 1 │ ├─ сохранить доказанные invariants ├─ сохранить рабочие regression scenarios ├─ сохранить recovery semantics ├─ сохранить историю ошибок и evidence │ ▼ Architecture Generation 2 │ ├─ новый фундамент памяти/контекста ├─ Focus/Scope V2 ├─ World Model foundation ├─ Skill/Reflex evolution ├─ SELF ├─ dynamic configuration ├─ long-running intelligence └─ controlled self-evolution ``` Существующий production/reference код является одновременно: - рабочей реализацией; - regression oracle; - источником доказанных инвариантов; - источником уже найденных ошибок; - миграционным источником данных; - fallback до доказанной готовности Gen2. Ни один крупный V1 bounded context не удаляется до того, как новый путь доказал эквивалентность полезного поведения и имеет rollback. --- # 1. Цель Gen2 Домовой Gen2 — долговременный персональный мыслящий агент, который: 1. понимает намерение владельца, текущую деятельность и окружение; 2. хранит долговременное evidence, знания, опыт, цели и обязательства; 3. отличает текущий факт от старого знания, гипотезы, аналогии и противоречия; 4. умеет извлекать из большой памяти небольшой релевантный рабочий контекст; 5. не смешивает людей, организации, базы, проекты, версии и окружения; 6. запоминает как успешные решения, так и неудачные попытки; 7. превращает повторяемый успешный опыт в Skill, а стабильный Skill — в Reflex; 8. умеет обнаруживать устаревшие Skills/Reflexes и возвращать их на переоценку; 9. знает собственные способности, слабости, зависимости и версии; 10. выбирает минимально достаточную стоимость мышления; 11. способен вести длительную работу с checkpoint/pause/resume/recovery; 12. способен создавать новые capabilities и изменять собственный код через governed evolution; 13. управляется преимущественно естественным разговором, а не админками; 14. может в будущем воспринимать голос, видео, устройства и окружающую среду без смены базовой архитектуры; 15. не подменяет предположение фактом и своё намерение намерением владельца; 16. выполняет реальные действия только через явный контур полномочий, последствий, Commit и проверки Outcome. --- # 2. Что Gen2 наследует без изменения смысла Следующие значения являются ДНК системы и не должны потеряться при Gen2 migration: ```text LLM != Assistant Capability != Authority Observation != Claim != Belief Intent != Goal != Task Task != Action Proposal != AuthorizedAction != Attempt != Outcome Tool success != verified world outcome Memory != ModelContext Projection/index/embedding != source of truth Restart != loss of commitment Timeout != failure UNKNOWN_OUTCOME is first-class More intelligence != more authority Creator of a candidate != sole evaluator of that candidate ``` Обязательные операционные инварианты: - один canonical semantic owner на mutable state; - нет прямой записи в storage другого owner; - нет cross-owner SQL dependency как способа склеить архитектуру; - external mutation только через `Authority -> Commit -> Executor`; - ambiguous mutation не ретраится вслепую; - durable future relevance принадлежит Continuity, а не timer engine; - durable work принадлежит Work, а не одному LLM request; - model/provider не является источником canonical state; - correction/supersession добавляется версионно, историческое значение не переписывается молча; - secrets не являются обычной памятью или контекстом модели; - критические изменения системы имеют rollback path. --- # 3. Главный принцип устройства Gen2 Gen2 разделяет два мира. ## 3.1 Strict Operational Core Здесь нужна максимальная однозначность, типизация, constraints, audit и transactional semantics. ```text Identity Authority Commit ActionAttempt ExecutionReceipt Outcome verification linkage Continuity obligation state Recovery Audit Release/Supervisor control ``` Чем ближе данные к необратимому действию, тем меньше допустима семантическая свобода. ## 3.2 Evolving Semantic World Здесь модель должна расширяться без глобального redesign при появлении новых знаний и новых видов окружения. ```text World referents Typed facet definitions Relation definitions Observations Claims Beliefs/Assessments Episodes Experience Skills Reflexes Preferences Dynamic configuration definitions SELF assessments Search projections ``` Чем ближе данные к пониманию мира, тем больше допустима эволюционируемая типизированная схема. **Это не означает `map[string]any` и не означает generic `SaveEntity(any)`.** Расширяемость строится через versioned schema definitions и ограниченный typed value algebra. --- # 4. Архитектурная карта Gen2 ```text HUMAN / ENVIRONMENT │ Interaction / Observation ingress │ ▼ INTENT INTERPRETATION │ ▼ SITUATION / FOCUS V2 "что сейчас происходит" │ ┌──────────────────────┼───────────────────────┐ │ │ │ ▼ ▼ ▼ WORLD REFERENCES ACTIVE WORK CONTINUITY people/systems/places goal/task/job obligations │ │ │ └───────────────┬──────┴───────────────┬──────┘ │ │ ▼ ▼ MEMORY RETRIEVAL SELF SIGNALS facts / experience competence/ success / failure weaknesses │ │ └──────────┬───────────┘ ▼ CONTEXT COMPILER minimal task-specific context │ ▼ INTELLIGENCE STRATEGY Reflex -> Skill -> Local Model -> Strong Model -> Research -> Specialist Team │ ▼ PLAN │ Consequence / Risk │ ┌──────────────┴──────────────┐ │ │ read-only work mutation required │ │ ▼ ▼ Evidence Authority │ │ │ Commit │ │ │ Executor │ │ └──────────────┬──────────────┘ ▼ WORLD OBSERVATION │ ▼ OUTCOME ASSESSMENT │ ┌────────────────┼────────────────┐ ▼ ▼ ▼ Experience Continuity SELF/Learning │ │ └──────── Skill / Reflex / Evolution ``` --- # 5. Bounded contexts и owners Gen2 ## 5.1 Identity — KEEP **Владеет:** - Actor identity; - Principal identity; - PrincipalBinding; - authenticated session identity; - identifier history для actor/principal. Identity не становится World Model и не хранит arbitrary people/devices/projects. Идентификация источника и полномочия остаются разными понятиями. --- ## 5.2 Authority — KEEP, уточнить семантику Scope **Владеет:** - `AuthorityScope`; - grants; - authorization context; - validity/revision of grants. ### Важное изменение Gen2 V1 понятие `Scope` перегружено. Gen2 должен различать: ```text AuthorityScope "что этому Actor разрешено делать для Principal" ContextScope "к какой части мира/работы относится текущая задача" ``` `AuthorityScope` остаётся в Authority. `ContextScope` принадлежит Situation и не предоставляет никаких полномочий. Компания A/B, конкретная УНФ, репозиторий, база и версия не должны кодироваться как побочный эффект Authority. --- ## 5.3 Interaction — KEEP + EXPAND ingress **Владеет:** - Conversation; - HumanUtterance; - OriginalHumanIntent; - Interpretation; - correction/supersession relations; - explicit preference/directive/assertion speech acts. Gen2 делает Channel открытым для новых ingress adapters: ```text web chat voice phone transcript file/message future ambient audio future device UI ``` Raw media не копируется в Interaction: оно является Artifact, а Interaction хранит reference/transcript lineage. Interaction не определяет truth и не становится memory owner. --- ## 5.4 Situation — REWORK -> Focus V2 owner Situation остаётся владельцем текущей интерпретации «что происходит сейчас». ### Новая canonical семантика `FocusFrame`: - Actor/Principal; - AuthorityScope ref; - ContextScope; - active activity/project; - organization/family context; - environment/location; - system/database/repository/branch/version refs; - Goal/Task refs; - active WorldObject refs; - explicit/inferred provenance; - confidence; - activation/suspension/expiration state; - parent/previous frame. `FocusStack`: - active frame; - suspended frames; - return/resume relation; - explicit switch provenance; - automatic inference provenance. ### Правила - explicit human switch — сильный сигнал; - inferred focus имеет confidence/provenance; - короткое отвлечение не уничтожает предыдущий Focus; - textual similarity сама по себе не выбирает project/context; - Focus не является Authority; - Focus не является Memory; - Focus задаёт направление retrieval/config/skills, а не записывает их state. --- ## 5.5 World — NEW bounded context, узкий и типизированный World нужен, чтобы новые виды объектов окружения могли появляться без создания специальной глобальной таблицы на каждый будущий класс вещей. World **не является generic domain Entity service**. ### World владеет только семантикой referents и extensible vocabulary - `WorldObject` — стабильный referent; - `WorldObjectKindDefinition`; - `WorldAlias`; - `FacetDefinition`; - `RelationDefinition`; - schema version lineage; - identity-resolution decision for WorldObjects; - merge/split lineage. ### World НЕ владеет истиной значений Например World может знать, что существует schema: ```text onec.configuration configuration_version: string database_ref: ref ``` Но утверждение: > `Company A UNF version = 1.6.x` является Observation/Claim/Belief Epistemics, с provenance и freshness. Таким образом: ```text World = что за объект/свойство/тип связи вообще существует Epistemics = что мы считаем известным об этом объекте сейчас и почему ``` ### Typed value model Новые Facet/Relation definitions используют ограниченные типы: ```text STRING INTEGER DECIMAL BOOLEAN TIME DURATION ENUM REFERENCE BINARY_REF LIST STRUCT ``` Не допускается domain API типа `SaveEntity(any)`. Физическая сериализация может меняться, но semantic validation обязательна. --- ## 5.6 Epistemics — EXPAND -> knowledge/evidence owner Epistemics становится главным владельцем знаний как доказательных утверждений, но **не монолитной Memory БД**. Владеет: - Observation; - Claim; - Belief/Assessment; - Provenance; - Source/Snapshot/Excerpt/Citation; - ExperienceRecord; - ReflectionCandidate; - Episode (derived grouping of observations); - Freshness/Validity assessment; - source/domain reliability evidence; - world outcome observation/assessment; - contradiction/supersession relationships. ### Не вводить отдельный canonical `MemoryItem` «Память» — это read/retrieval architecture над несколькими владельцами. Epistemics владеет knowledge/evidence, но Work владеет задачами, Continuity обязательствами, Capability skills, Interaction utterances. ### Outcome owner clarification Gen2 фиксирует ранее недостаточно явную границу: ```text Commit owns: authorization + execution attempt state + execution receipt Epistemics owns: observation/assessment of what actually произошло в мире ``` `HTTP 200`, exit code 0 или accepted API receipt не обязаны означать verified Outcome. --- ## 5.7 Work — KEEP + EXPAND Work остаётся владельцем: - Goal; - Task; - Decision; - Plan; - WorkGraph; - Delegation; - AgentRun/Checkpoint; - producer/verifier workflow; - governed development gates. Gen2 расширяет Work следующими понятиями. ### LongRunningWork / Investigation Durable работа содержит: - objective; - hypotheses refs; - attempt history refs; - findings refs; - blockers; - checkpoints; - resource/time/cost budget; - next step; - pause/resume/cancel state; - justification path. Один LLM request никогда не является durable job. ### PerspectiveSpec Role/Perspective — не roleplay и не Authority. Perspective задаёт: - objective lens; - retrieval profile; - evaluation criteria; - capability requirements; - expected output shape. Примеры: architect, programmer, director, designer, critic, security reviewer. ### ConsequenceAssessment Перед значимой mutation Work/Planning может формировать: - cost of error; - reversibility; - affected objects; - expected consequences; - uncertainty; - mitigation options; - simulation/dry-run requirement; - backup/snapshot requirement; - recommended confirmation strength. Authority отвечает «разрешено ли», ConsequenceAssessment — «что может произойти». --- ## 5.8 Continuity — KEEP + EXPAND only where needed Continuity остаётся единственным владельцем: - Commitment; - ProspectiveItem; - AttentionItem; - HumanResponse; - durable future relevance. Никакого второго scheduler/attention engine. ### Gen2 integration Long-running Work использует Continuity для будущего wake/review/retry eligibility, но Work остаётся владельцем job state. ```text Continuity: когда это снова становится релевантно Work: что за работа и где она остановилась ``` Attention остаётся human-facing relevance, а не generic notification bus. --- ## 5.9 Capability — EXPAND -> ability/skill/reflex/intelligence selection owner Capability остаётся владельцем: - capability descriptors; - implementations; - health; - qualification; - resolution; - selection; - gaps; - usage observations; - model bindings/evaluation. ### Skill V2 Skill — повторяемый способ решения класса задач. Обязательные свойства: - applicability conditions; - ContextScope compatibility; - supporting experience refs; - known failure experience refs; - dependencies; - implementation/version; - last validation; - environment/subject version conditions; - lifecycle; - confidence/quality evidence; - retirement path. ### Reflex Reflex — оптимизированный дешёвый путь, полученный из проверенного Skill/experience. Reflex может быть: - deterministic Go/Python logic; - rule; - workflow; - SQL/query template; - small local model + bounded tool chain; - compiled adapter operation. Reflex имеет: - source Skill refs; - applicability; - exact implementation version; - dependencies; - validation evidence; - shadow/revalidation policy; - decline/escalate semantics; - stale/suspend/retire lifecycle. `FastPathDecision` становится runtime decision around Skill/Reflex, а не самим Reflex. ### Intelligence Strategy Capability выбирает минимально достаточную implementation strategy в пределах требований Work: ```text Rule -> Reflex -> Skill -> small local model -> strong local model -> external model -> research capability -> specialist/delegation path ``` Capability не создаёт WorkGraph самостоятельно: если требуется decomposition/team, управление возвращается Work. --- ## 5.10 Configuration — NEW bounded context Gen2 отказывается от ENV как основной модели конфигурации. ### Configuration владеет - `SettingDefinition`; - `SettingAssignment`; - schema/version/lifecycle setting definitions; - typed validation rules; - scope applicability; - effective resolution semantics; - provenance of human/system changes. ### SettingDefinition Минимально: - stable key; - owner namespace; - value type; - default; - validation; - allowed scope dimensions; - sensitivity class; - lifecycle/version; - human description. ### Scoped values Assignment может относиться к: ```text GLOBAL PRINCIPAL WORLD_OBJECT ORGANIZATION/ENVIRONMENT through World ref ACTIVITY/PROJECT SKILL TASK SESSION TEMPORARY_OVERRIDE ``` Effective Configuration — derived result, а не отдельная canonical истина. Приоритет задаётся явной политикой, а не порядком случайных `if` в коде. ### Skill-defined settings Новый Skill/Capability может предложить новые SettingDefinitions через Configuration API. Он не добавляет column в глобальную таблицу и не пишет arbitrary key/value напрямую. ### Secrets Secret value никогда не находится в SettingAssignment. Configuration хранит только: ```text CredentialRef / SecretRef ``` Сам секрет разрешается через Secrets boundary только в authorized adapter/runtime. --- ## 5.11 SELF — NEW bounded context, не God orchestrator SELF — формальная модель Домового о собственных возможностях и эволюции. SELF не выполняет пользовательскую работу и не находится обязательным посредником между всеми модулями. ### SELF владеет - `CompetenceAssessment`; - `WeaknessPattern`; - `DependencyAssessment`/self dependency view; - `LearningLedgerEntry`; - `ImprovementNeed`; - aggregate self-version view; - self-evaluation interpretation. ### SELF не владеет - Capability definitions/health — Capability; - raw evidence — Epistemics; - tasks/development execution — Work; - authority — Authority; - code/release switching — Supervisor/runtime. SELF assessments всегда evidence-backed. Нельзя: ```text skill sets competence=1.0 candidate sets trusted=true new model declares itself better ``` ### Learning Ledger Запись существенного улучшения: - observed problem; - evidence refs; - diagnosis/hypothesis; - proposed change ref; - expected improvement; - evaluation refs; - actual result; - promoted/rejected/rolled-back; - regression/side effects; - version lineage. --- ## 5.12 Commit — KEEP, no semantic dilution Commit сохраняет: - immutable ActionProposal evidence; - AuthorizedAction; - authorization revision; - ActionAttempt; - idempotency/reconciliation identity; - execution state including `UNKNOWN_OUTCOME`. Gen2 Risk/Consequence не заменяет Commit. Reflex не получает обход Commit. Self-modification не получает обход Commit/DevelopmentGate там, где есть external/system mutation. --- ## 5.13 Artifact — KEEP + EXPAND for large raw memory Artifact владеет durable content/resource identity и lineage. Именно Artifact является базой для будущих больших raw inputs: - audio; - video; - image; - documents; - call recordings; - sensor captures; - generated code/artifacts. Большие payload могут храниться на NAS/object/file storage, а не в PostgreSQL. Raw artifact не обязателен в prompt и не является автоматически Knowledge. Derivations: ```text Artifact -> Observation -> Episode/Claim/Belief ``` должны сохранять provenance для future reprocessing более сильной моделью. --- ## 5.14 Cognitive Gateway / Context Compiler — NO canonical owner Cognitive workers остаются replaceable. Они не владеют каноническим state. ### Context Compiler V2 Context Compiler — детерминированный/контролируемый слой сборки ModelContext. Получает: - current FocusFrame; - ContextScope; - Task/Goal/Perspective; - model context budget; - output budget; - freshness requirement; - cost-of-error/risk hints; - DataPolicy; - candidate memories/evidence/skills/settings. Должен собирать минимум достаточного контекста. Не пытается заполнить всё окно модели «раз уж место есть». ### ModelContext != Memory В ModelContext входят только выбранные excerpts/structured summaries. Secret values запрещены. ### Iterative retrieval Модель/strategy может через typed query запросить дополнительную память: ```text memory.search(...) experience.successes(...) experience.failures(...) knowledge.contradictions(...) world.related(...) artifact.fetch_excerpt(...) ``` Запрос проходит через trusted runtime и DataPolicy; модель не получает прямого DB access. --- ## 5.15 Supervisor/Lifeboat — NEW runtime layer, not semantic owner Supervisor — минимальный независимый control plane, который должен переживать поломку основного Домового. Он не использует LLM для критических recovery decisions. ### Responsibilities - start candidate version; - health/watchdog; - last-known-good release; - traffic/process switch; - rollback; - minimal recovery command interface; - bootstrap validation; - release manifest verification. Он не занимается обычным чатом, памятью, Skills или reasoning. Чем проще Supervisor, тем лучше. --- # 6. Memory/Knowledge architecture Gen2 ## 6.1 Memory — не новый monolithic owner Логически память Домового состоит из нескольких источников: ```text Interaction what human said Artifact raw durable material Epistemics observations/claims/beliefs/experience Work goals/tasks/decisions/jobs Continuity commitments/future relevance Capability skills/reflexes/known failures World referents/schema vocabulary Configuration effective relevant settings SELF competence/weakness/learning history ``` `Memory Retrieval` является read-side composition. Он не получает права писать canonical state владельцев. --- ## 6.2 Canonical vs projections Обязательное разделение: ```text Canonical evidence/state ↓ Derived semantic records ↓ Search projections ├─ vector ├─ lexical ├─ graph ├─ temporal └─ hot cache ↓ Retrieval candidates ↓ Context Compiler ↓ ModelContext ``` Любой vector/graph/search index должен быть rebuildable. Замена retrieval technology не требует миграции canonical памяти. --- ## 6.3 Freshness и скорость устаревания Знание не имеет одного простого TTL. Нужны понятия: - observed time; - last verified time; - validity interval; - volatility/decay profile; - environment/subject version binding; - current freshness state; - freshness requirement of task. Примеры: ```text π volatility ~ zero старый разговор исторически стабилен, интерпретация может улучшаться структура UNF version-sensitive current server status very fast exchange rate near-real-time personal preference slow/uncertain change ``` Старое знание не удаляется автоматически. Оно теряет право считаться текущим фактом и может использоваться как: - historical evidence; - analogy; - starting hypothesis. --- ## 6.4 Freshness requirement of task Work/Planning классифицирует задачу по требуемой актуальности. ```text LOW historical/general knowledge acceptable MEDIUM memory acceptable, live validation preferred HIGH live/current source should be attempted before factual decision CRITICAL stale evidence cannot authorize high-impact factual conclusion without explicit degraded handling ``` Если live source недоступен, Домовой может продолжить по памяти, но epistemic status понижается и пользователь получает честное предупреждение, когда это существенно для решения. --- ## 6.5 Scope before similarity Retrieval сначала применяет hard/context filters, затем semantic similarity. Приоритет: ```text identity/access -> principal/person -> WorldObject/context scope -> organization/environment -> system/database/repository/version -> active activity/goal/task -> temporal applicability -> semantic similarity ``` Knowledge из другой компании/версии может быть найден на broadened pass только как analogy unless independently validated. --- ## 6.6 Positive and Negative Experience Success и failure не хранятся как две изолированные truth базы. Они являются разными retrieval views над ExperienceRecord. Для сложной задачи retrieval обязан по возможности искать одновременно: ```text what worked what failed why failed under which conditions what later superseded it ``` Negative knowledge всегда содержит conditions. `FAILED_ONCE` не равно `FOREVER_WRONG`. --- ## 6.7 Memory consolidation Gen2 должен позволять постепенно преобразовывать: ```text raw observations -> episodes -> stable beliefs/knowledge -> patterns -> skills -> reflexes ``` Консолидация не обязана удалять raw evidence. Storage/retention policy может переводить raw payload в cold/archive tier, сохраняя metadata/provenance. --- ## 6.8 Contradiction pass После первичного retrieval для consequential reasoning выполняется отдельный поиск: > есть ли evidence/experience, который опровергает или существенно ограничивает выбранную память? Это защищает от confirmation bias retrieval. --- # 7. Focus, ContextScope и переключение деятельности ## 7.1 Не всё является Project Gen2 не использует Project как универсальный контейнер. В Focus могут одновременно присутствовать: ```text work domain organization system specific database repository/branch activity problem goal/task person location/environment active objects ``` Project остаётся допустимой гранью, но не обязательным центром. --- ## 7.2 Explicit Focus command Пользователь может сказать: > «Теперь работаем над проектом A» или: > «Открываю новую работу по себестоимости» Это создаёт/активирует FocusFrame с сильным human provenance. --- ## 7.3 Inferred Focus В будущем Focus может выводиться из: - открытого repo/file; - active device/app; - location; - previous task; - referenced WorldObjects; - conversation context. Inferred Focus никогда не притворяется explicit fact и имеет confidence/provenance. --- # 8. Configuration as evolvable state ## 8.1 ENV только bootstrap Target state: ENV не является основной конфигурационной системой. Минимальный bootstrap должен позволить только: - определить node/runtime identity; - найти control state/config store; - найти root Secrets resolver; - выполнить initial health/recovery. Сам bootstrap может быть Docker Secret, mounted sealed file, OS credential store или иной минимальный mechanism; использование ENV не требуется как обязательное решение. --- ## 8.2 Database credential Адрес/credential рабочих БД, моделей, Skill endpoints и integrations после bootstrap живут в Configuration + Secrets references. Например: ```text SettingAssignment: company-a.unf.endpoint = https://... company-a.unf.credential = secret://... ``` Secret никогда не индексируется и не передаётся модели. --- ## 8.3 Conversational control is primary Обычный пользователь не обязан открывать admin UI. Команда: > «Для фирмы B в этом навыке используй тестовую базу» должна быть интерпретирована как изменение соответствующего scoped SettingAssignment через нормальный semantic/authority path. Админские/диагностические экраны допустимы как: - inspection; - debugging; - emergency recovery; - audit. Они не являются главным UX управления Домовым. --- # 9. Intelligence, Skill, Reflex and learning loop ## 9.1 Runtime path ```text Task ↓ known Reflex? ↓ no / declined known Skill? ↓ no / insufficient cheap local reasoning? ↓ insufficient strong reasoning? ↓ insufficient research/decomposition? ↓ solution ↓ Outcome ↓ Experience ↓ Reflection ↓ Skill candidate / improvement need ``` --- ## 9.2 Skill promotion Один удачный ответ не создаёт trusted Skill. Минимальный lifecycle: ```text CANDIDATE -> VALIDATING -> ACTIVE -> DEGRADED -> SUSPENDED -> RETIRED ``` Promotion требует evidence на нескольких сценариях либо эквивалентного сильного доказательства. --- ## 9.3 Reflex promotion ```text validated Skill -> ReflexCandidate -> sandbox/historical replay -> shadow -> limited activation/canary where applicable -> ACTIVE Reflex ``` Reflex обязан уметь `DECLINE/ESCALATE_TO_THINK`. Сомнение не считается провалом Reflex. --- ## 9.4 Revalidation / Shadow Reasoning Для selected stable Reflexes система может периодически или по signal выполнять shadow comparison более сильным способом. Triggers: - environment/version changed; - repeated corrections; - outcome degradation; - stronger model qualification; - sampled audit; - source contract changed. Shadow path не создаёт external mutation второй раз. --- # 10. SELF and self-evolution ## 10.1 SELF is evidence-backed SELF отвечает на вопросы: - что я умею; - насколько хорошо; - при каких условиях; - от чего способность зависит; - где я часто ошибаюсь; - что изменилось во мне; - стало ли лучше. Но SELF не назначает себе качество произвольно. --- ## 10.2 Self-improvement levels ```text Level 1: Knowledge update Level 2: Behavioral/config adaptation Level 3: Skill/Reflex capability evolution Level 4: Core/runtime architecture evolution ``` Чем выше уровень, тем сильнее evidence/evaluation/rollback requirements. --- ## 10.3 Governed evolution loop Существующий Work DevelopmentGate расширяется, а не заменяется. ```text observed weakness -> evidence -> diagnosis hypothesis -> improvement proposal -> expected metrics / must-not-worsen constraints -> isolated implementation -> FAST verification -> milestone evaluation -> historical replay -> shadow/canary where needed -> promotion -> observation -> Learning Ledger -> rollback if degraded ``` `Creator != Judge` сохраняется. --- ## 10.4 New smarter model Новая модель не получает право переписать Skills только потому, что она новая. Она может: - пройти qualification; - анализировать Skill/Reflex archive; - предложить improvements; - быть independent evaluator; - работать в shadow. Promotion проходит обычный governed path. --- # 11. Long-running background work Пользователь может сказать: > «Разбирайся сколько потребуется» Это создаёт durable Work, а не удерживает один HTTP connection/model request. ### Required semantics - checkpoint after meaningful steps; - explicit hypothesis/attempt/finding records; - pause/resume; - deadline/budget; - model/provider replaceability; - network/provider outage recovery; - restart recovery; - human Attention only when useful; - ability to continue silently until result/blocker/decision point. Continuity отвечает за wake/relevance, Work — за process state. --- # 12. Roles, perspectives and agent teams ## 12.1 Perspective, not persona Perspective определяет способ анализа, а не художественный персонаж. ```text Architect: dependencies, invariants, future change, failure modes Programmer: implementation, debug, tests, performance Director: value, priority, cost, people, risk Designer: usability, interaction, clarity ``` --- ## 12.2 Dynamic specialist Домовой может собрать временного специалиста из: ```text Perspective + Focus + relevant Knowledge + Skills + tools + evaluation criteria ``` Он не обязан существовать заранее как отдельный permanent agent. --- ## 12.3 Team only when justified Multi-agent strategy выбирается только если decomposition/independence даёт ожидаемый прирост качества. Agent count не является quality metric. WorkGraph хранит независимые Findings/Evidence/Artifacts, а не только текстовые пересказы агентов друг другу. --- # 13. Risk, user control and consequences ## 13.1 No artificial capability blacklist as design principle Основная модель: ```text Identity -> Intent authenticity -> Authority -> Consequence/Risk -> Mitigation -> Confirmation when needed -> Commit ``` Высокий риск означает больше evidence, предупреждение, simulation/backup/rollback и более сильное подтверждение, а не автоматическое «вам нельзя». --- ## 13.2 Owner may choose risky action Если authenticated owner после ясного описания последствий подтверждает рискованную операцию, система может её выполнить в рамках explicit authority. При этом архитектурные integrity truths нельзя подменять: - нельзя сказать `SUCCEEDED`, если Outcome неизвестен; - нельзя незаметно изменить подтверждённый subject; - нельзя считать отсутствие evidence доказательством; - нельзя скрыть известный существенный риск. --- ## 13.3 Self-change transaction Для core/system change preferred path: ```text snapshot -> candidate -> build -> tests -> start isolated -> health -> switch/canary -> observe -> commit version ``` Failure -> Supervisor rollback. --- # 14. Truth versus exploration Внутренний поиск решения допускает широкий набор гипотез. ```text Hypothesis != Claim accepted as true ``` Домовой может исследовать маловероятные варианты, но human-facing answer обязан отражать epistemic state. Примеры: ```text SUPPORTED STALE CONFLICTED PARTIAL UNKNOWN UNAVAILABLE ``` Если свежий источник недоступен, старое знание может быть использовано как hypothesis/analogy с соответствующим disclosure. --- # 15. World/environment future compatibility Gen2 не реализует сейчас всю ambient среду, но не закрывает путь к ней. Будущие WorldObjects могут быть: - person; - organization; - room; - computer; - phone; - TV; - microphone; - camera; - vehicle; - robot; - database; - repository; - service; - document collection; - unknown future device/object kind. Future flow: ```text voice observation -> source identity evidence -> Situation detects user/environment -> Capability resolves street camera -> Situation/World identifies nearby suitable display -> Authority/Policy/Consequence -> TV presentation capability ``` Это future capability, не Gen2 foundation implementation requirement. --- # 16. Source trust and entity resolution ## 16.1 Source trust is contextual Нельзя использовать глобальное `trust=0.9`. Reliability assessment зависит от: ```text Source × Domain × Freshness × History × Identity confidence × Provenance quality ``` Epistemics владеет evidence/assessment, а не provider adapter. --- ## 16.2 Entity resolution `Иван`, Telegram contact, CRM person и voice speaker могут быть одним человеком или разными. World identity resolution поддерживает: - candidate same-as; - evidence refs; - confidence; - confirmed merge; - reversible split/correction; - identifier history. Никакое semantic similarity alone не выполняет irreversible merge. --- # 17. Resource and cost model Work задаёт требования задачи: - required quality; - allowed latency; - cost budget; - freshness; - cost of error; - reversibility; - background allowed; - deadline. Capability/Strategy выбирает исполнение. Пример: ```text movie recommendation cheap path acceptable production financial discrepancy correctness/freshness >> latency ``` Домовой со временем обучается пользовательским предпочтениям по этим trade-offs, но выводимые preferences имеют provenance/scope и не превращаются в вечный global constant без evidence. --- # 18. Evaluation and Personal Benchmark Gen2 не имеет одной метрики `better`. Оцениваются минимум: - goal achievement; - correctness; - evidence quality; - repeated mistakes; - user corrections; - unnecessary clarifications; - missed necessary clarification; - latency; - resource/API cost; - risk incidents; - recovery success; - context relevance; - regression count; - complexity/maintenance cost. Capability продолжает владеть component/task evaluations. SELF строит evidence-backed interpretation этих результатов и Learning Ledger. Реальные классы задач владельца формируют Personal Benchmark Suite. --- # 19. Primary UX and emergency control plane ## 19.1 Primary interface Главный UX: > сказать Домовому, чего хочешь. Это относится и к runtime configuration, и к Skill use, и к tasks, и к будущим devices. --- ## 19.2 Technical UI is secondary Creator Web diagnostic/admin screens разрешены для: - наблюдения; - audit; - diagnostics; - development; - recovery. Но обычная operation не должна требовать ручного похода по admin settings. --- ## 19.3 Emergency path Если основной Interaction/LLM/Core сломан, нужен независимый минимальный recovery интерфейс Supervisor/devctl. Разговор с Домовым не может быть единственным способом починить Домового, который не запускается. --- # 20. Dependency rules Gen2 ## 20.1 No God context Не создаётся `DomovoyContext` с доступом ко всем stores/services. Runtime orchestration собирает explicit contracts. --- ## 20.2 SELF is not central dependency Обычный request path не обязан проходить через SELF. SELF наблюдает и оценивает систему асинхронно/по explicit query. Это защищает от превращения self-improvement в центральный монолит. --- ## 20.3 World does not become truth owner World schemas/referents используются Epistemics, но WorldObject не заменяет domain object и не объявляет произвольный payload текущей истиной. --- ## 20.4 Configuration is explicit Domain module не вызывает global `GetSetting("x")` service locator. Runtime/adapters получают resolved typed configuration явно или через bounded query contract. --- ## 20.5 Event usage Не вводится generic Event Bus ради моды. Domain Event создаётся только когда нужен: - durable history; - temporal decoupling; - asynchronous projection; - explicit cross-owner notification. Outbox/inbox остаются technical mechanism. --- # 21. Suggested Gen2 owner registry target | Owner | Gen2 role | Change | |---|---|---| | Identity | actor/principal identity | KEEP | | Authority | grants + AuthorityScope | KEEP/CLARIFY | | Interaction | human input/intents/corrections | KEEP/EXPAND | | Situation | FocusFrame/FocusStack/ContextScope | REWORK | | World | referents + schema vocabulary + identity resolution | NEW | | Epistemics | evidence/knowledge/freshness/experience/outcome assessment | EXPAND | | Work | goals/tasks/jobs/plans/perspectives/consequence/development | EXPAND | | Continuity | commitments/prospective/attention/human response | KEEP | | Capability | abilities/implementations/skill/reflex/selection/evaluation | EXPAND | | Configuration | typed/scoped settings and resolution | NEW | | SELF | competence/weakness/learning ledger/self assessment | NEW | | Commit | authorized mutation/attempt/idempotency | KEEP | | Artifact | durable raw content/lineage | KEEP/EXPAND | | Cognitive workers | replaceable reasoning/context workers | NO OWNER | | Supervisor/Lifeboat | release health/switch/rollback/recovery | RUNTIME ONLY | Добавление каждого нового canonical owner требует отдельного ADR до таблиц и implementation. --- # 22. Migration architecture ## 22.1 No big bang Не мигрировать все bounded contexts одним гигантским commit. Миграция идёт по органам. --- ## 22.2 V1 remains rollback/reference До promotion соответствующего Gen2 subsystem V1 остаётся доступен как reference/fallback where feasible. --- ## 22.3 Memory migration V1 HumanUtterance и существующие evidence не переписываются. Новые retrieval projections строятся из существующей canonical history. `PersonalMemory ContextText` становится compatibility projection и затем retire. --- ## 22.4 Focus migration Focus V2 создаётся Situation owner. На переходе старый `ActiveProjectFocus` может быть compatibility projection из FocusFrame, а не отдельный source of truth. --- ## 22.5 Configuration migration Порядок: ```text inventory ENV/config consumers -> define SettingDefinitions -> import non-secret values -> replace secrets with SecretRefs -> run shadow/equivalence -> make Configuration canonical -> ENV fallback read-only compatibility -> remove non-bootstrap ENV ``` --- ## 22.6 World/SELF start low-risk World и SELF сначала могут работать с projection/evidence-only semantics и не находиться в critical mutation path. Canonical responsibilities расширяются только после доказанной необходимости. --- # 23. PRE-GEN2 mandatory baseline До первого Gen2 code change: 1. `git status` и inventory всех открытых изменений. 2. Не делать `reset`, discard или overwrite неизвестной работы. 3. Отделить secrets/build garbage от реального исходного кода. 4. Выполнить FAST baseline gate. 5. Закоммитить все актуальные открытые изменения в их рабочей ветке/ветках. 6. Свести текущую работу в основной поток `main` управляемым merge. 7. Разрешить конфликты без потери изменений. 8. Push `main` в canonical remote. 9. Зафиксировать `GEN2_BASE_COMMIT`. 10. Создать immutable baseline tag, например `domovoy-pre-gen2-2026-08-28` либо согласованное имя. 11. Сохранить baseline verification evidence. 12. Только после этого создавать Gen2 architecture branch/worktree. Полный тяжёлый test suite перед baseline merge не запускается автоматически, если FAST/MILESTONE evidence достаточно для сохранения текущего состояния. Существующий подтверждённый CI evidence учитывается. --- # 24. Gen2 testing strategy Тесты являются страховкой архитектурной цели, а не самой целью разработки. ## 24.1 FAST gate — основной цикл Запускается после локальных meaningful changes. Содержит только: - compile/build affected packages; - targeted changed-owner tests; - один/несколько regression tests именно изменённой семантики; - fast architecture/diff guard; - static check затронутой области where cheap. FAST должен быть коротким и не запускать весь repository suite. --- ## 24.2 MILESTONE gate — после реперной архитектурной точки Запускается после законченного блока, например: - Semantic Model/ownership; - Focus/Scope; - Memory/Freshness/Context; - Skill/Reflex/SELF; - Configuration; - Long-running Work/Evolution. Проверяет: - subsystem tests; - соседние contracts; - ключевые V1 regressions; - migration compatibility; - architecture invariants; - recovery relevant to that milestone. --- ## 24.3 FULL gate — редко Запускается: - перед merge крупной architecture phase; - после критической data migration; - перед Gen2 production canary; - перед окончательным retirement V1 path. FULL может включать: - `go test ./...`; - `go vet ./...`; - full architecture suite; - recovery/restart; - household scenarios; - migration tests; - selected multimodal suite; - benchmark/regression evidence; - production smoke when applicable. --- ## 24.4 Test growth rule Новый тест должен защищать конкретный риск: - observed bug; - semantic invariant; - migration; - recovery; - critical consequence; - complex algorithm. Не дублировать глобальные architecture invariants десятками feature tests. Если тестовая работа начинает существенно превосходить implementation при отсутствии новых рисков, Codex обязан остановить test expansion и переоценить достаточность evidence. --- # 25. Architecture change process for Codex Gen2 architecture work требует отдельного authority class/task packet, который явно разрешает изменение protected architecture artifacts. Ordinary feature task по-прежнему не имеет такого права. Перед кодом каждого Gen2 subsystem: ```text Constitution -> Target Architecture -> relevant ADR/owner decision -> contract -> migration path -> implementation ``` Если ownership/semantic conflict не решён, Codex возвращает typed architecture gap, а не создаёт второй owner. --- # 26. New ADRs required before implementation Минимально нужны отдельные решения: 1. **ADR-G2-001 — Scope split:** AuthorityScope vs ContextScope. 2. **ADR-G2-002 — World bounded context:** referents/schema vocabulary, no truth ownership. 3. **ADR-G2-003 — Epistemics Gen2:** knowledge/freshness/outcome assessment/episodes. 4. **ADR-G2-004 — Memory retrieval architecture:** no monolithic memory owner; projections/context compiler. 5. **ADR-G2-005 — Dynamic Configuration owner + bootstrap/secrets.** 6. **ADR-G2-006 — Skill V2 + Reflex lifecycle.** 7. **ADR-G2-007 — SELF bounded context and evidence boundaries.** 8. **ADR-G2-008 — Long-running Work/Research ownership with Continuity wake integration.** 9. **ADR-G2-009 — Consequence/Risk semantics without Authority duplication.** 10. **ADR-G2-010 — Independent Supervisor/Lifeboat.** 11. **ADR-G2-011 — Outcome ownership clarification: execution receipt vs world verification.** 12. **ADR-G2-012 — Gen2 migration/compatibility/retirement policy.** --- # 27. What Gen2 foundation explicitly does NOT need to implement yet Следующие направления входят в compatibility requirements, но не обязаны быть полностью реализованы в foundation milestone: - continuous home microphone capture; - speaker recognition; - continuous video understanding; - automatic TV/speaker output selection; - home automation; - vehicle/robot control; - full Digital Twin; - mandatory graph database; - automatic code compilation for every Reflex; - automatic rewrite of all Skills by a new model; - fixed team of many agents. При review каждого foundation decision задаётся вопрос: > закрывает ли это решение возможность добавить перечисленное позже без смены фундаментальной семантики? --- # 28. Acceptance criteria of Target Architecture Gen2 architecture считается достаточно определённой для Canonical Data Model только если: 1. каждый canonical mutable concept имеет ровно одного proposed owner; 2. AuthorityScope и ContextScope не смешаны; 3. Memory не становится монолитным owner; 4. World не превращается в generic `Entity(any)`; 5. Epistemics остаётся truth/evidence boundary; 6. Dynamic Configuration не является arbitrary key/value store; 7. secrets исключены из memory/context/config values; 8. Skill и Reflex различены; 9. SELF не является God orchestrator; 10. Work и Continuity не дублируют durable scheduling responsibility; 11. Commit сохраняет idempotency/unknown-outcome semantics; 12. verified world Outcome отделён от executor receipt; 13. Context Compiler поддерживает маленькие локальные модели и iterative retrieval; 14. knowledge freshness учитывает volatility и task requirement; 15. cross-company/version isolation обеспечивается до similarity ranking; 16. positive и negative experience доступны retrieval; 17. long-running work не зависит от одного process/model request; 18. architecture имеет path для self-evolution и independent rollback; 19. normal user configuration возможно через conversation; 20. migration from V1 может выполняться поэтапно с rollback; 21. testing strategy разделена на FAST/MILESTONE/FULL и не блокирует разработку постоянным full-suite прогоном. --- # 29. Следующий документ После принятия этой Target Architecture следующий обязательный шаг: **`GEN2_CANONICAL_DATA_MODEL.md`** Он должен определить точные типы, identifiers, lifecycle, validity/freshness fields, schema/value representation, owner tables/streams, projections и migration mapping для: - FocusFrame/ContextScope; - WorldObject/schema definitions; - Observation/Claim/Belief/Episode/Experience; - Knowledge freshness; - Skill/Reflex; - Configuration; - SELF; - LongRunningWork; - ConsequenceAssessment; - Outcome verification. Только после Canonical Data Model следует писать Master Plan и task packets implementation. --- # 30. Итог Gen2 не пытается заранее знать все будущие свойства мира. Он должен заранее знать **как безопасно принять новое свойство, новое знание, новый Skill, новый Reflex, новую модель, новый тип устройства и даже новое поколение собственного кода**. Ключевая архитектурная формула: ```text Stable invariants + evolvable semantics + explicit provenance + scoped/fresh memory + minimal context + evidence-driven learning + cheap-to-expensive intelligence + governed consequences + reversible self-evolution ``` Это и является костяком будущего Домового.