38 lines
2.9 KiB
JSON
38 lines
2.9 KiB
JSON
{
|
|
"task_id": "DEV-000186",
|
|
"task_revision": 1,
|
|
"architecture_revision": "ADR-0018",
|
|
"base_repo_revision": "cdbccb6",
|
|
"risk_tier": "E",
|
|
"intent": "Add a typed, proposal-only ExtensionProposal generator from repeated or corroborated evidence without granting mutation, authority, deployment, or promotion capability.",
|
|
"requirement_ids": ["WP-601", "Extension proposal generator", "Evidence deduplication", "Governed rollback plan"],
|
|
"allowed_change_scope": {
|
|
"modules": ["work-agent-execution"],
|
|
"paths": ["contracts/work/self_development.go", "modules/work/domain/self_development.go", "modules/work/domain/self_development_test.go", "tests/semantic_evolution/self_development_contract_test.go", "dev/ACTIVE_TASK.json", "dev/tasks/DEV-000186-extension-proposal-generator.json"]
|
|
},
|
|
"forbidden_change_scope": {
|
|
"paths": ["architecture/**", "security/**", "database/**", "cmd/**", "adapters/**", "deploy/**", "contracts/authority/**", ".gitea/**"]
|
|
},
|
|
"allowed_architecture_delta": {
|
|
"new_cross_module_dependencies": 0,
|
|
"new_canonical_owners": 0,
|
|
"new_privileges": 0,
|
|
"new_third_party_dependencies": 0,
|
|
"new_database_owner_roles": 0
|
|
},
|
|
"contracts": {
|
|
"consume": ["ADR-0022 governed self-development boundary", "existing Work DevelopmentGate"],
|
|
"may_change": ["typed Work ExtensionProposal value objects"]
|
|
},
|
|
"semantic_owner": "work-agent-execution",
|
|
"canonical_state": ["No durable canonical state; proposal value object only"],
|
|
"state_transitions": ["repeated evidence -> PROPOSED ExtensionProposal", "insufficient/conflicting/incomplete evidence -> rejected result"],
|
|
"side_effects_and_privileges": ["No source mutation, provider invocation, secret access, deployment, promotion, or authority expansion"],
|
|
"persistence_and_migrations": ["No schema or migration changes"],
|
|
"failure_retry_restart": ["Deterministic generation is rerunnable; unique evidence refs and signal keys preserve lineage; one failure cannot generate a proposal"],
|
|
"assumptions": ["Human governance remains the promotion authority", "A later task may add durable proposal persistence only after owner and migration review"],
|
|
"acceptance_scenarios": ["one failure is rejected", "repeated same-signal evidence produces one proposal with deduplicated signal keys and retained refs", "missing assumptions/evaluation/rollback fails closed", "proposal contains no executable authority or mutation field"],
|
|
"required_tests": ["go test ./modules/work/domain ./tests/semantic_evolution", "go vet ./...", "go run ./cmd/devctl preflight -task dev/tasks/DEV-000186-extension-proposal-generator.json", "go run ./cmd/devctl check-diff -task dev/tasks/DEV-000186-extension-proposal-generator.json", "go run ./cmd/devctl check-architecture", "go run ./cmd/devctl independent", "git diff --check", "CI"],
|
|
"terminal_gap_states": ["BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT"]
|
|
}
|