117 lines
5.3 KiB
JSON
117 lines
5.3 KiB
JSON
{
|
|
"task_id": "GEN2-023",
|
|
"task_revision": 1,
|
|
"architecture_revision": "ARCH-GEN2-000",
|
|
"base_repo_revision": "gen2-integration",
|
|
"risk_tier": "E",
|
|
"intent": "Пользователь говорит, чего хочет; Домовой меняет scoped configuration/starts work through normal semantics instead of forcing admin panels.",
|
|
"requirement_ids": [
|
|
"REQ-GEN2-023-GOAL",
|
|
"REQ-GEN2-023-BOUNDARY",
|
|
"REQ-GEN2-023-GATE"
|
|
],
|
|
"allowed_change_scope": {
|
|
"modules": [
|
|
"interaction",
|
|
"configuration",
|
|
"work",
|
|
"authority"
|
|
],
|
|
"paths": [
|
|
"modules/interaction/**",
|
|
"contracts/interaction/**",
|
|
"cmd/core-runtime/**",
|
|
"cmd/creator-web/**",
|
|
"modules/configuration/**",
|
|
"contracts/configuration/**",
|
|
"modules/work/**",
|
|
"contracts/work/**",
|
|
"contracts/authority/**",
|
|
"tests/**",
|
|
"dev/ACTIVE_TASK.json",
|
|
"dev/tasks/GEN2-023-make-conversational-control-the-primary-configuration-and-operational-ux.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.interaction@v1",
|
|
"contracts.configuration@gen2",
|
|
"contracts.work@gen2",
|
|
"contracts.authority@v1"
|
|
],
|
|
"may_change": [
|
|
"Only contracts explicitly within GEN2-023 allowed_change_scope; preserve Gen2 owner boundaries and backward compatibility unless this packet says cutover."
|
|
]
|
|
},
|
|
"semantic_owner": "Interaction + Configuration/Work contracts. 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": [
|
|
"Configuration remains setting writer; Interaction writes user instruction/intent only",
|
|
"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: Configuration remains setting writer; Interaction writes user instruction/intent only"
|
|
],
|
|
"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: admin/read APIs remain available; conversational mutations can be disabled",
|
|
"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: M5; test profile: FAST.",
|
|
"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-022."
|
|
],
|
|
"acceptance_scenarios": [
|
|
"GEN2-023-SCN-01: intent patterns for setting/querying configuration",
|
|
"GEN2-023-SCN-02: explain effective scope/value in natural language",
|
|
"GEN2-023-SCN-03: one-time override vs durable preference distinction",
|
|
"GEN2-023-SCN-04: conversation creates SettingAssignment only through Configuration contract",
|
|
"GEN2-023-SCN-05: dangerous config/core changes route through Consequence + Authority/Commit",
|
|
"GEN2-023-SCN-06: Creator Web admin screens остаются diagnostics/emergency, не primary UX",
|
|
"GEN2-023-EXIT: обычные настройки не требуют ручного редактирования ENV/admin UI."
|
|
],
|
|
"required_tests": [
|
|
"FAST: go test ./modules/interaction/... ./modules/configuration/... ./modules/work/... ./cmd/core-runtime/... ./cmd/creator-web/...",
|
|
"FAST: go vet ./modules/interaction/... ./modules/configuration/... ./modules/work/... ./cmd/core-runtime/... ./cmd/creator-web/...",
|
|
"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 --"
|
|
],
|
|
"terminal_gap_states": [
|
|
"BLOCKED_BY_SPEC_GAP",
|
|
"BLOCKED_BY_ARCHITECTURE_GAP",
|
|
"BLOCKED_BY_MISSING_CAPABILITY",
|
|
"BLOCKED_BY_CONFLICT",
|
|
"REQUIRES_MIGRATION_DECISION"
|
|
]
|
|
}
|