create-agdf 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +2 -2
  2. package/generated/.agdf/control/templates/artefacts/BROWNFIELD_REVIEW.md +12 -0
  3. package/generated/.agdf/control/templates/artefacts/PRD.md +40 -8
  4. package/generated/.agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +51 -0
  5. package/generated/.github/skills/README.md +1 -0
  6. package/generated/.github/skills/agdf-brownfield-analysis/SKILL.md +9 -0
  7. package/generated/.github/skills/agdf-clean-implementation-review/SKILL.md +18 -0
  8. package/generated/.github/skills/agdf-code-review/SKILL.md +17 -0
  9. package/generated/.github/skills/agdf-gate-check/SKILL.md +11 -18
  10. package/generated/.github/skills/agdf-interaction-locales.json +8 -0
  11. package/generated/.github/skills/agdf-qa-gate/SKILL.md +15 -5
  12. package/generated/.github/skills/agdf-release-or/SKILL.md +1 -1
  13. package/generated/.github/skills/agdf-task-plan-review/SKILL.md +33 -0
  14. package/generated/.github/skills/agdf-ux-intent-definition/SKILL.md +94 -0
  15. package/generated/.github/skills/contracts/gate-transition.md +25 -0
  16. package/generated/.github/skills/contracts/interaction.md +23 -0
  17. package/generated/.github/skills/contracts/quality.md +58 -1
  18. package/generated/.opencode/AGDF.md +6 -0
  19. package/generated/.opencode/README.md +1 -0
  20. package/generated/.opencode/agdf-interaction-locales.json +8 -0
  21. package/generated/.opencode/contracts/gate-transition.md +25 -0
  22. package/generated/.opencode/contracts/interaction.md +23 -0
  23. package/generated/.opencode/contracts/quality.md +58 -1
  24. package/generated/.opencode/skills/agdf-brownfield-analysis/SKILL.md +9 -0
  25. package/generated/.opencode/skills/agdf-clean-implementation-review/SKILL.md +18 -0
  26. package/generated/.opencode/skills/agdf-code-review/SKILL.md +17 -0
  27. package/generated/.opencode/skills/agdf-gate-check/SKILL.md +11 -18
  28. package/generated/.opencode/skills/agdf-qa-gate/SKILL.md +15 -5
  29. package/generated/.opencode/skills/agdf-release-or/SKILL.md +1 -1
  30. package/generated/.opencode/skills/agdf-task-plan-review/SKILL.md +33 -0
  31. package/generated/.opencode/skills/agdf-ux-intent-definition/SKILL.md +94 -0
  32. package/generated/AGENTS.md +6 -0
  33. package/generated/plugins/agdf/.claude-plugin/plugin.json +1 -1
  34. package/generated/plugins/agdf/.codex-plugin/plugin.json +1 -1
  35. package/generated/plugins/agdf/control/templates/artefacts/BROWNFIELD_REVIEW.md +12 -0
  36. package/generated/plugins/agdf/control/templates/artefacts/PRD.md +40 -8
  37. package/generated/plugins/agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +51 -0
  38. package/generated/plugins/agdf/meta/agdf-agent-router.md +6 -0
  39. package/generated/plugins/agdf/meta/agdf-interaction-locales.json +8 -0
  40. package/generated/plugins/agdf/meta/agdf-plugin.definition.json +7 -1
  41. package/generated/plugins/agdf/meta/contracts/gate-transition.md +25 -0
  42. package/generated/plugins/agdf/meta/contracts/interaction.md +23 -0
  43. package/generated/plugins/agdf/meta/contracts/quality.md +58 -1
  44. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +8 -0
  45. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +7 -1
  46. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +2 -1
  47. package/generated/plugins/agdf/runtime/create-agdf/lib/control-evaluation/gate-check.js +16 -25
  48. package/generated/plugins/agdf/runtime/create-agdf/lib/interaction-presentation.js +80 -0
  49. package/generated/plugins/agdf/runtime/create-agdf/package.json +1 -1
  50. package/generated/plugins/agdf/runtime/runtime-manifest.json +2 -2
  51. package/generated/plugins/agdf/scripts/check-runtime-integrity.mjs +128 -6
  52. package/generated/plugins/agdf/skills/brownfield-analysis/SKILL.md +9 -0
  53. package/generated/plugins/agdf/skills/clean-implementation-review/SKILL.md +18 -0
  54. package/generated/plugins/agdf/skills/code-review/SKILL.md +17 -0
  55. package/generated/plugins/agdf/skills/gate-check/SKILL.md +11 -18
  56. package/generated/plugins/agdf/skills/qa-gate/SKILL.md +15 -5
  57. package/generated/plugins/agdf/skills/release-or/SKILL.md +1 -1
  58. package/generated/plugins/agdf/skills/task-plan-review/SKILL.md +33 -0
  59. package/generated/plugins/agdf/skills/ux-intent-definition/SKILL.md +94 -0
  60. package/generated/plugins/agdf/skills/ux-intent-definition/help.md +17 -0
  61. package/lib/cli/validation-handlers.js +2 -1
  62. package/lib/control-evaluation/gate-check.js +16 -25
  63. package/lib/installers/opencode.js +52 -4
  64. package/lib/interaction-presentation.js +80 -0
  65. package/lib/scaffold/plan.js +3 -0
  66. package/package.json +1 -1
