24 lines
2.4 KiB
JSON
24 lines
2.4 KiB
JSON
{
|
|
"task_id": "DEV-000082",
|
|
"task_revision": 1,
|
|
"architecture_revision": "DEV-000073-baseline",
|
|
"base_repo_revision": "ae9933ee846254f970e4ef3f3e46d63e7a01db5a",
|
|
"risk_tier": "E",
|
|
"intent": "Prevent accidental transmission of obvious credentials through the AI information form while preserving ordinary model notes as chat messages.",
|
|
"requirement_ids": ["AI notes form warns about secrets", "Obvious secret-shaped input is blocked before chat submission", "Safe model descriptions continue through the normal chat flow"],
|
|
"allowed_change_scope": {"modules": ["cmd/creator-web"], "paths": ["cmd/creator-web/chat_test.go", "cmd/creator-web/static/chat.html", "cmd/creator-web/static/assets/chat.css", "cmd/creator-web/static/assets/chat.js", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000082-chat-ai-data-safety-guard.json"]},
|
|
"forbidden_change_scope": {"paths": ["architecture/**", "security/**", "database/**", "modules/**", "contracts/**", "adapters/**", "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 chat message endpoint"], "may_change": []},
|
|
"semantic_owner": "none-interface-adapter",
|
|
"canonical_state": [],
|
|
"state_transitions": ["Secret-shaped text is rejected locally", "Non-secret AI notes continue as a normal conversation message"],
|
|
"side_effects_and_privileges": ["No new privilege", "No transmission when the guard detects a secret-shaped value"],
|
|
"persistence_and_migrations": ["No persistence or migration"],
|
|
"failure_retry_restart": ["User can edit and retry after removing the sensitive value"],
|
|
"assumptions": ["The guard is a convenience barrier, not a complete secret scanner", "Users must still avoid pasting secrets"],
|
|
"acceptance_scenarios": ["API-key and private-key-shaped input is blocked", "Password/token labels are blocked", "Ordinary model notes are submitted", "The warning is visible and accessible"],
|
|
"required_tests": ["go test ./cmd/creator-web", "go test ./...", "go vet ./...", "devctl preflight", "devctl check-diff", "devctl check-architecture", "git diff --check", "node --check cmd/creator-web/static/assets/chat.js"],
|
|
"terminal_gap_states": ["BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT"]
|
|
}
|