42 lines
3.8 KiB
JSON
42 lines
3.8 KiB
JSON
{
|
|
"task_id": "DEV-000094",
|
|
"task_revision": 1,
|
|
"architecture_revision": "ADR-0018",
|
|
"base_repo_revision": "39f9081",
|
|
"risk_tier": "E",
|
|
"intent": "Preserve the centrally derived informational intent from Interaction through Core and the local cognitive gateway, so local conversation and provider-recovery responses are selected by meaning rather than duplicated raw-text checks.",
|
|
"requirement_ids": ["ADR-0018", "FD-001", "FD-009", "FD-015", "INV-EPI-001", "Local conversation remains useful during provider loss", "Semantic intent is not reparsed by each runtime"],
|
|
"allowed_change_scope": {
|
|
"modules": ["interaction", "core-runtime", "creator-web", "cognitive-worker", "development-governance"],
|
|
"paths": [
|
|
"contracts/interaction/types.go",
|
|
"contracts/cognitive/types.go",
|
|
"modules/interaction/domain/chat.go",
|
|
"modules/interaction/domain/chat_test.go",
|
|
"modules/interaction/domain/semantics.go",
|
|
"cmd/core-runtime/main.go",
|
|
"cmd/core-runtime/main_test.go",
|
|
"cmd/core-runtime/cognitive_interpretation.go",
|
|
"cmd/creator-web/server.go",
|
|
"cmd/creator-web/chat_test.go",
|
|
"cmd/cognitive-worker/gateway.go",
|
|
"cmd/cognitive-worker/gateway_registry_test.go",
|
|
"dev/ACTIVE_TASK.json",
|
|
"dev/tasks/DEV-000094-semantic-local-recovery-routing.json"
|
|
]
|
|
},
|
|
"forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "deploy/**"]},
|
|
"allowed_architecture_delta": {"new_cross_module_dependencies": 1, "new_canonical_owners": 0, "new_privileges": 0, "new_third_party_dependencies": 0, "new_database_owner_roles": 0},
|
|
"contracts": {"consume": ["ADR-0018 Exploration profile", "existing Creator chat and gateway contracts"], "may_change": ["interaction ChatMessageResponse informational intent field", "cognitive TaskMeaning informational intent field"]},
|
|
"semantic_owner": "interaction for informational intent; Cognitive Gateway only consumes the typed value for an ephemeral local answer",
|
|
"canonical_state": ["existing Interaction utterance interpretation only"],
|
|
"state_transitions": ["utterance -> one informational intent classification", "typed intent -> Core read-only answer or local advisory response", "provider loss -> recovery-oriented local response without an external action"],
|
|
"side_effects_and_privileges": ["No external mutation", "No new privilege", "No provider invocation outside the Cognitive Gateway", "No credential or secret rendering"],
|
|
"persistence_and_migrations": ["No schema migration; informational intent is an ephemeral response field derived from existing utterance semantics"],
|
|
"failure_retry_restart": ["Gateway loss preserves Core's typed read-only replies", "local provider loss returns a typed built-in response", "no automatic external-provider retry is introduced"],
|
|
"assumptions": ["A bounded deterministic classifier is allowed as the Interaction-owned fallback when richer cognition is absent", "the first delivery only provides read-only conversation and recovery guidance; it does not create a Work task or action proposal automatically", "docker-test remains prohibited"],
|
|
"acceptance_scenarios": ["Model inventory, capability inventory and cognitive-channel/recovery questions receive a single typed classification", "Core no longer reparses those informational requests from raw text", "Creator passes the typed intent to the local gateway", "gateway built-in advisory does not branch on raw message keywords", "ordinary local fallback remains meaningful when a local provider fails"],
|
|
"required_tests": ["go test ./modules/interaction/domain", "go test ./cmd/core-runtime", "go test ./cmd/creator-web", "go test ./cmd/cognitive-worker", "go test ./...", "go vet ./...", "devctl preflight", "devctl check-diff", "git diff --check"],
|
|
"terminal_gap_states": ["BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT"]
|
|
}
|