package/README.md CHANGED
@@ -114,7 +114,7 @@ it does not localize the CLI lifecycle card.
114
114
  - `codex-repo` writes a repository-local Codex marketplace under `.agents/plugins/` and a local AGDF plugin copy under `plugins/agdf/`
115
115
  - `claude` installs the AGDF plugin globally for Claude Code
116
116
  - `copilot` writes `AGENTS.md`, Copilot custom instructions under `.github/`, visible repository skills under `.github/skills/`, and AGDF control templates under `.agdf/control/`
117
- - `opencode` installs the AGDF npm plugin and nine native skills as a user-wide OpenCode surface
117
+ - `opencode` installs the AGDF npm plugin and ten native skills as a user-wide OpenCode surface
118
118
  - `opencode-status` reports OpenCode global config, package loadability, global native-skill completeness, durable repository activation, legacy compatibility and observable session signals
119
119
  - `status` reports installation, repository activation and delivery separately without mutating state
120
120
  - `disable` writes a supported repository-local opt-out while retaining global capability and durable control state
@@ -161,7 +161,7 @@ npm create agdf@latest -- opencode-repo
161
161
  OpenCode loads the AGDF npm plugin and global native skills from global OpenCode config. Global adapters use the collision-safe `agdf-global-` prefix, including `agdf-global-gate-check`. `opencode-repo` adds the durable `.agdf/control/config.json` marker and control templates; it does not write `opencode.json`, `.opencode/AGDF.md`, copied contracts or copied skills.
162
162
  The global skills load on demand through OpenCode's native `skill` tool. Use `agdf-global-gate-check` first for new build/change intent or unclear approval. Existing local `.opencode/` assets remain supported as a compatibility path and are not deleted.
163
163
  The built-in `question` tool can present a gate choice, but `.agdf/control/` and exact post-response validation remain authoritative; technical permission and auto-mode outcomes never approve an AGDF gate. Explicit `permission.question: deny` remains unchanged and uses exact-text fallback.
164
- The global layer makes the nine native AGDF skills discoverable, but does not activate repository governance by itself. Global skills fail closed until the current repository has valid `.agdf/control/config.json`. Use `opencode-repo` to create the durable activation marker.
164
+ The global layer makes the ten native AGDF skills discoverable, but does not activate repository governance by itself. Global skills fail closed until the current repository has valid `.agdf/control/config.json`. Use `opencode-repo` to create the durable activation marker.
165
165
 
166
166
  ## Control scaffold
167
167
 
@@ -17,6 +17,18 @@ Status: `draft | done | not_applicable | superseded`
17
17
 
18
18
  What approved UR scope is being sized and routed?
19
19
 
20
+ ## UI / UX Impact Routing
21
+
22
+ - delivery_context: `greenfield | brownfield`
23
+ - ui_ux_impact: `none | low | medium | high`
24
+ - ui_ux_impact_reason:
25
+ - ux_intent_definition_required: `yes | no`
26
+ - ux_intent_definition_result: `ready | blocked | not_applicable`
27
+
28
+ Use the single classification contract in `meta/contracts/gate-transition.md`. A required `blocked`
29
+ result prevents PRD readiness. Greenfield explicitly marks existing-system evidence not applicable;
30
+ Brownfield cites repository evidence.
31
+
20
32
  ## Existing-System View
21
33
 
22
34
  | Area | Existing owner or artefact | Evidence | Impact |
@@ -11,31 +11,63 @@ Owner:
11
11
 
12
12
  What exactly must be delivered?
13
13
 
14
- ## 2. Acceptance Criteria
14
+ ## 2. UX Intent And Success
15
15
 
16
- Which observable outcomes must be true?
16
+ - ui_ux_impact: none | low | medium | high
17
+ - ux_intent_definition: <ready analysis reference | directly defined low-impact semantics | justified not_applicable>
18
+ - primary_user_intent:
19
+ - success_signal:
20
+ - primary_decision_or_action:
17
21
 
18
- ## 3. Non-Goals
22
+ Every field must be populated or explicitly justified as `not_applicable`. Medium/high impact requires
23
+ a `ready` UX Intent Definition result before this PRD is ready.
24
+
25
+ ## 3. Working Modes And Effective State
26
+
27
+ For every user-relevant working mode, define:
28
+
29
+ | working_mode | effective_state | visible_state_types | effective_state_authority | primary_state_presentation_owner |
30
+ |---|---|---|---|---|
31
+ | | | | | |
32
+
33
+ Product/system authority decides what is effectively true. Presentation ownership identifies the
34
+ primary surface that communicates state and next action. Technical storage, derivation and component
35
+ ownership remain Solution Design concerns.
36
+
37
+ ## 4. Activation, Blockers, Recovery And Transitions
38
+
39
+ - activation_and_deactivation:
40
+ - blockers_and_visible_next_actions:
41
+ - recovery_paths: <include visible retry for recoverable transient failure>
42
+ - relevant_state_transitions: <trigger, source, target, visible feedback, next action, failure/rollback>
43
+
44
+ ## 5. Acceptance Criteria
45
+
46
+ Every applicable UX criterion must include a stable `criterion_id`, `working_mode`, `source_state`,
47
+ trigger/action, expected effective state, visible feedback, blocker/failure behavior, recovery/next
48
+ action, observable success and required evidence. Specify observable behavior, not implementation.
49
+
50
+ ## 6. Non-Goals
19
51
 
