Files
Assistant/dev/tasks/GEN2-005-world-identity-resolution-and-version-environment-bindings.json
T
2026-08-29 01:53:27 +03:00

108 lines
5.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"task_id": "GEN2-005",
"task_revision": 1,
"architecture_revision": "ARCH-GEN2-000",
"base_repo_revision": "gen2-integration",
"risk_tier": "E",
"intent": "Заложить безопасное same_as?/merge/split и привязку Focus к конкретной версии/окружению.",
"requirement_ids": [
"REQ-GEN2-005-GOAL",
"REQ-GEN2-005-BOUNDARY",
"REQ-GEN2-005-GATE"
],
"allowed_change_scope": {
"modules": [
"world",
"situation"
],
"paths": [
"modules/world/**",
"contracts/world/**",
"modules/situation/**",
"contracts/situation/**",
"tests/**",
"dev/ACTIVE_TASK.json",
"dev/tasks/GEN2-005-world-identity-resolution-and-version-environment-bindings.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.world@gen2",
"contracts.situation@gen2"
],
"may_change": [
"Only contracts explicitly within GEN2-005 allowed_change_scope; preserve Gen2 owner boundaries and backward compatibility unless this packet says cutover."
]
},
"semantic_owner": "World + Situation contracts, no truth ownership. 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": [
"World writer только identity/referent resolution",
"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: World writer только identity/referent resolution"
],
"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."
],
"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: resolution decisions versioned/reversible; no destructive identity merge",
"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: M1; test profile: MILESTONE.",
"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-004."
],
"acceptance_scenarios": [
"GEN2-005-SCN-01: реализовать identity resolution candidate с confidence/evidence refs",
"GEN2-005-SCN-02: не объединять автоматически неоднозначных людей/системы",
"GEN2-005-SCN-03: добавить reversible merge/split lineage",
"GEN2-005-SCN-04: добавить version/environment reference primitives, используемые позже Epistemics freshness",
"GEN2-005-EXIT: «Иван Telegram» и «Иван CRM» могут быть связаны с уверенностью без необратимого склеивания; две УНФ не путаются."
],
"required_tests": [
"FAST: go test ./modules/world/... ./modules/situation/...",
"FAST: go vet ./modules/world/... ./modules/situation/...",
"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 M1: go test ./modules/world/... ./modules/situation/... ./modules/interaction/... ./cmd/core-runtime/...",
"MILESTONE M1: run focused scope/focus company-A-vs-company-B and focus-stack regressions; do not run full repository suite."
],
"terminal_gap_states": [
"BLOCKED_BY_SPEC_GAP",
"BLOCKED_BY_ARCHITECTURE_GAP",
"BLOCKED_BY_MISSING_CAPABILITY",
"BLOCKED_BY_CONFLICT",
"REQUIRES_MIGRATION_DECISION"
]
}