Files
Assistant/dev/tasks/DEV-000061-human-interaction-foundation.json
m caad0ae2d4
CI / test (push) Successful in 14s
CI / test (pull_request) Successful in 14s
DEV-000061 checkpoint interaction chat foundation
2026-08-17 14:15:07 +03:00

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"
]
}