20
52
  What remains out of scope?
21
53
 
22
- ## 4. Users And Roles
54
+ ## 7. Users And Roles
23
55
 
24
56
  Who is affected and who decides?
25
57
 
26
- ## 5. Constraints
58
+ ## 8. Constraints
27
59
 
28
60
  Which business, operational, legal, security or compatibility constraints apply?
29
61
 
30
- ## 6. Evidence Requirements
62
+ ## 9. Evidence Requirements
31
63
 
32
64
  Which evidence must later support QA?
33
65
 
34
- ## 7. Risks And Open Questions
66
+ ## 10. Risks And Open Questions
35
67
 
36
68
  Which questions must SD, TP or Brownfield Analysis clarify later?
37
69
 
38
- ## 8. Next Step
70
+ ## 11. Next Step
39
71
 
40
72
  Review this PRD and approve only with:
41
73
 
@@ -0,0 +1,51 @@
1
+ # UX Intent Definition: <Title>
2
+
3
+ Status: draft | ready | blocked | not_applicable
4
+ Decision: ready | blocked | not_applicable
5
+ Based on: approved UR and post-UR routing evidence
6
+ Date:
7
+ Owner:
8
+
9
+ This is non-authorizing analytical input. It is not a user-gate artefact, carries no approval and
10
+ grants no implementation permission. After PRD approval, the PRD is the sole product authority.
11
+
12
+ ## 1. Routing Evidence
13
+
14
+ - delivery_context: greenfield | brownfield
15
+ - ui_ux_impact: none | low | medium | high
16
+ - ui_ux_impact_reason:
17
+ - ux_intent_definition_required: yes | no
18
+
19
+ ## 2. Intent And Success
20
+
21
+ - primary_user_intent:
22
+ - success_signal:
23
+ - primary_decision_or_action:
24
+
25
+ ## 3. Working Modes And State
26
+
27
+ - working_modes:
28
+ - effective_state_by_mode:
29
+ - visible_state_types:
30
+ - effective_state_authority_by_mode:
31
+ - primary_state_presentation_owner_by_mode:
32
+
33
+ ## 4. Activation, Blockers, Recovery And Transitions
34
+
35
+ - activation_paths:
36
+ - blockers:
37
+ - recovery_paths:
38
+ - relevant_state_transitions:
39
+
40
+ ## 5. Proposed PRD Acceptance Criteria
41
+
42
+ - proposed_prd_acceptance_criteria:
43
+
44
+ ## 6. Decision Evidence
45
+
46
+ - blocking_reason:
47
+ - open_product_questions:
48
+ - affected_outputs:
49
+ - evidence:
50
+ - missing_evidence:
51
+ - required_next_step:
@@ -13,6 +13,7 @@ These repository skills were generated from the AGDF source repository and are i
13
13
  - `agdf-qa-gate`
14
14
  - `agdf-release-or`
15
15
  - `agdf-task-plan-review`
16
+ - `agdf-ux-intent-definition`
16
17
 
17
18
  ## Runtime contract
18
19
 
@@ -35,6 +35,11 @@ When `.agdf/control/` is present, persist or link `post_ur_review` output under
35
35
 
36
36
  Do not mix both modes silently. Name the active mode in the output.
37
37
 
38
+ In `post_ur_review`, also record `delivery_context`, `ui_ux_impact`, `ui_ux_impact_reason` and
39
+ `ux_intent_definition_required` using the single classification and routing contract in
40
+ `../contracts/gate-transition.md`. Greenfield records make existing-system evidence explicitly
41
+ not applicable; Brownfield records cite repository evidence. Do not create a second Greenfield router.
42
+
38
43
  ## Rules
39
44
  1. Brownfield first: understand the existing codebase before PRD/SD decisions when existing-system impact is possible, and again before implementation.
40
45
  2. Brownfield Review after `Approval: UR` is a sizing and routing step. It must visibly decide `quick_task`, `verified_change`, `structured_slice`, `structured_delivery`, or `block` before PRD depth or implementation is chosen. Persist the completed review and its decision, scope reason, evidence and required next gate in the same internal operation; mark the review `done` only after both the artefact and canonical run projection are complete. An interrupted, incomplete or legacy record stays at fail-closed `Mode/Slice Decision` recovery without another user approval.
@@ -124,6 +129,10 @@ Use a concise structure:
124
129
  - required_next_step:
