162 lines
5.8 KiB
JSON
162 lines
5.8 KiB
JSON
{
|
|
"task_id": "DEV-000064",
|
|
"task_revision": 1,
|
|
"architecture_revision": "ADR-0013",
|
|
"base_repo_revision": "fe531ab56f43bb37a5786e38b094781d3eccb775",
|
|
"risk_tier": "E",
|
|
"intent": "Add provider-neutral capability implementation resolution, selection and typed gap handling foundation, with reminder scheduling as the first production end-to-end capability.",
|
|
"requirement_ids": [
|
|
"ADR-0013",
|
|
"INV-AUTH-001",
|
|
"INV-EPI-001",
|
|
"INV-OWN-001",
|
|
"Capability availability is not Authority",
|
|
"Cognitive Registry remains the specialized cognitive capability registry"
|
|
],
|
|
"allowed_change_scope": {
|
|
"modules": [
|
|
"capability",
|
|
"continuity",
|
|
"interaction",
|
|
"work"
|
|
],
|
|
"paths": [
|
|
"architecture/adrs/ADR-0013-capability-resolution-selection-gap-foundation.md",
|
|
"architecture/architecture-registry.yaml",
|
|
"architecture/architecture-registry.json",
|
|
"contracts/capability/**",
|
|
"contracts/continuity/**",
|
|
"contracts/interaction/**",
|
|
"contracts/work/**",
|
|
"modules/capability/**",
|
|
"modules/continuity/**",
|
|
"modules/work/**",
|
|
"adapters/postgres/**",
|
|
"database/bootstrap/**",
|
|
"database/migrations/**",
|
|
"cmd/core-runtime/**",
|
|
"cmd/continuity-runtime/**",
|
|
"cmd/creator-web/**",
|
|
"tests/capability_resolution/**",
|
|
"tests/owner_acl/**",
|
|
"tests/cognitive_advisory/**",
|
|
"docs/PROJECT_STATUS.md",
|
|
"dev/ACTIVE_TASK.json",
|
|
"dev/tasks/DEV-000064-capability-resolution-selection-gap-foundation.json"
|
|
]
|
|
},
|
|
"forbidden_change_scope": {
|
|
"paths": [
|
|
"architecture/ARCHITECTURE_CONSTITUTION.md",
|
|
"modules/authority/**",
|
|
"modules/commit/**",
|
|
"cmd/commit-runtime/**",
|
|
"security/**",
|
|
"ci/**",
|
|
".gitea/**"
|
|
]
|
|
},
|
|
"allowed_architecture_delta": {
|
|
"new_cross_module_dependencies": 3,
|
|
"new_canonical_owners": 0,
|
|
"new_privileges": 0,
|
|
"new_third_party_dependencies": 0,
|
|
"new_provider_adapters": 0
|
|
},
|
|
"contracts": {
|
|
"consume": [
|
|
"Work CapabilityRequirement",
|
|
"Interaction OriginalHumanIntent",
|
|
"Continuity ProspectiveItem",
|
|
"Cognitive Registry / Router",
|
|
"Secret Resolver CredentialRef",
|
|
"Authority boundary concepts"
|
|
],
|
|
"may_change": [
|
|
"contracts/capability@v1",
|
|
"contracts/continuity@v1",
|
|
"contracts/interaction@v1"
|
|
]
|
|
},
|
|
"semantic_owner": "capability",
|
|
"canonical_state": [
|
|
"Capability",
|
|
"CapabilityImplementation",
|
|
"CapabilityResolution",
|
|
"CapabilitySelection",
|
|
"CapabilityGap",
|
|
"AcquisitionStrategyCandidate",
|
|
"CapabilityUsageObservation"
|
|
],
|
|
"state_transitions": [
|
|
"implementation qualification DISCOVERED/PROBING/EVALUATING/VALIDATED/REJECTED",
|
|
"implementation activation INACTIVE/CANARY/ACTIVE/DEPRECATED/RETIRED",
|
|
"implementation health UNKNOWN/AVAILABLE/DEGRADED/UNAVAILABLE",
|
|
"resolution AVAILABLE/PARTIALLY_AVAILABLE/UNAVAILABLE/UNKNOWN",
|
|
"gap records reasons without executing or granting Authority"
|
|
],
|
|
"side_effects_and_privileges": [
|
|
"Capability registry writes are owner-local",
|
|
"Reminder scheduling creates Continuity-owned ProspectiveItem through Continuity runtime boundary",
|
|
"No external mutation",
|
|
"No Commit/Executor invocation for reminder registration",
|
|
"No ACTIVE cognitive binding promotion",
|
|
"No OpenAI activation",
|
|
"CredentialRef is metadata and does not grant Authority"
|
|
],
|
|
"persistence_and_migrations": [
|
|
"capability owner-local implementation registry",
|
|
"capability owner-local gap records",
|
|
"capability owner-local generic usage observations",
|
|
"continuity owner-local reminder creation endpoint using existing prospective_items",
|
|
"no cross-owner FK",
|
|
"no cross-owner SQL join dependency"
|
|
],
|
|
"failure_retry_restart": [
|
|
"registered implementation can be unavailable without breaking startup",
|
|
"resolver fails closed when implementation is missing, unhealthy, inactive, unqualified or unauthorized",
|
|
"capability gap is persisted with OriginalHumanIntent correlation",
|
|
"reminder creation is persisted as a Continuity ProspectiveItem",
|
|
"cognitive router remains authoritative for cognitive invocation"
|
|
],
|
|
"assumptions": [
|
|
"DEV-000063 is production baseline",
|
|
"Capability owner is canonical Capability registry owner per Core Semantic Model",
|
|
"Continuity owner remains canonical ProspectiveItem owner",
|
|
"existing CPU CANARY remains not ACTIVE",
|
|
"docker-test prohibited"
|
|
],
|
|
"acceptance_scenarios": [
|
|
"Reminder resolves to scheduling implementation",
|
|
"Reminder is actually created and can be verified",
|
|
"Simple question still works without durable Work",
|
|
"Unsupported SEND_EMAIL returns persisted CapabilityGap",
|
|
"Unavailable implementation is excluded",
|
|
"Same capability with two implementations can be represented",
|
|
"Selection does not depend on hardcoded provider name",
|
|
"CredentialRef does not grant Authority",
|
|
"Capability is not Authority",
|
|
"Capability gap preserves OriginalHumanIntent correlation",
|
|
"One Goal can require multiple capabilities",
|
|
"Cognitive binding remains functioning",
|
|
"RTX unavailable does not break CPU cognition",
|
|
"LLM-free mode passes"
|
|
],
|
|
"required_tests": [
|
|
"go test ./...",
|
|
"go vet ./...",
|
|
"go run ./cmd/devctl preflight -active dev/ACTIVE_TASK.json",
|
|
"go run ./cmd/devctl check-architecture",
|
|
"go run ./cmd/devctl check-diff -active dev/ACTIVE_TASK.json",
|
|
"tests/cognitive_advisory/cognitive_worker_env_policy_test.ps1",
|
|
"tests/owner_acl/verify.ps1 -DockerContext docker-prod -PostgresContainer assistant-postgres-1",
|
|
"production live /chat acceptance"
|
|
],
|
|
"terminal_gap_states": [
|
|
"BLOCKED_BY_ARCHITECTURE_GAP",
|
|
"BLOCKED_BY_SPEC_GAP",
|
|
"BLOCKED_BY_MISSING_CAPABILITY",
|
|
"BLOCKED_BY_CONFLICT"
|
|
]
|
|
}
|