feat: govern Architecture task decomposition #3

Merged
jarvis-at-skic merged 7 commits from policy/architecture-task-breakdown-ownership into test 2026-09-02 08:11:21 -07:00
2 changed files with 25 additions and 2 deletions
Showing only changes of commit 091617ffe8 - Show all commits
+3 -1
View File
@@ -204,7 +204,7 @@ Architecture derives and maintains implementation-task semantics, dependencies,
Architecture owns complete Task decomposition for every Feature allocated to the release. Before reporting a release planning-ready, Architecture must:
1. review existing Tasks and retain, revise, or supersede them according to the current Feature outcomes and Architecture boundaries;
1. Architecture creates missing Tasks, reviews existing Tasks, and retains, revises, supersedes, or removes them according to the current Feature outcomes and Architecture boundaries. Architecture may freely revise or remove only draft Tasks with no implementation approval, Kanban admission, execution, or completion evidence;
2. define at least two independently executable Tasks per Feature unless a recorded Architecture rationale proves that one atomic Task is the smallest verifiable boundary;
3. map the Feature's Tasks collectively to every acceptance outcome and every applicable requirement, with reciprocal canonical traceability;
4. encode within-Feature sequencing and every cross-Feature prerequisite as acyclic Task dependencies;
@@ -213,6 +213,8 @@ Architecture owns complete Task decomposition for every Feature allocated to the
Architecture must not report planning readiness while any Feature allocated to the release lacks this complete Task breakdown. A Feature-shaped placeholder Task, a generated empty Task group, or requirement coverage without executable Tasks does not satisfy the gate.
Approved, Kanban-admitted, in-progress, or completed Tasks must not be deleted or silently rewritten. Retain an obsolete Task with a terminal Superseded or Cancelled status, its prior evidence and history, and explicit replacement links. A material change to Task scope, outcome, dependency, repository, or component must invalidate prior readiness evidence and return the affected record to the appropriate pre-approval state; renewed human `Approved for Implementation` and a separate exact-task Kanban Focus admission are required where applicable before execution resumes.
```text
canonical_id | display_id | feature | outcome | scope | dependencies | owner | status | acceptance evidence | affected repository/component
```
+22 -1
View File
@@ -11,7 +11,7 @@ class TaskBreakdownPolicyTest(unittest.TestCase):
required = [
"Architecture owns complete Task decomposition",
"every Feature allocated to the release",
"review existing Tasks",
"reviews existing Tasks",
"at least two independently executable Tasks",
"every acceptance outcome",
"every applicable requirement",
@@ -20,6 +20,27 @@ class TaskBreakdownPolicyTest(unittest.TestCase):
for marker in required:
self.assertIn(marker, self.skill)
def test_task_lifecycle_and_readiness_rules_are_fail_closed(self):
required = [
"version: 1.7.0",
"repository/component owner",
"future acceptance-evidence requirement",
"within-Feature sequencing",
"cross-Feature prerequisite",
"acyclic Task dependencies",
"creates missing Tasks",
"freely revise or remove only draft Tasks",
"must not be deleted or silently rewritten",
"Superseded or Cancelled",
"replacement links",
"invalidate prior readiness evidence",
"pre-approval state",
"renewed human `Approved for Implementation`",
"separate exact-task Kanban Focus admission",
]
for marker in required:
self.assertIn(marker, self.skill)
if __name__ == "__main__":
unittest.main()