create-agdf 0.7.0 → 0.7.2
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.
- package/README.md +43 -5
- package/bin/create-agdf.js +186 -10
- package/generated/.agdf/control/README.md +2 -1
- package/generated/.agdf/control/templates/AGDF_RUN.md +4 -3
- package/generated/.agdf/control/templates/RUN_STATE.md +2 -1
- package/generated/.agdf/control/templates/artefacts/BROWNFIELD_REVIEW.md +1 -1
- package/generated/.agdf/control/templates/artefacts/VERIFIED_CHANGE.md +48 -0
- package/generated/.github/skills/agdf-gate-check/SKILL.md +27 -0
- package/generated/.github/skills/agdf-runtime-contract.md +76 -5
- package/generated/.opencode/AGDF.md +5 -4
- package/generated/.opencode/README.md +2 -1
- package/generated/.opencode/agdf-runtime-contract.md +76 -5
- package/generated/.opencode/skills/agdf-gate-check/SKILL.md +27 -0
- package/generated/AGENTS.md +3 -3
- package/generated/opencode.json +1 -0
- package/generated/plugins/agdf/.codex-plugin/plugin.json +2 -2
- package/generated/plugins/agdf/control/README.md +2 -1
- package/generated/plugins/agdf/control/templates/AGDF_RUN.md +4 -3
- package/generated/plugins/agdf/control/templates/RUN_STATE.md +2 -1
- package/generated/plugins/agdf/control/templates/artefacts/BROWNFIELD_REVIEW.md +1 -1
- package/generated/plugins/agdf/control/templates/artefacts/VERIFIED_CHANGE.md +48 -0
- package/generated/plugins/agdf/meta/agdf-agent-router.md +3 -3
- package/generated/plugins/agdf/meta/agdf-constitution.md +3 -3
- package/generated/plugins/agdf/meta/agdf-plugin.definition.json +32 -2
- package/generated/plugins/agdf/meta/agdf-runtime-contract.md +76 -5
- package/generated/plugins/agdf/meta/agdf-tenets.md +5 -0
- package/generated/plugins/agdf/skills/gate-check/SKILL.md +27 -0
- package/package.json +4 -2
|
@@ -27,6 +27,20 @@ Use this compact output shape when no formal gate artefact is required:
|
|
|
27
27
|
|
|
28
28
|
Do not add a separate `Quality outlook` line for pure Quick Tasks unless the task became a relevant run.
|
|
29
29
|
|
|
30
|
+
### Verified Change
|
|
31
|
+
|
|
32
|
+
`verified_change` is a compact, fail-closed path for a bounded user-visible change with one canonical owner and deterministic proof. It is neither a prose exception nor a new user approval gate.
|
|
33
|
+
|
|
34
|
+
After `Approval: UR`, Brownfield Review may select `verified_change` only when a durable `VERIFIED_CHANGE.md` record can prove all of the following before implementation:
|
|
35
|
+
|
|
36
|
+
1. exactly one repository-relative canonical owner and bounded source/derived paths;
|
|
37
|
+
2. no gate, permission, security, persistence, architecture, external API, CLI or release behavior impact;
|
|
38
|
+
3. deterministic propagation when derived paths exist, plus at least one deterministic validation command;
|
|
39
|
+
4. tracked and untracked worktree baseline paths captured before eligibility, with no candidate path already dirty; and
|
|
40
|
+
5. an explicit `structured_slice` or `structured_delivery` escalation target.
|
|
41
|
+
|
|
42
|
+
The record is the compact eligibility, execution and mini-closeout artefact. A missing, failed, unknown or ambiguous field/check must fail closed: mark the record `escalated` and continue at its declared structured target. Unrelated paths already dirty at baseline remain isolated; newly introduced unlisted paths invalidate the compact path. An executed record requires passing validation evidence and, where applicable, passing propagation evidence.
|
|
43
|
+
|
|
30
44
|
### Non-Normative Trivial Change Boundary
|
|
31
45
|
|
|
32
46
|
A `quick_task` whose entire diff stays fully outside all of the following paths may close using only
|
|
@@ -68,10 +82,10 @@ the full existing ceremony unchanged:
|
|
|
68
82
|
When a run needs an operational status view, use the Run Status Card as a compact projection of existing control state.
|
|
69
83
|
It must not introduce a second gate model or override `agdf-gate-check`, `delivery-map`, QA, OR, or user approvals.
|
|
70
84
|
|
|
71
|
-
- `mode`: `quick_task | structured_delivery | unknown`
|
|
85
|
+
- `mode`: `quick_task | verified_change | structured_delivery | unknown`
|
|
72
86
|
- `status`: `open | blocked | pass | warn | revise | block | in_progress`
|
|
73
87
|
- `current_gate`: current user gate or internal step
|
|
74
|
-
- `mode_slice_decision`: `undecided | quick_task | structured_slice | structured_delivery | block`
|
|
88
|
+
- `mode_slice_decision`: `undecided | quick_task | verified_change | structured_slice | structured_delivery | block`
|
|
75
89
|
- `allowed_now`: outputs or actions currently permitted
|
|
76
90
|
- `forbidden_now`: outputs or actions currently forbidden
|
|
77
91
|
- `blocking_condition`: current blocker or `none`
|
|
@@ -232,7 +246,7 @@ section or any other existing line.
|
|
|
232
246
|
## Gate Rules
|
|
233
247
|
|
|
234
248
|
- User gates: `UR -> PRD -> SD -> TP -> QA -> UAT`
|
|
235
|
-
- Internal mandatory steps: `Brownfield Review -> Mode/Slice Decision -> Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
249
|
+
- Internal mandatory steps: `Brownfield Review -> Mode/Slice Decision -> Verified Change Execution | Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
236
250
|
- On the approved-TP path, `CD+Tests` and `CR` are satisfied only by `done`; `not_applicable` may satisfy Brownfield Review or Brownfield Analysis, but it must not bypass implementation/test evidence or mandatory Code Review.
|
|
237
251
|
- Exact approval formula: `Approval: <GateName>`
|
|
238
252
|
- Legacy alias: `Freigabe: <GateName>` may be accepted when reviewing older German runs, but all new outputs must use `Approval: <GateName>`.
|
|
@@ -254,6 +268,58 @@ section or any other existing line.
|
|
|
254
268
|
- `agdf-release-or` reports the run, but does not replace QA or produce the operative commit/PR handoff.
|
|
255
269
|
- `agdf-delivery-closeout` owns the operative Git handoff text when QA/OR/UAT state allows it.
|
|
256
270
|
|
|
271
|
+
## Native Interaction Contract
|
|
272
|
+
|
|
273
|
+
Native host controls improve how a decision is presented; they do not create a second approval model or authority source.
|
|
274
|
+
|
|
275
|
+
Every AGDF interaction belongs to exactly one semantic kind:
|
|
276
|
+
|
|
277
|
+
- `clarification`: asks for missing intent or a choice that does not itself authorize a gated transition.
|
|
278
|
+
- `tool_permission`: requests host-owned authority for a command, file change, network access, external path, app action or comparable technical side effect.
|
|
279
|
+
- `gate_approval`: requests deliberate user input for the one current AGDF user gate after its durable artefact and selected run are ready.
|
|
280
|
+
|
|
281
|
+
The semantic interaction envelope is:
|
|
282
|
+
|
|
283
|
+
```text
|
|
284
|
+
interaction_kind: clarification | tool_permission | gate_approval
|
|
285
|
+
surface: codex | claude | opencode | fallback
|
|
286
|
+
run_id: required for gate_approval
|
|
287
|
+
current_gate: required for gate_approval
|
|
288
|
+
prompt: required
|
|
289
|
+
options: required for a structured question
|
|
290
|
+
effects: required when the interaction can cause side effects
|
|
291
|
+
required_evidence: required for gate_approval
|
|
292
|
+
auto_resolution: forbidden for gate_approval
|
|
293
|
+
response_origin: deliberate_user_input for gate_approval
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
This envelope is not a new persisted record. The selected canonical `RUN_STATE.md` and existing artefact chain remain the durable authority.
|
|
297
|
+
|
|
298
|
+
Before presenting `gate_approval`, the agent must:
|
|
299
|
+
|
|
300
|
+
1. resolve exactly one selected run;
|
|
301
|
+
2. run the canonical gate evaluation and confirm that the current gate's durable artefact is present and ready;
|
|
302
|
+
3. ask exactly one gate question that identifies `run_id` and `current_gate` and offers the exact approving value `Approval: <GateName>` plus bounded revise and cancel/decline outcomes;
|
|
303
|
+
4. wait for deliberate user input without a timeout, default, preselection, hook-supplied answer or agent-to-agent substitute;
|
|
304
|
+
5. re-run canonical gate evaluation against the same `run_id` and expected gate immediately before persistence;
|
|
305
|
+
6. reject missing evidence, ambiguous or wrong run, wrong gate, stale state and any response that is no longer valid;
|
|
306
|
+
7. persist an accepted approval only through the existing control-state workflow.
|
|
307
|
+
|
|
308
|
+
A free-form native response is valid only when the existing exact-approval validator accepts it for the current gate after revalidation. Revise, decline and cancel outcomes never advance a gate.
|
|
309
|
+
|
|
310
|
+
Surface adapter rules:
|
|
311
|
+
|
|
312
|
+
| Surface | Native question adapter | Gate-safe use | Technical permission boundary |
|
|
313
|
+
|---|---|---|---|
|
|
314
|
+
| Codex | native `request_user_input` or equivalent short-question control when callable | one gate question; omit auto-resolution; otherwise use exact text | Codex command, edit, network, external-directory and app-action approvals remain host-owned `tool_permission`. |
|
|
315
|
+
| Claude Code | `AskUserQuestion` | use only when no timeout can auto-continue and no hook supplies `answers` or `updatedInput`; otherwise use exact text | Claude permissions and `ExitPlanMode` are not AGDF approval. |
|
|
316
|
+
| OpenCode | built-in `question` | use with exact approval/revise/cancel options when `permission.question` permits it; explicit user deny selects exact-text fallback | `once`, `always`, `reject`, permission suggestions and auto mode are technical outcomes only. |
|
|
317
|
+
| Fallback or non-interactive | concise exact text | wait for a new explicit user response; never synthesize or auto-resolve one | Host-specific technical permission remains separate. |
|
|
318
|
+
|
|
319
|
+
Native structured questions are for real decision points. Prefer repository inspection over clarification and do not show them for status reporting, discoverable facts, routine read-only work or repeated non-ready gate prompts.
|
|
320
|
+
|
|
321
|
+
Exact textual approvals remain canonical and fully supported on every surface. If native capability availability or safety is unknown, use the textual fallback. Host permission, plan approval, native question presentation, timeout/default behavior, hook output and agent messages never carry AGDF gate authority by themselves.
|
|
322
|
+
|
|
257
323
|
## Brownfield Review After G-00
|
|
258
324
|
|
|
259
325
|
After an approved and durable UR, perform a lightweight `Brownfield Review` before PRD when Brownfield, UI, UX, admin, runtime, policy, persistence, architecture, ownership or source-of-truth impact is possible.
|
|
@@ -264,7 +330,7 @@ It is the sizing and routing step that decides how much later gate discipline is
|
|
|
264
330
|
Its output is limited to:
|
|
265
331
|
|
|
266
332
|
- workstream or follow-up-slice classification
|
|
267
|
-
- `Mode/Slice Decision`: `quick_task | structured_slice | structured_delivery | block`
|
|
333
|
+
- `Mode/Slice Decision`: `quick_task | verified_change | structured_slice | structured_delivery | block`
|
|
268
334
|
- affected existing owners, source-of-truth artefacts, contracts, policies, runtime paths or tests
|
|
269
335
|
- reuse-before-create risks and parallel-structure risks
|
|
270
336
|
- open questions that PRD or SD must resolve
|
|
@@ -273,6 +339,7 @@ Its output is limited to:
|
|
|
273
339
|
Mode/Slice Decision rules:
|
|
274
340
|
|
|
275
341
|
- `quick_task`: use only when Brownfield Review shows a narrow local change, no new product semantics beyond the approved UR, no architecture/policy/persistence/contract expansion, and evidence is sufficient to proceed with a small implementation plus relevant checks.
|
|
342
|
+
- `verified_change`: use only when the compact record can prove one canonical owner, bounded clean-at-baseline paths, no prohibited impact, deterministic propagation/validation and a structured escalation target. It skips later approvals only after every condition is evidenced and machine-validated.
|
|
276
343
|
- `structured_slice`: use when some formal artefacts are needed, but they can stay intentionally small and scoped to the approved slice.
|
|
277
344
|
- `structured_delivery`: use when the change has broad product, architecture, runtime, policy, persistence, release or cross-owner impact.
|
|
278
345
|
- `block`: use when ownership, SoT, impact, evidence or product direction is not clear enough to choose a safe path.
|
|
@@ -287,8 +354,12 @@ This table is the canonical transition model. Skills may reference it, but must
|
|
|
287
354
|
|---|---|---|---|---|
|
|
288
355
|
| No approved UR | `UR` | clarify user need, formulate and persist UR, request `Approval: UR` | PRD, SD, TP, Brownfield Analysis, implementation, QA, release | `Approval: UR` |
|
|
289
356
|
| `UR` approved and UR artefact persisted or linked, Brownfield Review missing | `Brownfield Review` | classify workstream, existing owners, SoT, reuse risks, change size and PRD/SD open questions; mark review done or not_applicable | PRD, SD, TP, implementation, QA, release | none |
|
|
290
|
-
| Brownfield Review done or not_applicable, Mode/Slice Decision missing or incomplete | `Mode/Slice Decision` | decide `quick_task`, `structured_slice`, `structured_delivery` or `block`; record scope reason, evidence and required next gate depth | PRD, SD, TP, implementation, QA, release | none |
|
|
357
|
+
| Brownfield Review done or not_applicable, Mode/Slice Decision missing or incomplete | `Mode/Slice Decision` | decide `quick_task`, `verified_change`, `structured_slice`, `structured_delivery` or `block`; record scope reason, evidence and required next gate depth | PRD, SD, TP, implementation, QA, release | none |
|
|
291
358
|
| Mode/Slice Decision is `quick_task` | `Quick Task Execution` | implement only the narrow approved UR scope, run relevant checks, record evidence and OR-lite when the run is relevant | broad PRD/SD/TP by ritual, scope expansion, QA or release claims without evidence | none |
|
|
359
|
+
| Mode/Slice Decision is `verified_change`, record missing/draft/invalid | `Verified Change Execution` | create or repair compact record, capture baseline and prove eligibility with doctor/agdf-gate-check | implementation, QA, UAT, release | none |
|
|
360
|
+
| Verified Change record is `eligible` | `Verified Change Execution` | implement only declared paths, run declared propagation/validation, record mini-closeout | unlisted paths, prohibited impacts, QA/UAT/release claims | none |
|
|
361
|
+
| Verified Change record is `executed` | `OR` | use mini-closeout and offer delivery closeout when requested | PRD/SD/TP/QA/UAT by ritual; automatic VCS actions | none |
|
|
362
|
+
| Verified Change record is `escalated` | `PRD` | draft the PRD for declared `structured_slice` or `structured_delivery` escalation target | implementation through Verified Change | `Approval: PRD` |
|
|
292
363
|
| Mode/Slice Decision is `structured_slice` or `structured_delivery`, PRD missing or draft | `PRD` | draft/refine PRD at the smallest justified depth, define scope, acceptance criteria and non-goals, persist/link PRD, request `Approval: PRD` | SD, TP, implementation-preparation Brownfield Analysis, implementation, QA, release | `Approval: PRD` |
|
|
293
364
|
| `PRD` approved and PRD artefact persisted or linked, SD missing or draft | `SD` | draft/refine Solution Design, ownership and architecture, persist/link SD, request `Approval: SD` | TP, implementation, QA, release | `Approval: SD` |
|
|
294
365
|
| `SD` approved and SD artefact persisted or linked, TP missing or draft | `TP` | draft/refine Task/Test Plan, task IDs, evidence plan, persist/link TP, request `Approval: TP` | implementation, QA, release | `Approval: TP` |
|
|
@@ -26,7 +26,7 @@ Codex and Claude Code plugin surfaces use unprefixed skill names because their p
|
|
|
26
26
|
## Mode Selection
|
|
27
27
|
Default entry rule: a new user intent to build, add, change, extend, refactor or otherwise deliver something starts with `agdf-gate-check` unless it is clearly only a question, explanation, local inspection, or explicitly scoped review.
|
|
28
28
|
|
|
29
|
-
Use Quick Task Mode for questions, small reviews, local debugging and narrow fixes without new product semantics.
|
|
29
|
+
Use Quick Task Mode for questions, small reviews, local debugging and narrow fixes without new product semantics. Use Verified Change only after approved UR and Brownfield Review when the Runtime Contract's compact record can prove bounded ownership, clean-at-baseline paths, prohibited-impact absence and deterministic validation.
|
|
30
30
|
|
|
31
31
|
Use Structured Delivery Mode for new capabilities, architecture, policy, persistence, release-critical work, formal artefacts or explicit approvals.
|
|
32
32
|
|
|
@@ -38,9 +38,9 @@ Those phrases may express intent to proceed, but they do not unlock a gate unles
|
|
|
38
38
|
Do not infer active scope from branch names, uncommitted workspace deltas, chat history or generated summaries when durable artefacts point elsewhere.
|
|
39
39
|
If multiple active scopes are plausible, list the evidenced lines and route to `agdf-gate-check` or workstate clarification instead of choosing silently.
|
|
40
40
|
After `Approval: UR`, run lightweight Brownfield Review before PRD when Brownfield, ownership, runtime, policy, persistence, architecture, UI or UX impact is possible.
|
|
41
|
-
Brownfield Review must produce a Mode/Slice Decision: `quick_task`, `structured_slice`, `structured_delivery` or `block`.
|
|
41
|
+
Brownfield Review must produce a Mode/Slice Decision: `quick_task`, `verified_change`, `structured_slice`, `structured_delivery` or `block`.
|
|
42
42
|
Make that decision visible before coding or drafting later artefacts: state the selected path, scope reason, evidence and next required gate in the live control state or linked artefact.
|
|
43
|
-
Do not assume the full PRD/SD/TP chain before that decision; use only as much gate depth as the reviewed change size justifies.
|
|
43
|
+
Do not assume the full PRD/SD/TP chain before that decision; use only as much gate depth as the reviewed change size justifies. A user-visible change is not automatically Verified Change eligible; any missing or ambiguous record condition escalates to the declared structured target before implementation.
|
|
44
44
|
|
|
45
45
|
Quick Task Mode must still use the Runtime Contract mini-output: `result`, `evidence`, `risk`, `next_step`.
|
|
46
46
|
Narrow defect work may use the Runtime Contract's Bug Lightweight Track only when a durable bug artefact or linked authoritative issue carries reproduction, actual behavior, expected behavior, fix boundary and evidence plan.
|
|
@@ -108,6 +108,7 @@ For relevant runs that change durable state, code, artefacts or gate status:
|
|
|
108
108
|
- For new build/change intent or unclear approval, load the `agdf-gate-check` skill before later artefacts or implementation.
|
|
109
109
|
- The AGDF OpenCode plugin is loaded from npm through `opencode.json` `plugin: ["create-agdf"]`.
|
|
110
110
|
- Use `npx --yes @agdf/cli@latest opencode-status --json` to verify global config, package loadability, global native-skill completeness, active session signals and repository surface presence separately.
|
|
111
|
-
- OpenCode permissions keep `edit` and `bash` on explicit approval and allow the generated `agdf-*` skills explicitly; global adapters use the `agdf-global-*` namespace.
|
|
111
|
+
- OpenCode permissions allow the built-in `question` tool, keep `edit` and `bash` on explicit approval and allow the generated `agdf-*` skills explicitly; global adapters use the `agdf-global-*` namespace.
|
|
112
|
+
- An explicit user `permission.question: deny` remains authoritative and selects the exact-text AGDF fallback; never convert an OpenCode permission outcome or auto mode into gate approval.
|
|
112
113
|
- Shared output and gate rules live in `.opencode/agdf-runtime-contract.md`.
|
|
113
114
|
- Do not paste full control files, templates or artefact bodies into chat unless the user explicitly asks for the full content; summarize and link paths instead.
|
|
@@ -5,7 +5,8 @@ These files were generated from the AGDF source repository for OpenCode.
|
|
|
5
5
|
- `opencode.json` loads the npm plugin `create-agdf` and `.opencode/AGDF.md` as repository instructions.
|
|
6
6
|
- AGDF for OpenCode has a global npm/native-skill discoverability layer and this repository-local governance surface.
|
|
7
7
|
- The global plugin and skills do not replace `.opencode/AGDF.md`, `.opencode/skills/` or `.agdf/control/`; repository files remain the AGDF source of truth.
|
|
8
|
-
- `opencode.json` keeps `edit` and `bash` on `ask` and explicitly allows the generated `agdf-*` skills; global adapters use `agdf-global-*` to avoid same-name masking.
|
|
8
|
+
- `opencode.json` allows the built-in `question` tool, keeps `edit` and `bash` on `ask` and explicitly allows the generated `agdf-*` skills; global adapters use `agdf-global-*` to avoid same-name masking.
|
|
9
|
+
- Preserve an explicit user `permission.question: deny`; AGDF then uses exact textual approval and never interprets OpenCode permission outcomes or auto mode as gate authority.
|
|
9
10
|
- `.opencode/skills/` contains native OpenCode skills generated from the canonical AGDF skills.
|
|
10
11
|
- For new build/change intent or unclear approval, load `agdf-gate-check` through OpenCode's native `skill` tool.
|
|
11
12
|
- Use `npx --yes @agdf/cli@latest opencode-status --json` to distinguish global hook/native-skill configuration, package loadability, session activity and this repository surface.
|
|
@@ -27,6 +27,20 @@ Use this compact output shape when no formal gate artefact is required:
|
|
|
27
27
|
|
|
28
28
|
Do not add a separate `Quality outlook` line for pure Quick Tasks unless the task became a relevant run.
|
|
29
29
|
|
|
30
|
+
### Verified Change
|
|
31
|
+
|
|
32
|
+
`verified_change` is a compact, fail-closed path for a bounded user-visible change with one canonical owner and deterministic proof. It is neither a prose exception nor a new user approval gate.
|
|
33
|
+
|
|
34
|
+
After `Approval: UR`, Brownfield Review may select `verified_change` only when a durable `VERIFIED_CHANGE.md` record can prove all of the following before implementation:
|
|
35
|
+
|
|
36
|
+
1. exactly one repository-relative canonical owner and bounded source/derived paths;
|
|
37
|
+
2. no gate, permission, security, persistence, architecture, external API, CLI or release behavior impact;
|
|
38
|
+
3. deterministic propagation when derived paths exist, plus at least one deterministic validation command;
|
|
39
|
+
4. tracked and untracked worktree baseline paths captured before eligibility, with no candidate path already dirty; and
|
|
40
|
+
5. an explicit `structured_slice` or `structured_delivery` escalation target.
|
|
41
|
+
|
|
42
|
+
The record is the compact eligibility, execution and mini-closeout artefact. A missing, failed, unknown or ambiguous field/check must fail closed: mark the record `escalated` and continue at its declared structured target. Unrelated paths already dirty at baseline remain isolated; newly introduced unlisted paths invalidate the compact path. An executed record requires passing validation evidence and, where applicable, passing propagation evidence.
|
|
43
|
+
|
|
30
44
|
### Non-Normative Trivial Change Boundary
|
|
31
45
|
|
|
32
46
|
A `quick_task` whose entire diff stays fully outside all of the following paths may close using only
|
|
@@ -68,10 +82,10 @@ the full existing ceremony unchanged:
|
|
|
68
82
|
When a run needs an operational status view, use the Run Status Card as a compact projection of existing control state.
|
|
69
83
|
It must not introduce a second gate model or override `agdf-gate-check`, `delivery-map`, QA, OR, or user approvals.
|
|
70
84
|
|
|
71
|
-
- `mode`: `quick_task | structured_delivery | unknown`
|
|
85
|
+
- `mode`: `quick_task | verified_change | structured_delivery | unknown`
|
|
72
86
|
- `status`: `open | blocked | pass | warn | revise | block | in_progress`
|
|
73
87
|
- `current_gate`: current user gate or internal step
|
|
74
|
-
- `mode_slice_decision`: `undecided | quick_task | structured_slice | structured_delivery | block`
|
|
88
|
+
- `mode_slice_decision`: `undecided | quick_task | verified_change | structured_slice | structured_delivery | block`
|
|
75
89
|
- `allowed_now`: outputs or actions currently permitted
|
|
76
90
|
- `forbidden_now`: outputs or actions currently forbidden
|
|
77
91
|
- `blocking_condition`: current blocker or `none`
|
|
@@ -232,7 +246,7 @@ section or any other existing line.
|
|
|
232
246
|
## Gate Rules
|
|
233
247
|
|
|
234
248
|
- User gates: `UR -> PRD -> SD -> TP -> QA -> UAT`
|
|
235
|
-
- Internal mandatory steps: `Brownfield Review -> Mode/Slice Decision -> Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
249
|
+
- Internal mandatory steps: `Brownfield Review -> Mode/Slice Decision -> Verified Change Execution | Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
236
250
|
- On the approved-TP path, `CD+Tests` and `CR` are satisfied only by `done`; `not_applicable` may satisfy Brownfield Review or Brownfield Analysis, but it must not bypass implementation/test evidence or mandatory Code Review.
|
|
237
251
|
- Exact approval formula: `Approval: <GateName>`
|
|
238
252
|
- Legacy alias: `Freigabe: <GateName>` may be accepted when reviewing older German runs, but all new outputs must use `Approval: <GateName>`.
|
|
@@ -254,6 +268,58 @@ section or any other existing line.
|
|
|
254
268
|
- `agdf-release-or` reports the run, but does not replace QA or produce the operative commit/PR handoff.
|
|
255
269
|
- `agdf-delivery-closeout` owns the operative Git handoff text when QA/OR/UAT state allows it.
|
|
256
270
|
|
|
271
|
+
## Native Interaction Contract
|
|
272
|
+
|
|
273
|
+
Native host controls improve how a decision is presented; they do not create a second approval model or authority source.
|
|
274
|
+
|
|
275
|
+
Every AGDF interaction belongs to exactly one semantic kind:
|
|
276
|
+
|
|
277
|
+
- `clarification`: asks for missing intent or a choice that does not itself authorize a gated transition.
|
|
278
|
+
- `tool_permission`: requests host-owned authority for a command, file change, network access, external path, app action or comparable technical side effect.
|
|
279
|
+
- `gate_approval`: requests deliberate user input for the one current AGDF user gate after its durable artefact and selected run are ready.
|
|
280
|
+
|
|
281
|
+
The semantic interaction envelope is:
|
|
282
|
+
|
|
283
|
+
```text
|
|
284
|
+
interaction_kind: clarification | tool_permission | gate_approval
|
|
285
|
+
surface: codex | claude | opencode | fallback
|
|
286
|
+
run_id: required for gate_approval
|
|
287
|
+
current_gate: required for gate_approval
|
|
288
|
+
prompt: required
|
|
289
|
+
options: required for a structured question
|
|
290
|
+
effects: required when the interaction can cause side effects
|
|
291
|
+
required_evidence: required for gate_approval
|
|
292
|
+
auto_resolution: forbidden for gate_approval
|
|
293
|
+
response_origin: deliberate_user_input for gate_approval
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
This envelope is not a new persisted record. The selected canonical `RUN_STATE.md` and existing artefact chain remain the durable authority.
|
|
297
|
+
|
|
298
|
+
Before presenting `gate_approval`, the agent must:
|
|
299
|
+
|
|
300
|
+
1. resolve exactly one selected run;
|
|
301
|
+
2. run the canonical gate evaluation and confirm that the current gate's durable artefact is present and ready;
|
|
302
|
+
3. ask exactly one gate question that identifies `run_id` and `current_gate` and offers the exact approving value `Approval: <GateName>` plus bounded revise and cancel/decline outcomes;
|
|
303
|
+
4. wait for deliberate user input without a timeout, default, preselection, hook-supplied answer or agent-to-agent substitute;
|
|
304
|
+
5. re-run canonical gate evaluation against the same `run_id` and expected gate immediately before persistence;
|
|
305
|
+
6. reject missing evidence, ambiguous or wrong run, wrong gate, stale state and any response that is no longer valid;
|
|
306
|
+
7. persist an accepted approval only through the existing control-state workflow.
|
|
307
|
+
|
|
308
|
+
A free-form native response is valid only when the existing exact-approval validator accepts it for the current gate after revalidation. Revise, decline and cancel outcomes never advance a gate.
|
|
309
|
+
|
|
310
|
+
Surface adapter rules:
|
|
311
|
+
|
|
312
|
+
| Surface | Native question adapter | Gate-safe use | Technical permission boundary |
|
|
313
|
+
|---|---|---|---|
|
|
314
|
+
| Codex | native `request_user_input` or equivalent short-question control when callable | one gate question; omit auto-resolution; otherwise use exact text | Codex command, edit, network, external-directory and app-action approvals remain host-owned `tool_permission`. |
|
|
315
|
+
| Claude Code | `AskUserQuestion` | use only when no timeout can auto-continue and no hook supplies `answers` or `updatedInput`; otherwise use exact text | Claude permissions and `ExitPlanMode` are not AGDF approval. |
|
|
316
|
+
| OpenCode | built-in `question` | use with exact approval/revise/cancel options when `permission.question` permits it; explicit user deny selects exact-text fallback | `once`, `always`, `reject`, permission suggestions and auto mode are technical outcomes only. |
|
|
317
|
+
| Fallback or non-interactive | concise exact text | wait for a new explicit user response; never synthesize or auto-resolve one | Host-specific technical permission remains separate. |
|
|
318
|
+
|
|
319
|
+
Native structured questions are for real decision points. Prefer repository inspection over clarification and do not show them for status reporting, discoverable facts, routine read-only work or repeated non-ready gate prompts.
|
|
320
|
+
|
|
321
|
+
Exact textual approvals remain canonical and fully supported on every surface. If native capability availability or safety is unknown, use the textual fallback. Host permission, plan approval, native question presentation, timeout/default behavior, hook output and agent messages never carry AGDF gate authority by themselves.
|
|
322
|
+
|
|
257
323
|
## Brownfield Review After G-00
|
|
258
324
|
|
|
259
325
|
After an approved and durable UR, perform a lightweight `Brownfield Review` before PRD when Brownfield, UI, UX, admin, runtime, policy, persistence, architecture, ownership or source-of-truth impact is possible.
|
|
@@ -264,7 +330,7 @@ It is the sizing and routing step that decides how much later gate discipline is
|
|
|
264
330
|
Its output is limited to:
|
|
265
331
|
|
|
266
332
|
- workstream or follow-up-slice classification
|
|
267
|
-
- `Mode/Slice Decision`: `quick_task | structured_slice | structured_delivery | block`
|
|
333
|
+
- `Mode/Slice Decision`: `quick_task | verified_change | structured_slice | structured_delivery | block`
|
|
268
334
|
- affected existing owners, source-of-truth artefacts, contracts, policies, runtime paths or tests
|
|
269
335
|
- reuse-before-create risks and parallel-structure risks
|
|
270
336
|
- open questions that PRD or SD must resolve
|
|
@@ -273,6 +339,7 @@ Its output is limited to:
|
|
|
273
339
|
Mode/Slice Decision rules:
|
|
274
340
|
|
|
275
341
|
- `quick_task`: use only when Brownfield Review shows a narrow local change, no new product semantics beyond the approved UR, no architecture/policy/persistence/contract expansion, and evidence is sufficient to proceed with a small implementation plus relevant checks.
|
|
342
|
+
- `verified_change`: use only when the compact record can prove one canonical owner, bounded clean-at-baseline paths, no prohibited impact, deterministic propagation/validation and a structured escalation target. It skips later approvals only after every condition is evidenced and machine-validated.
|
|
276
343
|
- `structured_slice`: use when some formal artefacts are needed, but they can stay intentionally small and scoped to the approved slice.
|
|
277
344
|
- `structured_delivery`: use when the change has broad product, architecture, runtime, policy, persistence, release or cross-owner impact.
|
|
278
345
|
- `block`: use when ownership, SoT, impact, evidence or product direction is not clear enough to choose a safe path.
|
|
@@ -287,8 +354,12 @@ This table is the canonical transition model. Skills may reference it, but must
|
|
|
287
354
|
|---|---|---|---|---|
|
|
288
355
|
| No approved UR | `UR` | clarify user need, formulate and persist UR, request `Approval: UR` | PRD, SD, TP, Brownfield Analysis, implementation, QA, release | `Approval: UR` |
|
|
289
356
|
| `UR` approved and UR artefact persisted or linked, Brownfield Review missing | `Brownfield Review` | classify workstream, existing owners, SoT, reuse risks, change size and PRD/SD open questions; mark review done or not_applicable | PRD, SD, TP, implementation, QA, release | none |
|
|
290
|
-
| Brownfield Review done or not_applicable, Mode/Slice Decision missing or incomplete | `Mode/Slice Decision` | decide `quick_task`, `structured_slice`, `structured_delivery` or `block`; record scope reason, evidence and required next gate depth | PRD, SD, TP, implementation, QA, release | none |
|
|
357
|
+
| Brownfield Review done or not_applicable, Mode/Slice Decision missing or incomplete | `Mode/Slice Decision` | decide `quick_task`, `verified_change`, `structured_slice`, `structured_delivery` or `block`; record scope reason, evidence and required next gate depth | PRD, SD, TP, implementation, QA, release | none |
|
|
291
358
|
| Mode/Slice Decision is `quick_task` | `Quick Task Execution` | implement only the narrow approved UR scope, run relevant checks, record evidence and OR-lite when the run is relevant | broad PRD/SD/TP by ritual, scope expansion, QA or release claims without evidence | none |
|
|
359
|
+
| Mode/Slice Decision is `verified_change`, record missing/draft/invalid | `Verified Change Execution` | create or repair compact record, capture baseline and prove eligibility with doctor/agdf-gate-check | implementation, QA, UAT, release | none |
|
|
360
|
+
| Verified Change record is `eligible` | `Verified Change Execution` | implement only declared paths, run declared propagation/validation, record mini-closeout | unlisted paths, prohibited impacts, QA/UAT/release claims | none |
|
|
361
|
+
| Verified Change record is `executed` | `OR` | use mini-closeout and offer delivery closeout when requested | PRD/SD/TP/QA/UAT by ritual; automatic VCS actions | none |
|
|
362
|
+
| Verified Change record is `escalated` | `PRD` | draft the PRD for declared `structured_slice` or `structured_delivery` escalation target | implementation through Verified Change | `Approval: PRD` |
|
|
292
363
|
| Mode/Slice Decision is `structured_slice` or `structured_delivery`, PRD missing or draft | `PRD` | draft/refine PRD at the smallest justified depth, define scope, acceptance criteria and non-goals, persist/link PRD, request `Approval: PRD` | SD, TP, implementation-preparation Brownfield Analysis, implementation, QA, release | `Approval: PRD` |
|
|
293
364
|
| `PRD` approved and PRD artefact persisted or linked, SD missing or draft | `SD` | draft/refine Solution Design, ownership and architecture, persist/link SD, request `Approval: SD` | TP, implementation, QA, release | `Approval: SD` |
|
|
294
365
|
| `SD` approved and SD artefact persisted or linked, TP missing or draft | `TP` | draft/refine Task/Test Plan, task IDs, evidence plan, persist/link TP, request `Approval: TP` | implementation, QA, release | `Approval: TP` |
|
|
@@ -52,6 +52,32 @@ npx --yes @agdf/cli@latest delivery-map --json
|
|
|
52
52
|
|
|
53
53
|
The CLI reports are validators and JSON evidence, not the primary user experience, not a required ritual for normal work and not a second rule system. If a report says `blocked`, do not continue with later-gate artefacts until the reported blocker is resolved.
|
|
54
54
|
|
|
55
|
+
## Native Interaction Path
|
|
56
|
+
|
|
57
|
+
Use the Runtime Contract's Native Interaction Contract to classify every candidate interaction as `clarification`, `tool_permission` or `gate_approval` before selecting a host control.
|
|
58
|
+
|
|
59
|
+
Prefer inspection over asking. Do not invoke a structured question for status reporting, facts available in the repository, routine read-only work or a gate that is not ready. Do not repeatedly prompt for the same non-ready gate.
|
|
60
|
+
|
|
61
|
+
For a ready `gate_approval`:
|
|
62
|
+
|
|
63
|
+
1. Resolve exactly one selected run and evaluate the current gate.
|
|
64
|
+
2. Confirm the required durable artefact is present and ready before presenting a question.
|
|
65
|
+
3. Ask exactly one question that names the selected `run_id` and `current_gate`.
|
|
66
|
+
4. Offer the exact approving option `Approval: <GateName>` plus bounded revise and cancel/decline outcomes.
|
|
67
|
+
5. Use the surface adapter declared in the canonical plugin definition only when it can wait for deliberate input without auto-resolution; otherwise request the same exact approval in concise text.
|
|
68
|
+
6. Re-run gate evaluation for the same run and expected gate after the response and immediately before persistence.
|
|
69
|
+
7. Reject a missing artefact, ambiguous or wrong run, wrong gate, stale expected gate, timeout/default, hook-supplied answer, agent message, technical permission outcome or plan approval.
|
|
70
|
+
8. Persist accepted input only through the existing control-state workflow.
|
|
71
|
+
|
|
72
|
+
Surface behavior:
|
|
73
|
+
|
|
74
|
+
- Codex: use the native short-question/request-user-input control when callable, ask one gate question and omit auto-resolution.
|
|
75
|
+
- Claude Code: use `AskUserQuestion` only when no timeout can auto-continue and no hook supplies `answers` or `updatedInput`; otherwise use exact text. Claude permissions and `ExitPlanMode` remain separate.
|
|
76
|
+
- OpenCode: use built-in `question` when permitted. Preserve explicit `permission.question` denial and use exact text in that case. `once`, `always`, `reject` and auto mode never become gate input.
|
|
77
|
+
- Other, unavailable or non-interactive surfaces: use exact textual approval and wait for a new explicit user response.
|
|
78
|
+
|
|
79
|
+
A free-form response must still exactly match the current gate's approval formula after revalidation. Revise, decline and cancel never advance the gate. Native presentation, host permission and plan approval are inputs or separate authority domains, never durable AGDF authority.
|
|
80
|
+
|
|
55
81
|
## Rules
|
|
56
82
|
1. Fail closed when a required approval or artefact status is missing.
|
|
57
83
|
2. The earliest blocking gate wins.
|
|
@@ -72,6 +98,7 @@ The CLI reports are validators and JSON evidence, not the primary user experienc
|
|
|
72
98
|
17. If multiple active scopes are plausible, list the evidenced competing lines and keep the current step at scope clarification or the earliest common safe gate.
|
|
73
99
|
18. When maintaining `MASTER_BACKLOG.md`, use its canonical compact columns, readable status labels and document-relative Markdown links. Do not expose raw long paths or internal snake_case statuses in the human-facing table. The canonical status/artefact label vocabulary is defined in the AGDF control scaffold's `MASTER_BACKLOG.md` template Rules section; do not invent other labels.
|
|
74
100
|
19. Preserve legacy backlog compatibility through the CLI parser; do not create a second surface-specific backlog format.
|
|
101
|
+
20. Native interaction must follow the Runtime Contract's interaction envelope, readiness check, deliberate-user-input requirement and post-response revalidation boundary.
|
|
75
102
|
|
|
76
103
|
## Gate Evaluation
|
|
77
104
|
|
package/generated/AGENTS.md
CHANGED
|
@@ -26,7 +26,7 @@ Codex and Claude Code plugin surfaces use the same canonical router with unprefi
|
|
|
26
26
|
## Mode Selection
|
|
27
27
|
Default entry rule: a new user intent to build, add, change, extend, refactor or otherwise deliver something starts with `agdf-gate-check` unless it is clearly only a question, explanation, local inspection, or explicitly scoped review.
|
|
28
28
|
|
|
29
|
-
Use Quick Task Mode for questions, small reviews, local debugging and narrow fixes without new product semantics.
|
|
29
|
+
Use Quick Task Mode for questions, small reviews, local debugging and narrow fixes without new product semantics. Use Verified Change only after approved UR and Brownfield Review when the Runtime Contract's compact record can prove bounded ownership, clean-at-baseline paths, prohibited-impact absence and deterministic validation.
|
|
30
30
|
|
|
31
31
|
Use Structured Delivery Mode for new capabilities, architecture, policy, persistence, release-critical work, formal artefacts or explicit approvals.
|
|
32
32
|
|
|
@@ -38,9 +38,9 @@ Those phrases may express intent to proceed, but they do not unlock a gate unles
|
|
|
38
38
|
Do not infer active scope from branch names, uncommitted workspace deltas, chat history or generated summaries when durable artefacts point elsewhere.
|
|
39
39
|
If multiple active scopes are plausible, list the evidenced lines and route to `agdf-gate-check` or workstate clarification instead of choosing silently.
|
|
40
40
|
After `Approval: UR`, run lightweight Brownfield Review before PRD when Brownfield, ownership, runtime, policy, persistence, architecture, UI or UX impact is possible.
|
|
41
|
-
Brownfield Review must produce a Mode/Slice Decision: `quick_task`, `structured_slice`, `structured_delivery` or `block`.
|
|
41
|
+
Brownfield Review must produce a Mode/Slice Decision: `quick_task`, `verified_change`, `structured_slice`, `structured_delivery` or `block`.
|
|
42
42
|
Make that decision visible before coding or drafting later artefacts: state the selected path, scope reason, evidence and next required gate in the live control state or linked artefact.
|
|
43
|
-
Do not assume the full PRD/SD/TP chain before that decision; use only as much gate depth as the reviewed change size justifies.
|
|
43
|
+
Do not assume the full PRD/SD/TP chain before that decision; use only as much gate depth as the reviewed change size justifies. A user-visible change is not automatically Verified Change eligible; any missing or ambiguous record condition escalates to the declared structured target before implementation.
|
|
44
44
|
|
|
45
45
|
Quick Task Mode must still use the Runtime Contract mini-output: `result`, `evidence`, `risk`, `next_step`.
|
|
46
46
|
Narrow defect work may use the Runtime Contract's Bug Lightweight Track only when a durable bug artefact or linked authoritative issue carries reproduction, actual behavior, expected behavior, fix boundary and evidence plan.
|
package/generated/opencode.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agdf",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "Codex-first operating system for governed AI-assisted delivery.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Arndt Gold",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"composerIcon": "./assets/agdf-icon.svg",
|
|
33
33
|
"logo": "./assets/agdf-logo.svg",
|
|
34
34
|
"defaultPrompt": [
|
|
35
|
-
"
|
|
35
|
+
"Assess whether AGDF is proportionate for this repository and request before proposing any implementation. Explain AGDF's purpose and practical benefits, weigh governance overhead against the project's delivery risk, and recommend the lightest suitable path — or explicitly advise against AGDF where it would add more process than value.",
|
|
36
36
|
"Start this request under AGDF governance.",
|
|
37
37
|
"Create durable AGDF control state for this repository.",
|
|
38
38
|
"Close this delivery run with an auditable AGDF report."
|
|
@@ -14,6 +14,7 @@ Use this scaffold when a target repository should keep AGDF state outside chat h
|
|
|
14
14
|
| `templates/MASTER_BACKLOG.md` | Template for the living backlog pointer: active initiatives and current UR/Brownfield/PRD/SD/TP/QA/OR artefacts |
|
|
15
15
|
| `templates/artefacts/UR.md` | Template for the durable user requirement artefact of a work item |
|
|
16
16
|
| `templates/artefacts/BROWNFIELD_REVIEW.md` | Template for the durable Brownfield Review and Mode/Slice Decision |
|
|
17
|
+
| `templates/artefacts/VERIFIED_CHANGE.md` | Compact fail-closed record for an eligible Verified Change |
|
|
17
18
|
| `templates/artefacts/PRD.md` | Template for the durable product requirements artefact |
|
|
18
19
|
| `templates/artefacts/SD.md` | Template for the durable solution design artefact |
|
|
19
20
|
| `templates/artefacts/TP.md` | Template for the durable task and test plan artefact |
|
|
@@ -84,7 +85,7 @@ npx --yes @agdf/cli@latest gate-check --json
|
|
|
84
85
|
- The selected `runs/<run_id>/RUN_STATE.md` is the current run dashboard.
|
|
85
86
|
- `config.json` stores the project preference for artefact and chat language; runtime rules stay English.
|
|
86
87
|
- `MASTER_BACKLOG.md` points to active delivery work; detailed artefacts live beside the work item.
|
|
87
|
-
- Brownfield Review records the post-UR Mode/Slice Decision before PRD depth or Quick Task execution is chosen.
|
|
88
|
+
- Brownfield Review records the post-UR Mode/Slice Decision before PRD depth, Verified Change execution or Quick Task execution is chosen.
|
|
88
89
|
- UR, PRD, SD, TP and QA decisions require durable artefacts or links to the authoritative repository source of truth before the next gate can open.
|
|
89
90
|
- OR records the run closeout and next permissible step; it does not approve later gates.
|
|
90
91
|
- `SOT_REGISTRY.md` decides which document owns which domain.
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
- run_id:
|
|
6
6
|
- started_at:
|
|
7
|
-
- mode: `quick_task | structured_delivery`
|
|
8
|
-
- current_gate: `none | UR | Brownfield Review | Mode/Slice Decision | PRD | SD | TP | Quick Task Execution | Brownfield Analysis | CD+Tests | CR | QA | UAT | OR`
|
|
7
|
+
- mode: `quick_task | verified_change | structured_delivery`
|
|
8
|
+
- current_gate: `none | UR | Brownfield Review | Mode/Slice Decision | PRD | SD | TP | Quick Task Execution | Verified Change Execution | Brownfield Analysis | CD+Tests | CR | QA | UAT | OR`
|
|
9
9
|
- decision: `pass | revise | block | in_progress`
|
|
10
10
|
- owner:
|
|
11
11
|
|
|
@@ -68,6 +68,7 @@ Valid approval format for new runs: `Approval: <GateName>`.
|
|
|
68
68
|
| SD | | `draft | approved | superseded | not_applicable` | |
|
|
69
69
|
| TP | | `draft | approved | superseded | not_applicable` | |
|
|
70
70
|
| Brownfield Review | | `missing | draft | done | not_applicable | superseded` | |
|
|
71
|
+
| Verified Change | | `missing | draft | eligible | executed | escalated` | |
|
|
71
72
|
| Review | | `missing | done | not_applicable` | |
|
|
72
73
|
| QA | | `missing | pass | revise | block | not_applicable` | |
|
|
73
74
|
| OR | | `missing | done | not_applicable` | |
|
|
@@ -77,7 +78,7 @@ Valid approval format for new runs: `Approval: <GateName>`.
|
|
|
77
78
|
Set this after Brownfield Review. Do not assume the full gate chain before the existing-system impact is understood.
|
|
78
79
|
Quick Task execution or implementation is not allowed until this decision is visible with scope reason and evidence.
|
|
79
80
|
|
|
80
|
-
- decision: `undecided | quick_task | structured_slice | structured_delivery | block`
|
|
81
|
+
- decision: `undecided | quick_task | verified_change | structured_slice | structured_delivery | block`
|
|
81
82
|
- required_next_gate: `none | PRD | SD | TP | Brownfield Analysis`
|
|
82
83
|
- scope_reason:
|
|
83
84
|
- evidence:
|
|
@@ -43,6 +43,7 @@ Describe the trustworthy outcome.
|
|
|
43
43
|
|---|---|---|---|
|
|
44
44
|
| UR | | draft | |
|
|
45
45
|
| Brownfield Review | | missing | |
|
|
46
|
+
| Verified Change | | missing | |
|
|
46
47
|
| PRD | | missing | |
|
|
47
48
|
| SD | | missing | |
|
|
48
49
|
| TP | | missing | |
|
|
@@ -53,7 +54,7 @@ Describe the trustworthy outcome.
|
|
|
53
54
|
|
|
54
55
|
## Mode/Slice Decision
|
|
55
56
|
|
|
56
|
-
- decision:
|
|
57
|
+
- decision: `quick_task | verified_change | structured_slice | structured_delivery | block`
|
|
57
58
|
- required_next_gate:
|
|
58
59
|
- scope_reason:
|
|
59
60
|
- evidence:
|
|
@@ -37,7 +37,7 @@ What approved UR scope is being sized and routed?
|
|
|
37
37
|
|
|
38
38
|
## Mode / Slice Decision
|
|
39
39
|
|
|
40
|
-
- decision: `quick_task | structured_slice | structured_delivery | block`
|
|
40
|
+
- decision: `quick_task | verified_change | structured_slice | structured_delivery | block`
|
|
41
41
|
- required_next_gate: `none | PRD | SD | TP | Brownfield Analysis`
|
|
42
42
|
- scope_reason:
|
|
43
43
|
- evidence:
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Verified Change: <Title>
|
|
2
|
+
|
|
3
|
+
Status: `draft | eligible | executed | escalated`
|
|
4
|
+
|
|
5
|
+
## Record
|
|
6
|
+
|
|
7
|
+
- status: draft
|
|
8
|
+
- related_ur:
|
|
9
|
+
- escalation_target: `structured_slice | structured_delivery`
|
|
10
|
+
- canonical_owner:
|
|
11
|
+
- allowed_source_paths:
|
|
12
|
+
- allowed_derived_paths: none
|
|
13
|
+
- prohibited_impacts: none
|
|
14
|
+
- propagation_command: none
|
|
15
|
+
- validation_commands:
|
|
16
|
+
- baseline_tracked_paths: none
|
|
17
|
+
- baseline_untracked_paths: none
|
|
18
|
+
- validation_status: pending
|
|
19
|
+
- propagation_status: not_applicable
|
|
20
|
+
|
|
21
|
+
## Eligibility Assertions
|
|
22
|
+
|
|
23
|
+
| Condition | Evidence | Status |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| Exactly one canonical owner | | `pass | fail` |
|
|
26
|
+
| Source and derived paths are bounded | | `pass | fail` |
|
|
27
|
+
| No gate, permission, security, persistence, architecture, external API, CLI or release impact | | `pass | fail` |
|
|
28
|
+
| Deterministic propagation is defined when derived paths exist | | `pass | fail | not_applicable` |
|
|
29
|
+
| Deterministic validation is defined | | `pass | fail` |
|
|
30
|
+
| Candidate paths are clean at baseline | | `pass | fail` |
|
|
31
|
+
|
|
32
|
+
## Execution Evidence
|
|
33
|
+
|
|
34
|
+
| Evidence | Source | Result |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Changed paths since baseline | | `pass | fail` |
|
|
37
|
+
| Propagation command | | `pass | fail | not_applicable` |
|
|
38
|
+
| Validation commands | | `pass | fail` |
|
|
39
|
+
|
|
40
|
+
## Mini-Closeout
|
|
41
|
+
|
|
42
|
+
- delivered:
|
|
43
|
+
- intentionally_not_delivered:
|
|
44
|
+
- escalation_result: none
|
|
45
|
+
- residual_risk: none
|
|
46
|
+
- next_step:
|
|
47
|
+
|
|
48
|
+
This compact record is valid only for a Brownfield-selected `verified_change`. Any missing, failed or ambiguous condition must set `status: escalated` and continue at `escalation_target`.
|
|
@@ -27,7 +27,7 @@ That `agdf-` prefix is reserved for GitHub Copilot repository skills, where no p
|
|
|
27
27
|
## Mode Selection
|
|
28
28
|
Default entry rule: a new user intent to build, add, change, extend, refactor or otherwise deliver something starts with `gate-check` unless it is clearly only a question, explanation, local inspection, or explicitly scoped review.
|
|
29
29
|
|
|
30
|
-
Use Quick Task Mode for questions, small reviews, local debugging and narrow fixes without new product semantics.
|
|
30
|
+
Use Quick Task Mode for questions, small reviews, local debugging and narrow fixes without new product semantics. Use Verified Change only after approved UR and Brownfield Review when the Runtime Contract's compact record can prove bounded ownership, clean-at-baseline paths, prohibited-impact absence and deterministic validation.
|
|
31
31
|
|
|
32
32
|
Use Structured Delivery Mode for new capabilities, architecture, policy, persistence, release-critical work, formal artefacts or explicit approvals.
|
|
33
33
|
|
|
@@ -39,9 +39,9 @@ Those phrases may express intent to proceed, but they do not unlock a gate unles
|
|
|
39
39
|
Do not infer active scope from branch names, uncommitted workspace deltas, chat history or generated summaries when durable artefacts point elsewhere.
|
|
40
40
|
If multiple active scopes are plausible, list the evidenced lines and route to `gate-check` or workstate clarification instead of choosing silently.
|
|
41
41
|
After `Approval: UR`, run lightweight Brownfield Review before PRD when Brownfield, ownership, runtime, policy, persistence, architecture, UI or UX impact is possible.
|
|
42
|
-
Brownfield Review must produce a Mode/Slice Decision: `quick_task`, `structured_slice`, `structured_delivery` or `block`.
|
|
42
|
+
Brownfield Review must produce a Mode/Slice Decision: `quick_task`, `verified_change`, `structured_slice`, `structured_delivery` or `block`.
|
|
43
43
|
Make that decision visible before coding or drafting later artefacts: state the selected path, scope reason, evidence and next required gate in the live control state or linked artefact.
|
|
44
|
-
Do not assume the full PRD/SD/TP chain before that decision; use only as much gate depth as the reviewed change size justifies.
|
|
44
|
+
Do not assume the full PRD/SD/TP chain before that decision; use only as much gate depth as the reviewed change size justifies. A user-visible change is not automatically Verified Change eligible; any missing or ambiguous record condition escalates to the declared structured target before implementation.
|
|
45
45
|
|
|
46
46
|
Quick Task Mode must still use the Runtime Contract mini-output: `result`, `evidence`, `risk`, `next_step`.
|
|
47
47
|
Narrow defect work may use the Runtime Contract's Bug Lightweight Track only when a durable bug artefact or linked authoritative issue carries reproduction, actual behavior, expected behavior, fix boundary and evidence plan.
|
|
@@ -184,11 +184,11 @@ Gate Discipline
|
|
|
184
184
|
|
|
185
185
|
AGDF work follows a gate-driven flow:
|
|
186
186
|
|
|
187
|
-
UR → Brownfield Review → Mode/Slice Decision → PRD/SD/TP as needed → QA → UAT
|
|
187
|
+
UR → Brownfield Review → Mode/Slice Decision → Verified Change or PRD/SD/TP as needed → QA → UAT
|
|
188
188
|
|
|
189
189
|
with internal process steps:
|
|
190
190
|
|
|
191
|
-
Brownfield Review → Mode/Slice Decision → Brownfield Analysis → CD+Tests → CR → OR
|
|
191
|
+
Brownfield Review → Mode/Slice Decision → Verified Change Execution or Brownfield Analysis → CD+Tests → CR → OR
|
|
192
192
|
|
|
193
193
|
Rules:
|
|
194
194
|
|
|
@@ -208,7 +208,7 @@ Rules:
|
|
|
208
208
|
internal mandatory step.
|
|
209
209
|
* **Size before ceremony**: After an approved durable UR, Brownfield Review
|
|
210
210
|
determines change size and routing before PRD depth is chosen. The Mode/Slice
|
|
211
|
-
Decision is one of `quick_task`, `structured_slice`, `structured_delivery` or
|
|
211
|
+
Decision is one of `quick_task`, `verified_change`, `structured_slice`, `structured_delivery` or
|
|
212
212
|
`block`.
|
|
213
213
|
* **No gate leaks**: Later gate artefacts must not be produced when an
|
|
214
214
|
earlier gate is still blocking.
|