125
130
  ```
126
131
 
132
+ For `post_ur_review`, include the four UI/UX routing fields immediately after `scope`. If UX intent
133
+ definition is required, its `ready | blocked | not_applicable` result must be visible before PRD
134
+ readiness. A required `blocked` result is at least `revise` for this routing step.
135
+
127
136
  ## Pass / Revise / Block Guidance
128
137
  - `pass`: existing owners are understood, reuse path is clear, and no blocking drift or parallel structure risk remains.
129
138
  - `revise`: relevant evidence, tests, ownership, or reuse path is incomplete.
@@ -24,6 +24,8 @@ Use these focused runtime-contract modules:
24
24
  - `../contracts/context-graph.md`
25
25
 
26
26
  Clean-review-specific output must make the primary solution, fallbacks, workarounds, parallel structures, exit criteria, and next cleanup/review step visible.
27
+ Applicable findings must use `../contracts/quality.md` §Normalized Review Gaps. This skill
28
+ must distinguish a missing upstream decision from implementation that violates an approved decision.
27
29
 
28
30
  ## Rules
29
31
  1. Clean primary solution before fallback.
@@ -35,6 +37,10 @@ Clean-review-specific output must make the primary solution, fallbacks, workarou
35
37
  7. Maintainability matters; "works somehow" is not enough.
36
38
  8. Async execute paths must not decide product rules again.
37
39
  9. Shared finalization or merge rules belong in one owner.
40
+ 10. Missing canonical ownership, fallback policy, exit criteria or parallel-structure decisions are
41
+ upstream gaps; do not invent those decisions during review.
42
+ 11. Actual code that violates an approved design or plan is an implementation gap.
43
+ 12. Missing, unknown or contradictory classifications fail closed and stay open.
38
44
 
39
45
  ## When To Use
40
46
  - after `CD+Tests`
@@ -89,6 +95,16 @@ Use this compact structure:
89
95
  - required_next_step:
90
96
  ```
91
97
 
98
+ When findings exist, append:
99
+
100
+ ```text
101
+ ## Normalized Findings
102
+ | finding_id | gap_type | routing_target | gap_status | evidence | required_next_step |
103
+ |---|---|---|---|---|---|
104
+ ```
105
+
106
+ Use the shared Quality Contract for meanings and routes; do not copy its complete mapping here.
107
+
92
108
  ## Pass / Revise / Block Guidance
93
109
  - `pass`: primary solution is clean, tested, and integrated with existing owners.
94
110
  - `revise`: solution works but contains avoidable fallback, unclear ownership, or missing evidence.
@@ -106,3 +122,5 @@ This skill must not:
106
122
  - hide unjustified workarounds
107
123
  - treat green tests as proof of solution integrity
108
124
  - decide final QA
125
+ - create a missing design, plan or product decision during review
126
+ - silently repair or reclassify an invalid normalized finding
@@ -23,6 +23,8 @@ Use these focused runtime-contract modules:
23
23
  - `../contracts/context-graph.md`
24
24
 
25
25
  Code-review-specific output must make actual findings, missing review scope, evidence strength, and the next required step visible.
26
+ Applicable findings must use `../contracts/quality.md` §Normalized Review Gaps. Concrete diff
27
+ defects remain Code Review findings; missing upstream constraints route to their authoritative owner.
26
28
 
27
29
  ## Rules
28
30
  1. Review the actual diff and impacted code, not intent alone.
@@ -33,6 +35,9 @@ Code-review-specific output must make actual findings, missing review scope, evi
33
35
  6. Brownfield owners and existing conventions are binding unless deviation is justified.
34
36
  7. Distinguish blocking defects from fixable review findings.
35
37
  8. CR does not grant QA pass.
38
+ 9. Do not turn Code Review into a static requirements checklist or invent missing upstream constraints.
39
+ 10. A genuinely new implementation risk uses `emergent_risk` with an explicit earliest-owner assessment.
40
+ 11. Missing, unknown or contradictory classifications fail closed and stay open.
36
41
 
37
42
  ## When To Use
38
43
  - after `CD+Tests`
@@ -81,6 +86,16 @@ Use this compact structure:
81
86
  - required_next_step:
