109 lines
4.4 KiB
JSON
109 lines
4.4 KiB
JSON
{
|
|
"task_id": "DEV-000295",
|
|
"task_revision": 1,
|
|
"architecture_revision": "ADR-0019",
|
|
"base_repo_revision": "origin/main",
|
|
"risk_tier": "E",
|
|
"intent": "Провести сценарный аудит бытового общения Домового, добавить устойчивую маршрутизацию умений и проверку конечного ответа без монолитного оркестратора.",
|
|
"requirement_ids": [
|
|
"REQ-HOUSEHOLD-001",
|
|
"REQ-HOUSEHOLD-002",
|
|
"REQ-HOUSEHOLD-003",
|
|
"REQ-HOUSEHOLD-004"
|
|
],
|
|
"allowed_change_scope": {
|
|
"modules": ["interaction", "capability", "epistemics", "situation", "work", "continuity"],
|
|
"paths": [
|
|
"cmd/core-runtime/**",
|
|
"modules/interaction/**",
|
|
"modules/capability/**",
|
|
"modules/epistemics/**",
|
|
"modules/situation/**",
|
|
"modules/work/**",
|
|
"modules/continuity/**",
|
|
"contracts/interaction/**",
|
|
"contracts/capability/**",
|
|
"tests/**",
|
|
"dev/ACTIVE_TASK.json",
|
|
"dev/tasks/DEV-000295-household-scenario-audit.json"
|
|
]
|
|
},
|
|
"forbidden_change_scope": {
|
|
"paths": [
|
|
"architecture/**",
|
|
"security/**",
|
|
"adapters/models/**",
|
|
"docker-compose*.yml",
|
|
"deploy/**",
|
|
"migrations/**",
|
|
"go.mod",
|
|
"go.sum"
|
|
]
|
|
},
|
|
"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.identity@v1",
|
|
"contracts.authority@v1",
|
|
"contracts.capability@v1",
|
|
"contracts.cognitive@v1",
|
|
"contracts.interaction@v1",
|
|
"contracts.work@v1"
|
|
],
|
|
"may_change": []
|
|
},
|
|
"semantic_owner": "interaction owns meaning classification; capability owns capability health and selection; existing semantic owners retain canonical state",
|
|
"canonical_state": ["existing Interpretation, CapabilityResolution, Situation, Goal/Task and ProspectiveItem only"],
|
|
"state_transitions": ["request -> meaning -> bounded capability route -> result/clarification/degraded answer -> verification evidence"],
|
|
"side_effects_and_privileges": ["Scenario tests are read-only/fake by default; real reminders, websites, messages and code changes remain behind existing Commit/Executor and authority boundaries."],
|
|
"persistence_and_migrations": ["No new tables, migrations or events; verify existing durable memory, situation, goal/task and continuity paths."],
|
|
"failure_retry_restart": ["Each scenario distinguishes unavailable, partial and unknown outcome; retries must not duplicate external effects; restart restores context and commitments from canonical state."],
|
|
"acceptance_scenarios": [
|
|
"SCN-HH-001 identity/name/preference continuity",
|
|
"SCN-HH-002 location/weather/time/price current-data research",
|
|
"SCN-HH-003 travel/nearby-place clarification and result synthesis",
|
|
"SCN-HH-004 multi-action request decomposition and agent assignment",
|
|
"SCN-HH-005 reminder/goal/task lifecycle and follow-up",
|
|
"SCN-HH-006 speech/image/OCR capability routing and degraded mode",
|
|
"SCN-HH-007 creative conversation without web-search leakage",
|
|
"SCN-HH-008 unavailable/partial/contradictory tool and model responses",
|
|
"SCN-HH-009 short natural answer and no internal protocol leakage",
|
|
"SCN-HH-010 authority/confirmation/unknown-outcome safety"
|
|
],
|
|
"required_tests": [
|
|
"go test",
|
|
"go vet",
|
|
"preflight",
|
|
"check-diff",
|
|
"check-architecture",
|
|
"independent",
|
|
"git diff",
|
|
"git diff --check",
|
|
"unit",
|
|
"semantic-routing",
|
|
"scenario-contract",
|
|
"degraded-mode",
|
|
"restart-recovery",
|
|
"architecture",
|
|
"go-test ./...",
|
|
"go vet ./...",
|
|
"production smoke on docker.cin.su"
|
|
],
|
|
"terminal_gap_states": [
|
|
"BLOCKED_BY_SPEC_GAP",
|
|
"BLOCKED_BY_ARCHITECTURE_GAP",
|
|
"BLOCKED_BY_MISSING_CAPABILITY"
|
|
],
|
|
"assumptions": [
|
|
"Локальный Docker запрещён; production verification выполняется только на docker.cin.su.",
|
|
"Провайдеры и browser session могут быть недоступны, поэтому тесты обязаны проверять полезный degraded ответ.",
|
|
"Новые умения добавляются отдельными capability/adapter/route компонентами, а не единым монолитным оркестратором."
|
|
]
|
|
}
|