143 lines
4.1 KiB
JSON
143 lines
4.1 KiB
JSON
{
|
|
"task_id": "DEV-000061",
|
|
"task_revision": 2,
|
|
"architecture_revision": "ADR-0009+ADR-0010",
|
|
"base_repo_revision": "e4b6121dc08041f1d4dc00aa042714d0fd933aa0",
|
|
"risk_tier": "E",
|
|
"intent": "Add the Interaction canonical owner, bounded authenticated Web Chat V1 foundation, and the minimal provider-neutral CredentialRef secret resolution prerequisite.",
|
|
"requirement_ids": [
|
|
"INV-OWN-001",
|
|
"INV-EPI-001",
|
|
"ADR-0009",
|
|
"ADR-0010"
|
|
],
|
|
"allowed_change_scope": {
|
|
"modules": [
|
|
"interaction",
|
|
"identity",
|
|
"epistemics",
|
|
"capability",
|
|
"platform"
|
|
],
|
|
"paths": [
|
|
"architecture/adrs/ADR-0009-human-interaction-owner.md",
|
|
"architecture/adrs/ADR-0010-credential-ref-secret-resolution.md",
|
|
"architecture/architecture-registry.yaml",
|
|
"architecture/architecture-registry.json",
|
|
"database/**",
|
|
"contracts/interaction/**",
|
|
"contracts/secrets/**",
|
|
"modules/interaction/**",
|
|
"platform/secrets/**",
|
|
"adapters/postgres/**",
|
|
"cmd/core-runtime/**",
|
|
"cmd/creator-web/**",
|
|
"deploy/**",
|
|
"tests/human_interaction/**",
|
|
"tests/secret_resolution/**",
|
|
"tests/architecture/**",
|
|
"docs/PROJECT_STATUS.md",
|
|
"dev/ACTIVE_TASK.json",
|
|
"dev/tasks/DEV-000061-human-interaction-foundation.json"
|
|
]
|
|
},
|
|
"forbidden_change_scope": {
|
|
"paths": [
|
|
"architecture/ARCHITECTURE_CONSTITUTION.md",
|
|
"contracts/identity/**",
|
|
"contracts/epistemics/**",
|
|
"contracts/work/**",
|
|
"contracts/authority/**",
|
|
"contracts/commit/**",
|
|
"modules/identity/**",
|
|
"modules/epistemics/**",
|
|
"modules/work/**",
|
|
"modules/authority/**",
|
|
"modules/commit/**",
|
|
"cmd/cognitive-worker/**",
|
|
"security/**",
|
|
"ci/**",
|
|
".gitea/**"
|
|
]
|
|
},
|
|
"allowed_architecture_delta": {
|
|
"new_cross_module_dependencies": 3,
|
|
"new_canonical_owners": 1,
|
|
"new_privileges": 1,
|
|
"new_third_party_dependencies": 0,
|
|
"new_provider_adapters": 0
|
|
},
|
|
"contracts": {
|
|
"consume": [
|
|
"identity session",
|
|
"situation focus",
|
|
"cognitive gateway",
|
|
"credential ref secret resolution"
|
|
],
|
|
"may_change": [
|
|
"contracts/interaction@v1",
|
|
"contracts/secrets@v1"
|
|
]
|
|
},
|
|
"semantic_owner": "interaction",
|
|
"canonical_state": [
|
|
"Conversation",
|
|
"HumanUtterance",
|
|
"UtteranceInterpretation",
|
|
"OriginalHumanIntent",
|
|
"InteractionRelation"
|
|
],
|
|
"state_transitions": [
|
|
"utterance RECORDED->INTERPRETED",
|
|
"conversation OPEN"
|
|
],
|
|
"side_effects_and_privileges": [
|
|
"authenticated human message persistence",
|
|
"bounded advisory call through existing gateway only",
|
|
"interaction_role credential resolution through CredentialRef and Secret Resolver"
|
|
],
|
|
"persistence_and_migrations": [
|
|
"interaction schema and owner-local tables",
|
|
"no cross-owner FK",
|
|
"CredentialRef metadata only; plaintext secrets remain in protected Secret Backend"
|
|
],
|
|
"failure_retry_restart": [
|
|
"append utterance before interpretation",
|
|
"cognitive loss produces human-safe unavailable response",
|
|
"no automatic mutation",
|
|
"secret resolution fails closed without exposing plaintext"
|
|
],
|
|
"assumptions": [
|
|
"user accepted ADR-0009 decision",
|
|
"user accepted ADR-0010 decision",
|
|
"CPU CANARY allowed only through existing flag",
|
|
"docker-test prohibited",
|
|
"existing protected local secret storage is the first Secret Backend"
|
|
],
|
|
"acceptance_scenarios": [
|
|
"typed utterance and conversation",
|
|
"identity assurance separate from truth",
|
|
"speech acts distinguishable",
|
|
"correction appends",
|
|
"no direct provider",
|
|
"no ACTIVE binding",
|
|
"CredentialRef resolves only for authorized runtime consumers"
|
|
],
|
|
"required_tests": [
|
|
"go test ./...",
|
|
"go vet ./...",
|
|
"architecture",
|
|
"owner ACL",
|
|
"LLM-free",
|
|
"cognitive registry",
|
|
"human interaction",
|
|
"secret resolution"
|
|
],
|
|
"terminal_gap_states": [
|
|
"BLOCKED_BY_ARCHITECTURE_GAP",
|
|
"BLOCKED_BY_SPEC_GAP",
|
|
"BLOCKED_BY_MISSING_CAPABILITY",
|
|
"BLOCKED_BY_CONFLICT"
|
|
]
|
|
}
|