82
87
  ```
83
88
 
89
+ When findings exist, append:
90
+
91
+ ```text
92
+ ## Normalized Findings
93
+ | finding_id | gap_type | routing_target | gap_status | evidence | required_next_step |
94
+ |---|---|---|---|---|---|
95
+ ```
96
+
97
+ Use the shared Quality Contract for meanings and routes; do not copy its complete mapping here.
98
+
84
99
  ## Decision Guidance
85
100
  - `pass`: no meaningful review finding remains evident in reviewed scope.
86
101
  - `revise`: fixable correctness, regression, or maintainability issues remain.
@@ -100,3 +115,5 @@ This skill must not:
100
115
  - hide missing review scope
101
116
  - generate style-only findings
102
117
  - duplicate TP Review or QA as if they were the same step
118
+ - invent a requirement, design decision or plan obligation to justify a finding
119
+ - silently repair or reclassify an invalid normalized finding
@@ -85,10 +85,11 @@ This skill owns only these operational responsibilities:
85
85
  5. Revalidate the same run, gate and revision immediately after the response and before persistence.
86
86
  6. Persist only a currently valid exact approval through the existing control-state workflow.
87
87
 
88
- For status, blocked, read-only or rationale interactions, consume the same canonical projection and
89
- locale contract without asking for approval. Internal process steps remain distinct from user
90
- decisions. If the projection, adapter evidence or revalidation is missing, follow the contract's
91
- fail-closed outcome and leave authority unchanged.
88
+ For status, blocked, read-only or rationale interactions, consume the canonical
89
+ `status_presentation.markdown` verbatim and apply the locale contract without asking for approval.
90
+ Do not reconstruct its fields, ordering, labels or Markdown from `status_card` JSON. Internal process
91
+ steps remain distinct from user decisions. If the projection, adapter evidence or revalidation is
92
+ missing, follow the contract's fail-closed outcome and leave authority unchanged.
92
93
 
93
94
  ## Rules
94
95
  1. Fail closed when a required approval or artefact status is missing.
@@ -163,23 +164,15 @@ If a status is not explicit, do not assume it is satisfied.
163
164
  12. If branch, workspace and durable artefacts disagree, do not choose a scope silently; report the ambiguity and ask for the smallest clarifying gate action.
164
165
 
165
166
  ## Output
166
- Keep the result short and operational. Render the Runtime Contract's compact human-facing Run Status Card rather than a surface-specific summary:
167
-
168
- | Run status | Value |
169
- |---|---|
170
- | Status | `open | blocked` |
171
- | Current gate | `<GateName or internal step>` |
172
- | Allowed now | `<currently allowed outputs>` |
173
- | Blocked by | `<blocking condition or none>` |
174
- | Missing approval | `Approval: <GateName> | none` |
175
- | Next step | `<single permissible next step>` |
176
- | Quality outlook | `<next meaningful quality focus or none>` |
177
-
178
- When an approval is missing, also include `Next gate after approval` and `Allowed after approval` exactly as constrained by the Runtime Contract. Keep forbidden outputs, evidence and next-skill detail in the concise surrounding text when relevant; they are not extra status-card rows.
167
+ Keep the result short and operational. For a status-only response, consume the Runtime Contract's
168
+ code-owned `status_presentation.markdown` verbatim. It is the compact localized operational Run
169
+ Status Card and already includes current and post-approval authority, next-step and quality fields.
170
+ Keep full raw evidence in `status_card` JSON or concise surrounding detail when relevant; do not turn
171
+ the primary chat card into an audit dump. Do not maintain or render a skill-local table template.
179
172
 
180
173
  This complete operational status table remains the status-reporting and detail
181
174
  surface. When the same response immediately requests a ready gate approval,
182
- render its six-field compact approval-time projection first, then the Gate
175
+ render its five-field compact approval-time projection first, then the Gate
183
176
  Transition Card in the same immediately preceding assistant message, then
184
177
  invoke exactly one native question or exact-text fallback. Both cards derive
185
178
  from the same snapshot and are shown exactly once.
@@ -11,6 +11,9 @@
11
11
  "en": {
12
12
  "statusCard": {
13
13
  "title": "AGDF status-card",
14
+ "status": "Status",
15
+ "field": "Status field",
16
+ "value": "Value",
14
17
  "run": "Selected run",
15
18
  "humanTitle": "Run title",
16
19
  "gate": "Current gate",
@@ -107,6 +110,7 @@
107
110
  "exactTextRequest": "To approve, reply exactly with `{approval}`; otherwise request revision or decline.",
108
111
  "decisionFollows": "will be the next user decision",
109
112
  "presentationFailure": "Approval cards could not be rendered safely.",
113
+ "statusPresentationFailure": "Status card could not render safely.",
110
114
  "nonReadyDecision": "No decision requested: {reason}.",
111
115
  "approveDescription": "Approve this gate with the exact authorization value.",
112
116
  "reviseLabel": "Revise",
@@ -214,6 +218,9 @@
214
218
  "de": {
215
219
  "statusCard": {
216
220
  "title": "AGDF-Statuskarte",
221
+ "status": "Status",
222
+ "field": "Statusfeld",
223
+ "value": "Wert",
217
224
  "run": "Ausgewählter Run",
218
225
  "humanTitle": "Run-Titel",
219
226
  "gate": "Aktuelles Gate",
@@ -310,6 +317,7 @@
310
317
  "exactTextRequest": "Zur Freigabe exakt mit `{approval}` antworten; andernfalls Überarbeitung anfordern oder ablehnen.",
311
318
  "decisionFollows": "ist die nächste Nutzerentscheidung",
312
319
  "presentationFailure": "Die Freigabekarten konnten nicht sicher dargestellt werden.",
320
+ "statusPresentationFailure": "Statuskarte nicht sicher darstellbar.",
313
321
  "nonReadyDecision": "Keine Entscheidung angefordert: {reason}.",
314
322
  "approveDescription": "Dieses Gate mit dem exakten Freigabewert autorisieren.",
315
323
  "reviseLabel": "Überarbeiten",
@@ -31,6 +31,8 @@ Use these focused runtime-contract modules:
31
31
  QA-specific `decision` is exactly `pass | revise | block`.
32
32
  `pass` is allowed only when TP coverage, Brownfield fit, solution integrity, and relevant documentation/Context Graph impact are sufficiently evidenced.
33
33
  `sot_drift` must not pass silently as a warning.
34
+ Consume applicable findings through `../contracts/quality.md` §Normalized Review Gaps.
35
+ QA must not maintain a second mapping or reclassify review findings.
34
36
 
35
37
  When post-CD+Tests review evidence exists, present the Runtime Contract's derived Quality
36
38
  Readiness projection before the detailed QA report: Plan coverage, Solution integrity, Code
@@ -48,6 +50,11 @@ Gate Transition Card or the durable QA report.
48
50
  6. Solution integrity is mandatory.
49
51
  7. Always output exactly one decision: `pass`, `revise`, or `block`.
50
52
  8. Open risks, missing tests, partial TP coverage, or side effects must be visible.
53
+ 9. Applicable UX Intent Fidelity rows must all be `fulfilled` with suitable visible evidence before `pass`.
54
+ 10. A `requirements_gap` routes to PRD revision; QA must not invent or accept the missing criterion.
55
+ 11. Any applicable normalized finding that is `open`, missing, unknown, contradictory or supported by
56
+ insufficient evidence prevents `pass`.
57
+ 12. A `resolved` finding counts only when its durable review evidence proves the routed correction or decision.
51
58
 
52
59
  ## When To Use
53
60
  - after `CD+Tests`
@@ -82,14 +89,16 @@ If evidence is missing, lower the decision accordingly.
82
89
  2. Verify TP coverage.
83
90
  3. Verify P0/P1 completion.
84
91
  4. Verify Brownfield fit.
85
- 5. Verify solution integrity.
86
- 6. Verify tests and evidence strength.
87
- 7. Verify documentation and Context Graph impact if relevant.
88
- 8. Decide:
92
+ 5. Verify UX Intent Fidelity when applicable, including visible evidence for visible-behavior claims.
93
+ 6. Consume normalized findings without reclassification; fail closed on every open or invalid row.
94
+ 7. Verify solution integrity.
95
+ 8. Verify tests and evidence strength.
96
+ 9. Verify documentation and Context Graph impact if relevant.
97
+ 10. Decide:
89
98
  - `pass`
90
99
  - `revise`
91
100
  - `block`
92
- 9. State the single required next step.
101
+ 11. State the single required next step.
93
102
 
94
103
  ## Output
95
104
  Use this shape:
@@ -125,3 +134,4 @@ This skill must not:
125
134
  - replace UAT
126
135
  - treat missing reviews as completed
127
136
  - downgrade SoT drift to harmless warning
137
+ - silently repair, normalize or reroute a review finding
@@ -52,7 +52,7 @@ Use the Runtime Contract definition of `Relevant Run` to decide whether OR is ma
52
52
  13. Keep machine status normalization in the CLI; do not write internal snake_case status values into the human-facing backlog.
53
53
  14. Reconcile Context Graph impact before clean closeout: report `context_graph_reconciliation: resolved | not_applicable | open_gap`.
54
54
  15. If Context Graph work remains unresolved, report it as an explicit open gap and do not describe the run as cleanly handoff-ready.
55
- 15. After writing or updating `MASTER_BACKLOG.md`, run `doctor --json` (or the locally available equivalent) and resolve any `AGDF_BACKLOG_STATUS_UNKNOWN` or `AGDF_BACKLOG_ARTEFACT_LABEL_UNKNOWN` finding before closeout. See the AGDF control scaffold's `MASTER_BACKLOG.md` template Rules section for the canonical status/artefact label vocabulary.
55
+ 16. After writing or updating `MASTER_BACKLOG.md`, run `doctor --json` (or the locally available equivalent) and resolve any `AGDF_BACKLOG_STATUS_UNKNOWN` or `AGDF_BACKLOG_ARTEFACT_LABEL_UNKNOWN` finding before closeout. See the AGDF control scaffold's `MASTER_BACKLOG.md` template Rules section for the canonical status/artefact label vocabulary.
56
56
 
57
57
  ## When To Use
58
58
  - at the end of every relevant run
@@ -27,6 +27,8 @@ Use these focused runtime-contract modules:
27
27
 
28
28
  TP-specific output must evaluate every relevant `task_id` with completion status, AC coverage, evidence, missing evidence, and QA-relevant gaps.
29
29
  If `context_graph_required_action` is not `none`, the affected task is complete only if follow-up, evidence, or an intentionally open gap is visible.
30
+ Applicable review gaps must use `../contracts/quality.md` §Normalized Review Gaps. This skill
31
+ must not maintain its own type-to-route mapping.
30
32
 
31
33
  ## Rules
32
34
  1. The Task Plan is the reference, not plausible code.
@@ -39,6 +41,12 @@ If `context_graph_required_action` is not `none`, the affected task is complete
39
41
  8. P0/P1 gaps must be handed to QA.
40
42
  9. Out-of-scope changes must be reported.
41
43
  10. When evidence is unclear, fail closed to at least `partially_done`.
44
+ 11. When approved PRD UX criteria apply, verify both PRD-to-TP coverage and TP-to-code/surface fulfilment.
45
+ 12. Never invent a missing UX requirement. Report `requirements_gap` and route it to PRD revision.
46
+ 13. Visible behavior requires visible evidence; code evidence alone is `not_verifiable`.
47
+ 14. A fulfilled UX Intent Fidelity row uses `none`; every non-fulfilled applicable row uses one
48
+ normalized gap type and a contract-valid route.
49
+ 15. Missing, unknown or contradictory classifications fail closed and stay open.
42
50
 
43
51
  ## Clarifications
44
52
  ### TP Slice Before Target State
@@ -90,6 +98,27 @@ Use this compact structure:
90
98
  - required_next_step:
91
99
  ```
