|
| 1 | +# Data Model: Refocus Superb Boundaries |
| 2 | + |
| 3 | +**Feature**: `004-refocus-superb-boundaries` | **Date**: 2026-07-03 |
| 4 | + |
| 5 | +This feature has no application persistence model. Its entities are declarative |
| 6 | +extension contracts represented in YAML, Markdown, configuration, and tests. |
| 7 | + |
| 8 | +## CapabilityContract |
| 9 | + |
| 10 | +| Field | Type | Validation | |
| 11 | +|---|---|---| |
| 12 | +| `commands` | ordered set of `CommandContract` | Exactly seven unique command names | |
| 13 | +| `hooks` | ordered set of `HookBinding` | Exactly two unique lifecycle keys | |
| 14 | +| `skills` | ordered set of `SkillContract` | Exactly five unique skill names | |
| 15 | +| `statuses` | set | Must be empty | |
| 16 | +| `task_stores` | set | Must be empty | |
| 17 | +| `execution_stores` | set | Must be empty | |
| 18 | +| `completion_stores` | set | Must be empty | |
| 19 | + |
| 20 | +Identity is the `superb` extension namespace plus the installed extension |
| 21 | +version. Counts must agree across manifest, configuration, installer, |
| 22 | +diagnostics, documentation, and tests. |
| 23 | + |
| 24 | +## CommandContract |
| 25 | + |
| 26 | +| Field | Type | Notes | |
| 27 | +|---|---|---| |
| 28 | +| `name` | command identifier | Must use `speckit.superb.*` | |
| 29 | +| `kind` | `hook` or `standalone` | Hook commands remain manually invocable | |
| 30 | +| `lifecycle_boundary` | hook key or `standalone` | Exactly one accountable boundary | |
| 31 | +| `user_outcome` | string | Lifecycle benefit, not internal terminology | |
| 32 | +| `reads` | set | Minimum necessary artifacts/context | |
| 33 | +| `writes` | set | Explicit allowlist | |
| 34 | +| `forbidden` | set | State, orchestration, or ownership violations | |
| 35 | +| `skill` | optional `SkillContract` | At most one primary upstream discipline | |
| 36 | +| `fallback` | enum | `native_minimum`, `unavailable`, or `not_applicable` | |
| 37 | + |
| 38 | +### Command Identities |
| 39 | + |
| 40 | +1. `speckit.superb.check` |
| 41 | +2. `speckit.superb.brainstorm` |
| 42 | +3. `speckit.superb.implementation-gate` |
| 43 | +4. `speckit.superb.critique` |
| 44 | +5. `speckit.superb.debug` |
| 45 | +6. `speckit.superb.respond` |
| 46 | +7. `speckit.superb.finish` |
| 47 | + |
| 48 | +## HookBinding |
| 49 | + |
| 50 | +| Hook | Command | Policy | Mutation | |
| 51 | +|---|---|---|---| |
| 52 | +| `after_specify` | `speckit.superb.brainstorm` | Optional | User-approved `spec.md` refinement only | |
| 53 | +| `before_implement` | `speckit.superb.implementation-gate` | Mandatory | Read-only | |
| 54 | + |
| 55 | +No other Superb hook is valid. In particular, `after_tasks`, `after_implement`, |
| 56 | +`before_converge`, and `after_converge` must be absent. |
| 57 | + |
| 58 | +## SkillContract |
| 59 | + |
| 60 | +| Name | Consumer | Availability behavior | Stable dependency | |
| 61 | +|---|---|---|---| |
| 62 | +| `brainstorming` | `brainstorm` | Optional command/hook unavailable or skipped safely | Design alternatives, scope, approval | |
| 63 | +| `test-driven-development` | `implementation-gate` | Optional upstream enhancement; bridge-native minimum TDD readiness when absent | RED before production change | |
| 64 | +| `systematic-debugging` | `debug` | Standalone unavailable with install guidance | Evidence-led root-cause investigation | |
| 65 | +| `receiving-code-review` | `respond` | Standalone unavailable with install guidance | Technical verification of feedback | |
| 66 | +| `finishing-a-development-branch` | `finish` | Standalone unavailable with install guidance | Fresh tests and explicit branch choice | |
| 67 | + |
| 68 | +Internal headings, prompt-template filenames, named agents, and exact workflow |
| 69 | +steps are not fields in this contract. |
| 70 | + |
| 71 | +## ArtifactRoute |
| 72 | + |
| 73 | +| Defect class | Owning command | Superb behavior | |
| 74 | +|---|---|---| |
| 75 | +| Requirement ambiguity | `speckit.clarify` | Report and route | |
| 76 | +| Plan/architecture mismatch | `speckit.plan` | Report and route | |
| 77 | +| Missing or malformed tasks | `speckit.tasks` | Report and route | |
| 78 | +| Cross-artifact inconsistency | `speckit.analyze`, then earliest owner | Report and route | |
| 79 | +| Implementation execution | `speckit.implement` | Gate readiness only | |
| 80 | +| Delivered-code gap | `speckit.converge` | Route only | |
| 81 | +| Feedback changes requirement/plan/task meaning | Earliest affected owner | Respond stops direct code mutation | |
| 82 | + |
| 83 | +## MigrationRemoval |
| 84 | + |
| 85 | +Each removed surface has one terminal transition: `active -> removed`. |
| 86 | + |
| 87 | +| Surface | Replacement/route | |
| 88 | +|---|---| |
| 89 | +| `speckit.superb.controller` | `speckit.superb.implementation-gate` | |
| 90 | +| `speckit.superb.review` | `speckit.tasks` and `speckit.analyze` | |
| 91 | +| `speckit.superb.verify` | `speckit.implement` validation and `speckit.converge` | |
| 92 | +| `plan-gate.md` | Native `speckit.plan` | |
| 93 | +| Superb status synchronization | No replacement state machine | |
| 94 | +| Temporary evidence archive | Owning command's fresh in-session evidence | |
| 95 | + |
| 96 | +Removed files, config keys, docs, and tests must not remain in the installed |
| 97 | +payload. Migration guidance may name them only as historical removed surfaces. |
0 commit comments