{ "task_id": "GEN2-022", "task_revision": 1, "architecture_revision": "ARCH-GEN2-000", "base_repo_revision": "gen2-integration", "risk_tier": "E", "intent": "Замкнуть цикл weakness → proposal → candidate → evaluator → canary → promote/rollback без автономного обхода governance.", "requirement_ids": [ "REQ-GEN2-022-GOAL", "REQ-GEN2-022-BOUNDARY", "REQ-GEN2-022-GATE" ], "allowed_change_scope": { "modules": [ "work", "self", "capability" ], "paths": [ "contracts/work/**", "modules/work/**", "adapters/developmentexecutor/**", "modules/self/**", "contracts/self/**", "modules/capability/**", "contracts/capability/**", "runtime/supervisor/**", "cmd/work-graph-runtime/**", "tests/**", "dev/ACTIVE_TASK.json", "dev/tasks/GEN2-022-wire-governed-self-evolution-loop-using-existing-development-gates.json" ] }, "forbidden_change_scope": { "paths": [ "security/**", "go.mod", "go.sum", "architecture/**", ".gitea/workflows/**", "deploy/**", "database/**", "adapters/models/**" ] }, "allowed_architecture_delta": { "new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 0, "new_third_party_dependencies": 0, "new_database_owner_roles": 0 }, "contracts": { "consume": [ "contracts.work@gen2", "contracts.self@gen2", "contracts.capability@gen2" ], "may_change": [ "Only contracts explicitly within GEN2-022 allowed_change_scope; preserve Gen2 owner boundaries and backward compatibility unless this packet says cutover." ] }, "semantic_owner": "Work + SELF evidence + Supervisor promotion. Follow GEN2 target architecture: owner boundaries are authoritative; Memory remains a read/retrieval fabric, World is not truth owner, SELF is not a God orchestrator.", "canonical_state": [ "existing governed-development writer remains; SELF proposes/evaluates, Supervisor handles release state", "No task may create a second canonical owner for an already-owned mutable semantic concept." ], "state_transitions": [ "current state -> additive/shadow Gen2 path -> evidence comparison -> controlled cutover -> compatibility retention; writer rule: existing governed-development writer remains; SELF proposes/evaluates, Supervisor handles release state" ], "side_effects_and_privileges": [ "No external mutation may bypass existing Authority -> Commit -> Executor boundaries.", "Do not weaken architecture/security/test guardrails to make the task pass.", "Self-evolution may propose/build/test candidates but promotion remains governed and independently evaluated." ], "persistence_and_migrations": [ "No database schema change is authorized by this packet unless a revised task explicitly grants database/migration scope." ], "failure_retry_restart": [ "Rollback rule: existing development gates remain; autonomous promotion feature switch off", "Retries/restarts must not create duplicate external side effects or a second canonical writer.", "Durable state required by this task must survive process restart; process-local memory is never the only source of truth." ], "assumptions": [ "Program milestone: M4; test profile: MILESTONE_RECOVERY.", "Task branch starts from local gen2-integration; base_repo_revision=gen2-integration must resolve to the untouched integration base while the task branch is active.", "Codex reads DOMOVOY_CONSTITUTION.md, GEN2_TARGET_ARCHITECTURE.md, GEN2_CANONICAL_DATA_MODEL.md, GEN2_MIGRATION_MAP.md, GEN2_MASTER_PLAN.md and GEN2_EXECUTION_CONTRACT.md before non-trivial edits.", "Do not expand scope silently. If a required change falls outside allowed paths or changes ownership, return a typed gap and request a task revision.", "Depends on: GEN2-021." ], "acceptance_scenarios": [ "GEN2-022-SCN-01: SELF ImprovementNeed -> Work development candidate", "GEN2-022-SCN-02: expected improvement + must-not-worsen criteria", "GEN2-022-SCN-03: Creator != Evaluator enforced", "GEN2-022-SCN-04: historical replay/personal benchmark", "GEN2-022-SCN-05: sandbox/candidate build", "GEN2-022-SCN-06: shadow/canary where appropriate", "GEN2-022-SCN-07: Supervisor promotion/rollback", "GEN2-022-SCN-08: LearningLedger records accepted/rejected change and actual outcome", "GEN2-022-SCN-09: уровни change: knowledge, behavior, capability, core — с возрастающей строгостью", "GEN2-022-EXIT: Домовой способен доказуемо улучшить компонент и объяснить историю изменения, но не тайно переписать core." ], "required_tests": [ "FAST: go test ./modules/work/... ./modules/self/... ./modules/capability/... ./adapters/developmentexecutor/... ./runtime/supervisor/...", "FAST: go vet ./modules/work/... ./modules/self/... ./modules/capability/... ./adapters/developmentexecutor/... ./runtime/supervisor/...", "FAST governance: go run ./cmd/devctl preflight -active dev/ACTIVE_TASK.json", "FAST scope: go run ./cmd/devctl check-diff -active dev/ACTIVE_TASK.json", "FAST independent: go run ./cmd/devctl/independent", "FAST whitespace: git diff --check gen2-integration --", "MILESTONE M4: go test ./modules/work/... ./modules/commit/... ./modules/epistemics/... ./modules/continuity/... ./runtime/supervisor/... ./cmd/work-graph-runtime/... ./cmd/research-runtime/...", "MILESTONE M4 recovery: run focused restart/checkpoint/unknown-outcome/rollback drill; no automatic go test ./... if M3 FULL remains fresh and no global schema cutover occurred." ], "terminal_gap_states": [ "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_MISSING_CAPABILITY", "BLOCKED_BY_CONFLICT", "REQUIRES_MIGRATION_DECISION" ] }