92
100
 
101
+ When applicable, append:
102
+
103
+ ```text
104
+ ## UX Intent Fidelity
105
+ | prd_criterion | working_mode_state | task_id | visible_evidence | fidelity_status | gap_type |
106
+ |---|---|---|---|---|---|
107
+ ```
108
+
109
+ Use `fulfilled | partial | missing | not_verifiable` for `fidelity_status` and
110
+ the shared Quality Contract for `gap_type`. `none` is allowed only on a fulfilled row.
111
+
112
+ When an applicable gap needs routing detail, append:
113
+
114
+ ```text
115
+ ## Normalized Findings
116
+ | finding_id | gap_type | routing_target | gap_status | evidence | required_next_step |
117
+ |---|---|---|---|---|---|
118
+ ```
119
+
120
+ Use only contract-defined values. Do not reconstruct the type-to-route mapping locally.
121
+
93
122
  Completion status:
94
123
 
95
124
  - `fully_done`
@@ -122,3 +151,7 @@ This skill must not:
122
151
  - hide partial work
123
152
  - upgrade missing evidence into confidence
124
153
  - reinterpret the TP scope
154
+ - create or silently repair product requirements
155
+ - treat code existence as visible UX evidence
156
+ - emit `none` as a normalized finding type
157
+ - silently repair or reclassify an invalid finding
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: agdf-ux-intent-definition
3
+ description: Use this skill after approved UR and post-UR routing when UI/UX impact is medium or high, or low with ambiguous product semantics, to define user intent, success, working modes, effective state, visible state ownership, activation, blockers, recovery and transitions as structured PRD input; fail closed when evidence or product decisions are unresolved. This internal analysis never grants gate permission or replaces the approved PRD.
4
+ ---
5
+
6
+ # ux-intent-definition
7
+
8
+ ## Purpose
9
+
10
+ Create structured, testable UX intent input before PRD approval so implementation reviews verify an
11
+ approved product promise instead of inventing requirements after code exists.
12
+
13
+ ## Runtime Contract
14
+
15
+ Use:
16
+
17
+ - `../contracts/gate-transition.md` for impact routing, authority and revision behavior;
18
+ - `../contracts/quality.md` for evidence and fail-closed output discipline.
19
+
20
+ ## Authority
21
+
22
+ This is an internal analytical skill, not a user gate. It cannot approve artefacts, grant
23
+ implementation permission, change approved UR/PRD intent, prescribe technical design or become a
24
+ parallel product source of truth. Proposed criteria become authoritative only when incorporated into
25
+ and approved as PRD content. Technical storage, derivation and component ownership remain SD concerns.
26
+
27
+ ## Inputs
28
+
29
+ - approved UR and its intent, success signal, primary action and persona/context;
30
+ - post-UR `delivery_context`, `ui_ux_impact`, reason and required flag;
31
+ - existing behavior/ownership evidence for Brownfield work;
32
+ - known working modes, state semantics, activation, blockers, recovery and transitions.
33
+
34
+ ## Workflow
35
+
36
+ 1. Confirm the approved UR and routing evidence. If required evidence is absent or conflicts, block.
37
+ 2. Identify the primary user intent, observable success and primary decision/action.
38
+ 3. For every relevant working mode, define effective state and visible state types.
39
+ 4. Separate `effective_state_authority_by_mode` from
40
+ `primary_state_presentation_owner_by_mode`; do not turn either into technical ownership.
41
+ 5. Define activation/deactivation, blockers with visible next actions, actionable recovery (including
42
+ visible retry for recoverable transient failure) and relevant state transitions.
43
+ 6. Propose observable PRD acceptance criteria and identify open product questions.
44
+ 7. Return exactly one decision: `ready | blocked | not_applicable`.
45
+
46
+ ## Decision Rules
47
+
48
+ - `ready`: every required output is reliable enough for PRD drafting.
49
+ - `blocked`: user intent, modes, effective state, authority, activation, blockers, recovery, transitions
50
+ or Brownfield evidence is missing, contradictory or materially ambiguous.
51
+ - `not_applicable`: routing proves that no relevant user-facing intent, state or recovery behavior changes.
52
+
53
+ A conflict with approved UR routes to UR revision. A material product change discovered after PRD
54
+ approval routes to PRD revision, or UR revision when intent/scope changes. Never resolve the conflict
55
+ silently. A required blocked result prevents PRD readiness.
56
+
57
+ ## Output
58
+
59
+ Populate each field or use an explicit, justified `not_applicable`:
60
+
61
+ ```text
62
+ - decision: ready | blocked | not_applicable
63
+ - blocking_reason:
64
+ - primary_user_intent:
65
+ - success_signal:
66
+ - primary_decision_or_action:
67
+ - working_modes:
68
+ - effective_state_by_mode:
69
+ - visible_state_types:
70
+ - effective_state_authority_by_mode:
71
+ - primary_state_presentation_owner_by_mode:
72
+ - activation_paths:
73
+ - blockers:
74
+ - recovery_paths:
75
+ - relevant_state_transitions:
76
+ - proposed_prd_acceptance_criteria:
77
+ - open_product_questions:
78
+ - affected_outputs:
79
+ - evidence:
80
+ - missing_evidence:
81
+ - required_next_step:
82
+ ```
83
+
84
+ For `blocked`, `blocking_reason`, `open_product_questions`, `affected_outputs`, `evidence`,
85
+ `missing_evidence` and `required_next_step` are mandatory. When durable control state exists, write
86
+ the result to `.agdf/control/artefacts/<key>/UX_INTENT_DEFINITION.md` without a Gate or approval field.
87
+
88
+ ## Forbidden
89
+
90
+ - invent product intent or silently choose between conflicting modes/state authorities;
91
+ - bypass UR/PRD revision or claim PRD readiness from a blocked result;
92
+ - add a gate, approval value or implementation permission;
93
+ - prescribe components, persistence, endpoints, styles or other technical design;
94
+ - treat supporting analysis as authoritative beside the approved PRD.
@@ -99,6 +99,31 @@ Mode/Slice Decision rules:
99
99
 
