{ "task_id": "ARCH-000003", "task_revision": 1, "architecture_revision": "ADR-0003", "base_repo_revision": "d0556695ffa1da8710a17e944d4396114a7afd6b", "risk_tier": "E", "intent": "Produce a proposal-only decision for fail-closed comparison of the complete Git change set with the active task packet allowed_change_scope before promotion.", "requirement_ids": ["INV-CHG-001", "INV-REC-001"], "allowed_change_scope": { "paths": [ "docs/DIFF_SCOPE_GUARDRAIL_PROPOSAL.md", "dev/tasks/ARCH-000003-diff-scope-guardrail-proposal.json" ] }, "forbidden_change_scope": { "paths": [ "architecture/**", "ci/**", ".gitea/**", "security/**", "database/**", "modules/**", "contracts/**", "adapters/**", "cmd/**", "deploy/**", "tests/**", "dev/ACTIVE_TASK.json" ] }, "allowed_architecture_delta": { "new_cross_module_dependencies": 0, "new_canonical_owners": 0, "new_privileges": 0 }, "semantic_owner": "proposal-only", "assumptions": [ "Promotion must validate one explicit active task rather than infer or union task packets", "Historical task packets with abbreviated or non-resolvable bases remain immutable evidence and are not retroactively promoted", "Exact diff-scope validation supplements architecture authority and independent Tier E review; it cannot grant either" ], "acceptance_scenarios": [ "proposal defines an explicit versioned active-task pointer", "proposal defines a valid immutable ancestor base requirement", "proposal covers committed, staged, unstaged, untracked, deleted and renamed paths", "proposal defines deterministic allowed path matching and fail-closed errors", "proposal protects the promotion workflow itself", "proposal defines a non-bypassable CI integration and bootstrap sequence", "no protected architecture, guardrail, workflow or implementation file is modified" ], "required_tests": [ "architecture preflight", "diff-scope review" ], "terminal_gap_states": [ "BLOCKED_BY_ARCHITECTURE_GAP", "BLOCKED_BY_SPEC_GAP", "BLOCKED_BY_CONFLICT" ] }