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