100
100
  A Mode/Slice Decision without scope reason and evidence is not recorded. Treat it as missing and keep the next step at `Mode/Slice Decision`.
101
101
 
102
+ ### UI/UX Impact And UX Intent Definition
103
+
104
+ The existing `agdf-brownfield-analysis` `post_ur_review` mode is the single proportional routing owner for
105
+ both Greenfield and Brownfield delivery. It records:
106
+
107
+ - `delivery_context: greenfield | brownfield`
108
+ - `ui_ux_impact: none | low | medium | high`
109
+ - `ui_ux_impact_reason`
110
+ - `ux_intent_definition_required: yes | no`
111
+
112
+ Classify impact as:
113
+
114
+ - `none`: no user-facing capability, decision, state, feedback or recovery behavior changes;
115
+ - `low`: a bounded user-facing change preserves unambiguous intent, working modes, effective-state,
116
+ activation and recovery semantics;
117
+ - `medium`: a bounded capability materially changes its primary action, working mode, effective
118
+ state, visible state type, blocker, activation or recovery behavior; or
119
+ - `high`: the change spans capabilities or modes, creates competing or safety-relevant authority,
120
+ adds high-consequence decisions or materially changes cross-surface activation and recovery.
121
+
122
+ `medium | high` requires `agdf-ux-intent-definition` before PRD readiness. `low` requires it when any
123
+ mandatory PRD UX semantics remain ambiguous. `none` records the analytical decision
124
+ `not_applicable`. The skill is an internal, non-authorizing step: it adds no gate, approval value or
125
+ implementation permission. A required `blocked` result keeps PRD readiness closed.
126
+
102
127
 
