Files
Assistant/architecture/GEN2_TARGET_ARCHITECTURE.md
T
2026-08-29 01:53:27 +03:00

60 KiB
Raw Blame History

Домовой — Target Architecture Gen2

Статус: target architecture / архитектурная цель следующего поколения Дата: 2026-08-28 Основание: действующая Architecture Generation 1, пакеты анализа v2/v3, DOMOVOY_GEN2_GAP_MAP.md, принятая концепция и Конституция Домового. Назначение: зафиксировать, каким должен стать костяк Домового до массового наращивания новых возможностей.


0. Решение уровня поколения

Gen2 — это не новая программа с нуля и не набор локальных feature-патчей поверх V1.

Gen2 является управляемой миграцией архитектурного поколения:

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:

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.

Identity
Authority
Commit
ActionAttempt
ExecutionReceipt
Outcome verification linkage
Continuity obligation state
Recovery
Audit
Release/Supervisor control

Чем ближе данные к необратимому действию, тем меньше допустима семантическая свобода.

3.2 Evolving Semantic World

Здесь модель должна расширяться без глобального redesign при появлении новых знаний и новых видов окружения.

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

                         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 должен различать:

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:

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:

onec.configuration
    configuration_version: string
    database_ref: ref

Но утверждение:

Company A UNF version = 1.6.x

является Observation/Claim/Belief Epistemics, с provenance и freshness.

Таким образом:

World = что за объект/свойство/тип связи вообще существует
Epistemics = что мы считаем известным об этом объекте сейчас и почему

Typed value model

Новые Facet/Relation definitions используют ограниченные типы:

STRING
INTEGER
DECIMAL
BOOLEAN
TIME
DURATION
ENUM
REFERENCE
BINARY_REF
LIST<T>
STRUCT<fields>

Не допускается 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 фиксирует ранее недостаточно явную границу:

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.

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:

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 может относиться к:

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 хранит только:

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.

Нельзя:

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:

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 запросить дополнительную память:

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

Логически память Домового состоит из нескольких источников:

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

Обязательное разделение:

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.

Примеры:

π                         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 классифицирует задачу по требуемой актуальности.

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.

Приоритет:

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 обязан по возможности искать одновременно:

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 должен позволять постепенно преобразовывать:

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 могут одновременно присутствовать:

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.

Например:

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

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:

CANDIDATE
-> VALIDATING
-> ACTIVE
-> DEGRADED
-> SUSPENDED
-> RETIRED

Promotion требует evidence на нескольких сценариях либо эквивалентного сильного доказательства.


9.3 Reflex promotion

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

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 расширяется, а не заменяется.

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 определяет способ анализа, а не художественный персонаж.

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

Домовой может собрать временного специалиста из:

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

Основная модель:

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:

snapshot
-> candidate
-> build
-> tests
-> start isolated
-> health
-> switch/canary
-> observe
-> commit version

Failure -> Supervisor rollback.


14. Truth versus exploration

Внутренний поиск решения допускает широкий набор гипотез.

Hypothesis != Claim accepted as true

Домовой может исследовать маловероятные варианты, но human-facing answer обязан отражать epistemic state.

Примеры:

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:

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 зависит от:

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 выбирает исполнение.

Пример:

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

Порядок:

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:

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, новую модель, новый тип устройства и даже новое поколение собственного кода.

Ключевая архитектурная формула:

Stable invariants
+ evolvable semantics
+ explicit provenance
+ scoped/fresh memory
+ minimal context
+ evidence-driven learning
+ cheap-to-expensive intelligence
+ governed consequences
+ reversible self-evolution

Это и является костяком будущего Домового.