Files
Assistant/dev/tasks/DEV-000084-evolving-cognitive-provider-catalog.json
2026-08-21 18:37:04 +03:00

71 lines
3.9 KiB
JSON

{
"task_id": "DEV-000084",
"task_revision": 1,
"architecture_revision": "DEV-000073-baseline",
"base_repo_revision": "0482e6ac14cd7625598a203dbdec9298b1bac04c",
"risk_tier": "C",
"intent": "Evolve the single-catalog cognitive orchestrator with an always-available built-in provider and task-aware selection across connected providers using capability, quality, latency, cost, and reliability evidence.",
"requirement_ids": [
"Built-in Domovoy cognition remains available without an external provider",
"Connected providers expose typed connection references without credential material",
"Provider selection considers task capability, quality, speed, cost, and reliability",
"Provider and model revisions remain replaceable as the catalog evolves"
],
"allowed_change_scope": {
"modules": ["capability", "cognitive-worker"],
"paths": [
"contracts/capability/cognitive_registry.go",
"contracts/cognitive/types.go",
"contracts/interaction/types.go",
"modules/capability/domain/cognitive_registry.go",
"modules/capability/domain/cognitive_registry_test.go",
"adapters/postgres/capability_repository.go",
"database/migrations/028_capability_cognitive_provider_profile.sql",
"cmd/cognitive-worker/main.go",
"cmd/cognitive-worker/gateway.go",
"cmd/cognitive-worker/gateway_registry_test.go",
"cmd/cognitive-worker/interpretation.go",
"cmd/cognitive-worker/interpretation_live_trace_test.go",
"cmd/cognitive-worker/discovery.go",
"cmd/creator-web/server.go",
"cmd/core-runtime/main.go",
"dev/tasks/DEV-000084-evolving-cognitive-provider-catalog.json"
]
},
"forbidden_change_scope": {
"paths": ["architecture/**", "security/**", "cmd/core-runtime/**", "cmd/creator-web/**", "deploy/**"]
},
"allowed_architecture_delta": {
"new_cross_module_dependencies": 0,
"new_canonical_owners": 0,
"new_privileges": 0,
"new_third_party_dependencies": 0,
"new_provider_adapters": 0,
"new_database_owner_roles": 0
},
"contracts": {
"consume": ["existing capability registry", "existing cognitive gateway"],
"may_change": ["versioned provider profile and task-aware selection fields"]
},
"semantic_owner": "capability",
"canonical_state": ["provider connection profile", "model suitability and performance evidence"],
"state_transitions": [
"discovered provider profile is validated before invocation",
"selection ranks eligible candidates without granting new authority",
"provider revision supersedes prior metadata without rewriting history"
],
"side_effects_and_privileges": ["No new privilege", "Credential material remains outside canonical registry"],
"persistence_and_migrations": ["One additive capability migration", "No cross-owner writes"],
"failure_retry_restart": ["Built-in provider remains available when registry or remote providers fail", "Provider failures are observed and excluded for the current attempt"],
"assumptions": ["V1 has one shared catalog and no user/group visibility", "Existing CredentialRef contract is retained", "Selection is advisory routing and does not authorize external actions"],
"acceptance_scenarios": [
"Built-in provider answers when no connected provider is invocable",
"Secret values never appear in provider registry responses or logs",
"Task requiring a capability excludes models without it",
"Quality, reliability, latency, and cost policy affect deterministic ranking",
"A failed primary provider falls back to another eligible provider"
],
"required_tests": ["go test ./modules/capability/domain", "go test ./cmd/cognitive-worker", "go test ./...", "go vet ./...", "devctl preflight", "devctl check-diff", "devctl check-architecture", "git diff --check"],
"terminal_gap_states": ["BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_MISSING_CAPABILITY", "BLOCKED_BY_CONFLICT"]
}