103
128
  ## Gate Transition Model
104
129
 
@@ -40,6 +40,29 @@ It must not introduce a second gate model or override `agdf-gate-check`, `delive
40
40
 
41
41
  `next_gate_after_approval` and `allowed_after_approval` must be `none` when no approval is missing, when the current step is internal, or when the run is in OR/completed handoff. They must not imply implementation, QA, release, commit, push or PR authority unless the existing gate model already allows that authority.
42
42
 
43
+ ### Deterministic Operational Presentation
44
+
45
+ `status_card` is the canonical machine/audit projection. The same evaluation also exposes an additive
46
+ `status_presentation` object with selected run/revision/gate/locale identity, `semantic_block:
47
+ run_status_card`, one compact Markdown block with localized labels and canonical evaluated values,
48
+ and `authorizes: false`. The full raw and evidence-bearing projection remains available unchanged in
49
+ `status_card` JSON for audit and automation; it is not duplicated into the primary chat card.
50
+ Fresh legacy-compatible control state without a durable revision uses the explicit non-authorizing
51
+ identity `unversioned`; ready approval presentation remains impossible without a real revision.
52
+
53
+ `interaction-presentation.js` is the only owner that may select, label, order, localize and render the
54
+ operational status fields. The gate-check CLI, skills and surface adapters consume
55
+ `status_presentation.markdown` verbatim. They may add concise surrounding explanation, but they must
56
+ not reconstruct a table, omit or rename fields, substitute generic gate actions for evaluated
57
+ `allowed_now`/`forbidden_now`, or maintain another status-card template. If the projection is missing
58
+ or its selected run, revision, gate or locale identity is stale, presentation fails closed rather
59
+ than falling back to model-generated status Markdown.
60
+
61
+ This determinism protects semantic parity, permission boundaries and evidence visibility across
62
+ hosts. It does not standardize host chrome or unrelated conversational prose. `approval_presentation`
63
+ remains the separate decision-time projection and is present only for a ready user gate; both public
64
+ presentations derive from the same `status_card` snapshot and neither grants approval.
65
+
43
66
 
44
67
  ### Breadcrumb
45
68