create-agdf 0.2.3 → 0.2.4
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/bin/create-agdf.js +357 -9
- package/generated/.agdf/control/README.md +4 -1
- package/generated/.agdf/control/templates/AGDF_RUN.md +23 -1
- package/generated/.agdf/control/templates/MASTER_BACKLOG.md +13 -12
- package/generated/.agdf/control/templates/artefacts/OR.md +86 -0
- package/generated/.agdf/control/templates/artefacts/UR.md +1 -1
- package/generated/.github/copilot-instructions.md +3 -0
- package/generated/.github/instructions/agdf-governance.instructions.md +1 -0
- package/generated/.github/skills/agdf-brownfield-analysis/SKILL.md +24 -17
- package/generated/.github/skills/agdf-gate-check/SKILL.md +33 -9
- package/generated/.github/skills/agdf-release-or/SKILL.md +13 -9
- package/generated/.github/skills/agdf-runtime-contract.md +55 -5
- package/generated/AGENTS.md +11 -2
- package/generated/plugins/agdf/.codex-plugin/plugin.json +1 -1
- package/generated/plugins/agdf/control/README.md +4 -1
- package/generated/plugins/agdf/control/templates/AGDF_RUN.md +23 -1
- package/generated/plugins/agdf/control/templates/MASTER_BACKLOG.md +13 -12
- package/generated/plugins/agdf/control/templates/artefacts/OR.md +86 -0
- package/generated/plugins/agdf/control/templates/artefacts/UR.md +1 -1
- package/generated/plugins/agdf/meta/agdf-agent-router.md +11 -2
- package/generated/plugins/agdf/meta/agdf-constitution.md +13 -4
- package/generated/plugins/agdf/meta/agdf-plugin.definition.json +4 -4
- package/generated/plugins/agdf/meta/agdf-runtime-contract.md +55 -5
- package/generated/plugins/agdf/skills/brownfield-analysis/SKILL.md +24 -17
- package/generated/plugins/agdf/skills/gate-check/SKILL.md +33 -9
- package/generated/plugins/agdf/skills/release-or/SKILL.md +13 -9
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# OR: <Title>
|
|
2
|
+
|
|
3
|
+
Gate: OR
|
|
4
|
+
Type: Orchestration Report
|
|
5
|
+
Report mode: `OR-lite | OR-full`
|
|
6
|
+
Status: `draft | done | superseded`
|
|
7
|
+
|
|
8
|
+
## Run
|
|
9
|
+
|
|
10
|
+
- run_id:
|
|
11
|
+
- related_ur:
|
|
12
|
+
- related_prd:
|
|
13
|
+
- related_sd:
|
|
14
|
+
- related_tp:
|
|
15
|
+
- related_qa_report:
|
|
16
|
+
- mode_slice_decision:
|
|
17
|
+
- current_gate:
|
|
18
|
+
- decision: `pass | revise | block | in_progress`
|
|
19
|
+
|
|
20
|
+
## Gate State
|
|
21
|
+
|
|
22
|
+
| Gate or step | Status | Evidence |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| UR | | |
|
|
25
|
+
| Brownfield Review | | |
|
|
26
|
+
| Mode/Slice Decision | | |
|
|
27
|
+
| PRD | | |
|
|
28
|
+
| SD | | |
|
|
29
|
+
| TP | | |
|
|
30
|
+
| Brownfield Analysis | | |
|
|
31
|
+
| CD+Tests | | |
|
|
32
|
+
| CR | | |
|
|
33
|
+
| QA | | |
|
|
34
|
+
| UAT | | |
|
|
35
|
+
|
|
36
|
+
## Delivered
|
|
37
|
+
|
|
38
|
+
| Item | Evidence |
|
|
39
|
+
|---|---|
|
|
40
|
+
| | |
|
|
41
|
+
|
|
42
|
+
## Not Delivered / Intentionally Deferred
|
|
43
|
+
|
|
44
|
+
| Item | Reason | Next owner or gate |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| | | |
|
|
47
|
+
|
|
48
|
+
## Evidence
|
|
49
|
+
|
|
50
|
+
| Evidence | Source | Covers | Strength |
|
|
51
|
+
|---|---|---|---|
|
|
52
|
+
| | | | `direct | indirect | weak` |
|
|
53
|
+
|
|
54
|
+
## Missing Evidence
|
|
55
|
+
|
|
56
|
+
| Missing evidence | Impact | Required next step |
|
|
57
|
+
|---|---|---|
|
|
58
|
+
| | `warn | revise | block` | |
|
|
59
|
+
|
|
60
|
+
## Risks And Open Items
|
|
61
|
+
|
|
62
|
+
| Risk or open item | Impact | Owner or mitigation |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| | `warn | revise | block` | |
|
|
65
|
+
|
|
66
|
+
## Context Graph Impact
|
|
67
|
+
|
|
68
|
+
- context_graph_impact: `none | link_only | update_existing_node | new_node_required | sot_drift`
|
|
69
|
+
- context_graph_refs:
|
|
70
|
+
- context_graph_required_action: `none | link | update | create | resolve_drift`
|
|
71
|
+
- context_graph_gate_effect: `none | warning | revise | block`
|
|
72
|
+
- context_graph_evidence:
|
|
73
|
+
|
|
74
|
+
## Next Permissible Step
|
|
75
|
+
|
|
76
|
+
- next_allowed_action:
|
|
77
|
+
- required_approval:
|
|
78
|
+
- forbidden_until_then:
|
|
79
|
+
|
|
80
|
+
## Quality Outlook
|
|
81
|
+
|
|
82
|
+
- quality_outlook:
|
|
83
|
+
|
|
84
|
+
## Approval
|
|
85
|
+
|
|
86
|
+
OR does not approve later gates. It records the next permissible step.
|
|
@@ -32,7 +32,7 @@ Which existing repository artefacts, docs, code paths or decisions must be respe
|
|
|
32
32
|
|
|
33
33
|
## 7. Risks And Unknowns
|
|
34
34
|
|
|
35
|
-
Which questions must PRD, SD or Brownfield Analysis clarify
|
|
35
|
+
Which questions must Brownfield Review, PRD, SD or later implementation-preparation Brownfield Analysis clarify?
|
|
36
36
|
|
|
37
37
|
## 8. Next Step
|
|
38
38
|
|
|
@@ -5,6 +5,9 @@ AGDF is active in this repository.
|
|
|
5
5
|
- Treat `AGENTS.md` as the primary repository instruction source.
|
|
6
6
|
- Use `.github/skills/` for AGDF task workflows instead of inventing parallel process rules.
|
|
7
7
|
- Use `.agdf/control/` for durable run state, backlog pointers, source-of-truth ownership, Context Graph knowledge and quality contracts.
|
|
8
|
+
- Apply AGDF natively from `AGENTS.md`, repository skills and live `.agdf/control/` state before reaching for helper commands.
|
|
8
9
|
- Before non-trivial implementation or formal delivery work, determine whether the request is a Quick Task or Structured Delivery.
|
|
9
10
|
- If approval, evidence, ownership or the next allowed action is unclear, run the AGDF gate-check workflow before creating later artefacts or code.
|
|
11
|
+
- Use machine-readable checks such as `doctor --json`, `gate-check --json` or `delivery-map --json` as validators, not as the primary workflow.
|
|
12
|
+
- Do not infer gate approval from generic consent such as "ok", "go ahead", "do it", "continue", "leg los" or "approved".
|
|
10
13
|
- Do not treat chat history as the source of truth for gate state, approvals, evidence or delivery status.
|
|
@@ -10,4 +10,5 @@ These files are control artefacts, not general documentation.
|
|
|
10
10
|
- Do not duplicate the full gate model, Quality Contract table or Context Graph relationship language in new files.
|
|
11
11
|
- Keep generated AGDF files small, reviewable and linked to the owning source of truth.
|
|
12
12
|
- Preserve the rule that missing approval, missing evidence or unclear ownership blocks later delivery steps.
|
|
13
|
+
- Preserve the rule that gates cannot be skipped by generic consent, urgency or a request to start.
|
|
13
14
|
- If changing AGDF bootstrap behaviour, update the generated files, smoke test and affected setup documentation together.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agdf-brownfield-analysis
|
|
3
|
-
description: Use this skill after gate-check or live AGDF control state confirms that implementation preparation is allowed
|
|
3
|
+
description: Use this skill after gate-check or live AGDF control state confirms that Brownfield Review or implementation preparation is allowed. Use it after Approval: UR as the lightweight Brownfield Review after G-00 before PRD when existing systems may be affected, and again before non-trivial implementation after TP. Do not use it as the first AGDF skill for a fresh "I want to build/change X" prompt when approval, scope, or next allowed action is unclear.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# brownfield-analysis
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
9
|
-
Ensure
|
|
9
|
+
Ensure delivery in an existing system is Brownfield-oriented, not Greenfield-style.
|
|
10
10
|
|
|
11
11
|
The skill answers:
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ The skill answers:
|
|
|
15
15
|
- what can be reused, extended, or refactored
|
|
16
16
|
- whether new artefacts are really needed
|
|
17
17
|
- architecture, compatibility, migration, and regression impact
|
|
18
|
-
- the minimal clean
|
|
18
|
+
- the minimal clean next step
|
|
19
19
|
- whether Context Graph impact exists without automatically creating a node
|
|
20
20
|
|
|
21
21
|
## Runtime Contract
|
|
@@ -24,21 +24,24 @@ Use `../agdf-runtime-contract.md` for Quality Contract output, Context Graph fie
|
|
|
24
24
|
Brownfield-specific output must make evidence, missing existing-system view, parallel-structure risk, reuse strategy, and the minimal next step visible.
|
|
25
25
|
|
|
26
26
|
## Rules
|
|
27
|
-
1. Brownfield first: understand the existing codebase before implementation.
|
|
28
|
-
2.
|
|
29
|
-
3.
|
|
30
|
-
4.
|
|
31
|
-
5.
|
|
32
|
-
6.
|
|
33
|
-
7.
|
|
34
|
-
8.
|
|
35
|
-
9.
|
|
36
|
-
10.
|
|
37
|
-
11.
|
|
38
|
-
12.
|
|
27
|
+
1. Brownfield first: understand the existing codebase before PRD/SD decisions when existing-system impact is possible, and again before implementation.
|
|
28
|
+
2. Brownfield Review after `Approval: UR` is a sizing and routing step. It must decide `quick_task`, `structured_slice`, `structured_delivery`, or `block` before PRD depth or implementation is chosen.
|
|
29
|
+
3. Reuse-before-create: prefer existing modules, services, components, tables, endpoints, tests, and configuration.
|
|
30
|
+
4. Minimal clean slice: choose the smallest durable intervention, not merely the smallest technical diff.
|
|
31
|
+
5. No silent parallel structures.
|
|
32
|
+
6. Existing architecture, naming, error handling, logging, security, and test conventions are binding unless deviation is justified.
|
|
33
|
+
7. What is not visibly evidenced does not count as existing.
|
|
34
|
+
8. Async execute paths must not become a second product-policy decision point.
|
|
35
|
+
9. Visible state ownership must be checked for chat, rendering, scrolling, recovery, and status problems.
|
|
36
|
+
10. SoT/runtime/product-semantics drift must be named; if official behaviour must be decided first, recommend UR or equivalent product direction.
|
|
37
|
+
11. Large UI surfaces and state hooks must be checked for mixed render, view-model, derived state, orchestration, persistence, and recovery ownership.
|
|
38
|
+
12. Context Graph impact must be curated; it is not a review log or version index.
|
|
39
|
+
13. Specification archive migrations must follow the archive index if present.
|
|
39
40
|
|
|
40
41
|
## When To Use
|
|
42
|
+
- after `agdf-gate-check` permits `Brownfield Review` or live `.agdf/control/AGDF_RUN.md` names Brownfield Review as the next allowed action
|
|
41
43
|
- after `agdf-gate-check` permits implementation preparation or live `.agdf/control/AGDF_RUN.md` already names Brownfield Analysis as the next allowed action
|
|
44
|
+
- after `Approval: UR` when existing owners, SoT, contracts, policies, persistence, runtime paths, tests, UI, UX or architecture may affect PRD/SD scope
|
|
42
45
|
- before `CD+Tests`
|
|
43
46
|
- before changes to an existing repository
|
|
44
47
|
- bug fixes in existing modules
|
|
@@ -51,7 +54,7 @@ Brownfield-specific output must make evidence, missing existing-system view, par
|
|
|
51
54
|
## Inputs
|
|
52
55
|
Use what is available:
|
|
53
56
|
|
|
54
|
-
- Task Plan, `task_id`, `story_id`
|
|
57
|
+
- approved UR, Task Plan, `task_id`, `story_id`
|
|
55
58
|
- project structure
|
|
56
59
|
- affected files, modules, services, APIs, data models
|
|
57
60
|
- existing tests
|
|
@@ -59,7 +62,8 @@ Use what is available:
|
|
|
59
62
|
- repository conventions
|
|
60
63
|
|
|
61
64
|
If inputs are missing, work only from observable evidence and mark gaps explicitly.
|
|
62
|
-
If gate status, approval, scope or next allowed action is unclear, stop and route to `agdf-gate-check` instead of recommending or starting implementation.
|
|
65
|
+
If gate status, approval, scope or next allowed action is unclear, stop and route to `agdf-gate-check` instead of recommending PRD/SD detail or starting implementation.
|
|
66
|
+
When used as Brownfield Review after `Approval: UR`, do not recommend PRD, SD, TP, or implementation until the Mode/Slice Decision is explicit.
|
|
63
67
|
|
|
64
68
|
## Workflow
|
|
65
69
|
1. Identify affected tasks and scope.
|
|
@@ -93,6 +97,8 @@ Use a concise structure:
|
|
|
93
97
|
```text
|
|
94
98
|
## Brownfield Analysis
|
|
95
99
|
- decision: pass | revise | block | not_applicable
|
|
100
|
+
- mode_slice_decision: quick_task | structured_slice | structured_delivery | block
|
|
101
|
+
- required_next_gate: none | PRD | SD | TP | Brownfield Analysis
|
|
96
102
|
- scope:
|
|
97
103
|
- evidence:
|
|
98
104
|
- missing_evidence:
|
|
@@ -116,3 +122,4 @@ This skill must not:
|
|
|
116
122
|
- convert product-semantics drift into a mere refactor
|
|
117
123
|
- create Context Graph nodes automatically
|
|
118
124
|
- treat archive links as active current specification signals
|
|
125
|
+
- recommend broad PRD/SD/TP or implementation by reflex before Mode/Slice Decision is recorded
|
|
@@ -20,32 +20,45 @@ This skill must not create later artefacts such as PRD, SD, TP, CD, CR, QA, or U
|
|
|
20
20
|
## Runtime Contract
|
|
21
21
|
Use `../agdf-runtime-contract.md` for gate terms, closeout discipline, and non-duplication rules.
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## Native Control Path
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
AGDF is applied natively through this skill, the agent router, and live `.agdf/control/` state.
|
|
26
|
+
|
|
27
|
+
First inspect the durable control state directly:
|
|
28
|
+
|
|
29
|
+
- `.agdf/control/AGDF_RUN.md`
|
|
30
|
+
- `.agdf/control/MASTER_BACKLOG.md`
|
|
31
|
+
- `.agdf/control/SOT_REGISTRY.md`
|
|
32
|
+
- `.agdf/control/CONTEXT_GRAPH.md`
|
|
33
|
+
- `.agdf/control/AGENT_QUALITY_CONTRACTS.json`
|
|
34
|
+
|
|
35
|
+
Use the executable control path when a machine-readable check is requested, when the gate state is ambiguous, or when a repository-local automation needs JSON evidence:
|
|
26
36
|
|
|
27
37
|
```bash
|
|
28
38
|
npm create agdf@latest doctor --json
|
|
29
39
|
npm create agdf@latest gate-check --json
|
|
40
|
+
npm create agdf@latest delivery-map --json
|
|
30
41
|
```
|
|
31
42
|
|
|
32
43
|
`doctor` checks whether `.agdf/control/` is actionable. `agdf-gate-check` consumes that result and `AGDF_RUN.md` to report the operative process decision: `open | blocked`, current gate, blocking reason, missing approval, allowed outputs, forbidden outputs, next allowed action and evidence references.
|
|
44
|
+
`delivery-map` reports the durable delivery picture: active artefacts, approvals, Artefact Chain relationships, evidence refs, missing evidence, risks, Context Graph gate effect and machine-readable findings.
|
|
33
45
|
|
|
34
|
-
The CLI
|
|
46
|
+
The CLI reports are validators and JSON evidence, not the primary user experience and not a second rule system. If a report says `blocked`, do not continue with later-gate artefacts until the reported blocker is resolved.
|
|
35
47
|
|
|
36
48
|
## Rules
|
|
37
49
|
1. Fail closed when a required approval or artefact status is missing.
|
|
38
50
|
2. The earliest blocking gate wins.
|
|
39
51
|
3. A user approval is valid only as `Approval: <GateName>`.
|
|
40
52
|
4. Treat `Freigabe: <GateName>` as a legacy alias only when reviewing older German runs.
|
|
41
|
-
5. Implicit consent is not approval.
|
|
53
|
+
5. Implicit consent is not approval. "ok", "go ahead", "do it", "approved", "continue", "leg los" and similar phrases do not unlock gates.
|
|
42
54
|
6. Do not preview later artefacts while a gate blocks.
|
|
43
55
|
7. Internal process steps are not user approval gates.
|
|
44
56
|
8. OR-lite is allowed if it does not leak blocked content.
|
|
45
57
|
9. SoT/runtime/product-semantics drift can trigger an early product gate, usually `UR`.
|
|
46
|
-
10. Approval of one user gate permits work on the next gate artefact only; it never skips directly to implementation.
|
|
47
|
-
11. New product semantics, functional change or user-visible behaviour change requires a durable UR in `.agdf/control/` or a linked authoritative repository SoT before PRD, SD, TP, Brownfield Analysis or implementation.
|
|
58
|
+
10. Approval of one user gate permits work on the next allowed gate artefact or required internal step only; it never skips directly to implementation.
|
|
59
|
+
11. New product semantics, functional change or user-visible behaviour change requires a durable UR in `.agdf/control/` or a linked authoritative repository SoT before Brownfield Review, PRD, SD, TP, Brownfield Analysis or implementation.
|
|
48
60
|
12. Approval text and durable artefact presence are separate requirements for UR, PRD, SD, TP and QA report decisions. Approval text without the corresponding persisted or linked artefact keeps the current gate at that gate.
|
|
61
|
+
13. After Brownfield Review, decide the process size before drafting PRD or implementing: `quick_task | structured_slice | structured_delivery | block`.
|
|
49
62
|
|
|
50
63
|
## Gate Order
|
|
51
64
|
User gates:
|
|
@@ -54,7 +67,7 @@ User gates:
|
|
|
54
67
|
|
|
55
68
|
Internal mandatory steps:
|
|
56
69
|
|
|
57
|
-
`Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
70
|
+
`Brownfield Review -> Mode/Slice Decision -> Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
58
71
|
|
|
59
72
|
## Gate Transitions
|
|
60
73
|
|
|
@@ -63,7 +76,10 @@ Use this transition model for Structured Delivery:
|
|
|
63
76
|
| State | Current gate or step | Allowed | Forbidden | Missing approval |
|
|
64
77
|
|---|---|---|---|---|
|
|
65
78
|
| No approved UR | `UR` | clarify user need, formulate and persist UR, request `Approval: UR` | PRD, SD, TP, Brownfield Analysis, implementation, QA, release | `Approval: UR` |
|
|
66
|
-
| `UR` approved and UR artefact persisted or linked,
|
|
79
|
+
| `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 |
|
|
80
|
+
| Brownfield Review done or not_applicable, Mode/Slice Decision missing | `Mode/Slice Decision` | decide `quick_task`, `structured_slice`, `structured_delivery` or `block`; record evidence and required next gate depth | PRD, SD, TP, implementation, QA, release | none |
|
|
81
|
+
| Mode/Slice Decision is `quick_task` | `Quick Task Execution` | implement only the narrow approved UR scope, run relevant checks, record evidence and OR-lite | broad PRD/SD/TP by ritual, scope expansion, QA or release claims without evidence | none |
|
|
82
|
+
| 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` |
|
|
67
83
|
| `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` |
|
|
68
84
|
| `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` |
|
|
69
85
|
| `TP` approved and TP artefact persisted or linked, Brownfield missing | `Brownfield Analysis` | run Brownfield Analysis for approved TP scope | implementation, QA, release | none |
|
|
@@ -71,7 +87,7 @@ Use this transition model for Structured Delivery:
|
|
|
71
87
|
| `QA` approved but QA report missing or not pass | `QA` | persist/link QA report with `pass` decision or revise/block evidence | UAT, release | none |
|
|
72
88
|
|
|
73
89
|
If `Approval: UR` is present, do not say implementation is the next step.
|
|
74
|
-
The next step is
|
|
90
|
+
The next step is Brownfield Review when Brownfield, ownership, runtime, policy, persistence, architecture, UI or UX impact is possible; after that, the next step is a Mode/Slice Decision. Do not assume the full PRD/SD/TP chain before the existing-system impact is understood.
|
|
75
91
|
|
|
76
92
|
## When To Use
|
|
77
93
|
- new user intent to build, add, change, extend, refactor or deliver something
|
|
@@ -93,6 +109,8 @@ Use what is available:
|
|
|
93
109
|
- current user request
|
|
94
110
|
- existing exact approvals
|
|
95
111
|
- status of UR, PRD, SD, TP
|
|
112
|
+
- Brownfield Review status
|
|
113
|
+
- Mode/Slice Decision
|
|
96
114
|
- Brownfield Analysis status
|
|
97
115
|
- CD+Tests, CR, QA, UAT status
|
|
98
116
|
- signs of documentation/runtime/product-semantics drift
|
|
@@ -107,6 +125,8 @@ If a status is not explicit, do not assume it is satisfied.
|
|
|
107
125
|
5. Name the exact missing approval, if any.
|
|
108
126
|
6. If consent was only implicit, say it is not yet approval and provide the exact formula.
|
|
109
127
|
7. Ensure the next step follows the gate transition table. In particular, never jump from `Approval: UR` to implementation.
|
|
128
|
+
8. Treat a generic "start", "continue" or "leg los" request as a request to perform only the current next allowed action.
|
|
129
|
+
9. After Brownfield Review, choose the smallest safe process path before creating later artefacts.
|
|
110
130
|
|
|
111
131
|
## Output
|
|
112
132
|
Keep the result short and operational:
|
|
@@ -122,11 +142,15 @@ Keep the result short and operational:
|
|
|
122
142
|
This skill must not:
|
|
123
143
|
|
|
124
144
|
- create PRD before UR approval
|
|
145
|
+
- create PRD before required Brownfield Review is done or explicitly not_applicable
|
|
146
|
+
- create PRD before Mode/Slice Decision is recorded
|
|
125
147
|
- create SD before PRD approval
|
|
126
148
|
- create TP while earlier gates block
|
|
127
149
|
- suggest implementation immediately after `Approval: UR`
|
|
150
|
+
- suggest implementation before Brownfield Review has explicitly selected `quick_task`
|
|
128
151
|
- suggest implementation immediately after `Approval: PRD`
|
|
129
152
|
- suggest implementation immediately after `Approval: SD`
|
|
153
|
+
- treat "ok", "leg los", "go ahead", "approved" or similar wording as gate approval
|
|
130
154
|
- perform full Brownfield Analysis unless explicitly requested
|
|
131
155
|
- provide implementation snippets while implementation is gated
|
|
132
156
|
- present QA or UAT as passed without evidence
|
|
@@ -28,6 +28,7 @@ It reports:
|
|
|
28
28
|
Use `../agdf-runtime-contract.md` for Quality Contract output, Context Graph fields, gate terms, and non-duplication rules.
|
|
29
29
|
|
|
30
30
|
OR-specific output must make gate status, delivered and intentionally not delivered content, missing approvals, missing evidence, risks, retained fallbacks, and the next permissible step visible.
|
|
31
|
+
When `.agdf/control/` is present, persist or link the OR under `.agdf/control/artefacts/<key>/OR.md` and reference it from `AGDF_RUN.md` or `MASTER_BACKLOG.md` when it is steering-relevant.
|
|
31
32
|
|
|
32
33
|
## Rules
|
|
33
34
|
1. OR is always allowed and mandatory for relevant runs.
|
|
@@ -77,15 +78,16 @@ If information is missing, state the gap instead of guessing.
|
|
|
77
78
|
2. Determine report depth:
|
|
78
79
|
- `OR-lite`: gate status, allowed/forbidden outputs, missing approval, next step
|
|
79
80
|
- `OR-full`: also delivered artefacts, TP coverage, Brownfield fit, solution integrity, risks, fallbacks, QA/UAT status
|
|
80
|
-
3. Record
|
|
81
|
-
4.
|
|
82
|
-
5. Summarize
|
|
83
|
-
6. Summarize
|
|
84
|
-
7. Summarize
|
|
85
|
-
8.
|
|
86
|
-
9.
|
|
87
|
-
10. Set exactly one
|
|
88
|
-
11.
|
|
81
|
+
3. Record the selected `Report mode` and durable OR target or link when `.agdf/control/` exists.
|
|
82
|
+
4. Record delivered vs intentionally not delivered content.
|
|
83
|
+
5. Summarize TP coverage if a TP exists.
|
|
84
|
+
6. Summarize Brownfield fit and solution integrity if reviewed.
|
|
85
|
+
7. Summarize tests and verification.
|
|
86
|
+
8. Summarize documentation and Context Graph impact if relevant.
|
|
87
|
+
9. Name retained fallbacks and exit criteria.
|
|
88
|
+
10. Set exactly one next permissible step.
|
|
89
|
+
11. Set exactly one quality outlook.
|
|
90
|
+
12. State whether `agdf-delivery-closeout` is the next operational handoff step when code changes exist and the delivery state allows it.
|
|
89
91
|
|
|
90
92
|
## Output
|
|
91
93
|
Use a compact structure:
|
|
@@ -93,6 +95,8 @@ Use a compact structure:
|
|
|
93
95
|
```text
|
|
94
96
|
## OR
|
|
95
97
|
- gate:
|
|
98
|
+
- report_mode:
|
|
99
|
+
- artefact:
|
|
96
100
|
- status:
|
|
97
101
|
- delivered:
|
|
98
102
|
- intentionally_not_delivered:
|
|
@@ -18,23 +18,48 @@ UR, PRD, SD, TP and QA report approvals require durable artefacts or linked auth
|
|
|
18
18
|
## Gate Rules
|
|
19
19
|
|
|
20
20
|
- User gates: `UR -> PRD -> SD -> TP -> QA -> UAT`
|
|
21
|
-
- Internal mandatory steps: `Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
21
|
+
- Internal mandatory steps: `Brownfield Review -> Mode/Slice Decision -> Brownfield Analysis -> CD+Tests -> CR -> OR`
|
|
22
22
|
- Exact approval formula: `Approval: <GateName>`
|
|
23
23
|
- Legacy alias: `Freigabe: <GateName>` may be accepted when reviewing older German runs, but all new outputs must use `Approval: <GateName>`.
|
|
24
|
-
- Implicit consent is not approval.
|
|
24
|
+
- Implicit consent is not approval. Phrases such as "ok", "go ahead", "do it", "approved", "continue", "leg los" or "looks good" are work intent, not gate approval.
|
|
25
25
|
- The earliest blocking gate wins.
|
|
26
26
|
- For UR, PRD, SD, TP and QA, approval and durable artefact presence are separate requirements. A gate is not satisfied by approval text alone when its artefact is missing from `.agdf/control/` or not linked to the authoritative repository SoT.
|
|
27
|
-
- Approval of one user gate permits work on the next gate artefact only. It does not permit implementation unless the approved gate is `TP` and required internal implementation prerequisites are satisfied.
|
|
28
|
-
-
|
|
27
|
+
- Approval of one user gate permits work on the next allowed gate artefact or required internal step only. It does not permit implementation unless the approved gate is `TP` and required internal implementation prerequisites are satisfied.
|
|
28
|
+
- Gates must never be skipped or inferred from urgency, tone, chat history, task wording or an instruction to "start". The next allowed action is always the next unsatisfied gate or internal mandatory step.
|
|
29
|
+
- `Approval: UR` permits Brownfield Review after G-00 first, then a Mode/Slice Decision. It never permits implementation by itself.
|
|
30
|
+
- PRD, SD and TP depth is chosen after Brownfield Review through the Mode/Slice Decision, not before existing-system impact is understood.
|
|
29
31
|
- `Approval: PRD` permits Solution Design drafting, not implementation.
|
|
30
32
|
- `Approval: SD` permits Task/Test Plan drafting, not implementation.
|
|
31
|
-
- `Approval: TP` permits Brownfield Analysis and then CD+Tests when Brownfield evidence supports it.
|
|
33
|
+
- `Approval: TP` permits implementation-preparation Brownfield Analysis and then CD+Tests when Brownfield evidence supports it.
|
|
32
34
|
- `CD+Tests` is implementation and test status only, not a delivery signal.
|
|
33
35
|
- `agdf-code-review` standardizes the mandatory `CR` step, but does not replace QA.
|
|
34
36
|
- `agdf-qa-gate` decides final `pass | revise | block`.
|
|
35
37
|
- `agdf-release-or` reports the run, but does not replace QA or produce the operative commit/PR handoff.
|
|
36
38
|
- `agdf-delivery-closeout` owns the operative Git handoff text when QA/OR/UAT state allows it.
|
|
37
39
|
|
|
40
|
+
## Brownfield Review After G-00
|
|
41
|
+
|
|
42
|
+
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.
|
|
43
|
+
|
|
44
|
+
This review is not a new user approval gate, not PRD, not SD, not TP and not implementation permission.
|
|
45
|
+
It is the sizing and routing step that decides how much later gate discipline is actually needed.
|
|
46
|
+
|
|
47
|
+
Its output is limited to:
|
|
48
|
+
|
|
49
|
+
- workstream or follow-up-slice classification
|
|
50
|
+
- `Mode/Slice Decision`: `quick_task | structured_slice | structured_delivery | block`
|
|
51
|
+
- affected existing owners, source-of-truth artefacts, contracts, policies, runtime paths or tests
|
|
52
|
+
- reuse-before-create risks and parallel-structure risks
|
|
53
|
+
- open questions that PRD or SD must resolve
|
|
54
|
+
- whether implementation-preparation Brownfield Analysis will also be needed after TP
|
|
55
|
+
|
|
56
|
+
Mode/Slice Decision rules:
|
|
57
|
+
|
|
58
|
+
- `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.
|
|
59
|
+
- `structured_slice`: use when some formal artefacts are needed, but they can stay intentionally small and scoped to the approved slice.
|
|
60
|
+
- `structured_delivery`: use when the change has broad product, architecture, runtime, policy, persistence, release or cross-owner impact.
|
|
61
|
+
- `block`: use when ownership, SoT, impact, evidence or product direction is not clear enough to choose a safe path.
|
|
62
|
+
|
|
38
63
|
## Quality Contract Output
|
|
39
64
|
|
|
40
65
|
Structured Delivery skills use this shape when relevant:
|
|
@@ -71,9 +96,34 @@ When a repository needs durable AGDF state, use the plugin-local `control/` scaf
|
|
|
71
96
|
- `SOT_REGISTRY.md` prevents parallel sources of truth.
|
|
72
97
|
- `CONTEXT_GRAPH.md` stores durable Brownfield findings, decisions, risks, evidence and exit criteria.
|
|
73
98
|
- `AGENT_QUALITY_CONTRACTS.json` stores reusable block, revise and warning conditions.
|
|
99
|
+
- OR reports live under `.agdf/control/artefacts/<key>/OR.md` when a run closeout is steering-relevant or should be auditable beyond the chat.
|
|
74
100
|
|
|
75
101
|
The scaffold is not a second documentation site. Link to authoritative artefacts instead of copying them.
|
|
76
102
|
|
|
103
|
+
## Native Runtime
|
|
104
|
+
|
|
105
|
+
AGDF must work natively through the plugin router, skills and live `.agdf/control/` artefacts.
|
|
106
|
+
Agents should read the live control state and apply the gate model directly before reaching for helper commands.
|
|
107
|
+
|
|
108
|
+
Machine-readable commands such as `doctor --json`, `gate-check --json` and `delivery-map --json` are validators and automation interfaces.
|
|
109
|
+
They make the repository state checkable, but they do not replace the native skill workflow or the durable control artefacts.
|
|
110
|
+
|
|
111
|
+
## Delivery Map
|
|
112
|
+
|
|
113
|
+
`delivery-map --json` is the machine-readable delivery picture for the active control state.
|
|
114
|
+
It derives, but does not replace, the live `.agdf/control/AGDF_RUN.md` and `MASTER_BACKLOG.md` state.
|
|
115
|
+
|
|
116
|
+
It must expose:
|
|
117
|
+
|
|
118
|
+
- approved or active artefacts and approvals
|
|
119
|
+
- `UR -> PRD -> SD -> TP -> QA_REPORT` relationships
|
|
120
|
+
- evidence refs, missing evidence and declared risks
|
|
121
|
+
- Context Graph impact and gate effect
|
|
122
|
+
- findings that explain why the delivery picture is `pass | warn | revise | block`
|
|
123
|
+
|
|
124
|
+
Missing relationship evidence in the Artefact Chain is at least `revise` once the related gate artefact is approved or passed.
|
|
125
|
+
Declared missing evidence, declared risk or Context Graph gate effect may escalate the delivery map to `warn`, `revise` or `block`.
|
|
126
|
+
|
|
77
127
|
## Skill Output
|
|
78
128
|
|
|
79
129
|
Every skill output should be as short as possible and as concrete as needed.
|
package/generated/AGENTS.md
CHANGED
|
@@ -32,6 +32,11 @@ Use Structured Delivery Mode for new capabilities, architecture, policy, persist
|
|
|
32
32
|
Any new product semantics, functional change or user-visible behaviour change requires a durable UR first.
|
|
33
33
|
Persist it in `.agdf/control/` or link it from there to the target repository's authoritative source of truth before PRD, SD, TP, Brownfield Analysis or implementation.
|
|
34
34
|
Treat approval text and durable artefact presence as separate checks for UR, PRD, SD, TP and QA report decisions.
|
|
35
|
+
Do not infer approval from "ok", "go ahead", "do it", "approved", "continue", "leg los" or similar wording.
|
|
36
|
+
Those phrases may express intent to proceed, but they do not unlock a gate unless the exact gate formula is present.
|
|
37
|
+
After `Approval: UR`, run lightweight Brownfield Review before PRD when Brownfield, ownership, runtime, policy, persistence, architecture, UI or UX impact is possible.
|
|
38
|
+
Brownfield Review must produce a Mode/Slice Decision: `quick_task`, `structured_slice`, `structured_delivery` or `block`.
|
|
39
|
+
Do not assume the full PRD/SD/TP chain before that decision; use only as much gate depth as the reviewed change size justifies.
|
|
35
40
|
|
|
36
41
|
Quick Task Mode must still cite evidence and close with a concrete result.
|
|
37
42
|
Structured Delivery Mode must respect gates, reviews and closeout discipline.
|
|
@@ -39,11 +44,11 @@ Structured Delivery Mode must respect gates, reviews and closeout discipline.
|
|
|
39
44
|
## Skill Routing
|
|
40
45
|
| Skill | Use For | Boundary |
|
|
41
46
|
|---|---|---|
|
|
42
|
-
| `agdf-brownfield-analysis` | after gate-check permits implementation preparation, before non-trivial changes in existing systems | clarifies reuse, owners and
|
|
47
|
+
| `agdf-brownfield-analysis` | after gate-check permits Brownfield Review or implementation preparation, before non-trivial changes in existing systems | clarifies reuse, owners, risks and Mode/Slice Decision; never bypasses gate-check; Brownfield Review is not implementation permission |
|
|
43
48
|
| `agdf-clean-implementation-review` | inspect workarounds, fallbacks, parallel structures or symptom fixes | not a TP or QA substitute |
|
|
44
49
|
| `agdf-code-review` | mandatory CR step after code changes, focused on defects, regression and security findings | does not replace TP review, clean review or QA |
|
|
45
50
|
| `agdf-delivery-closeout` | commit/PR-near handoff after QA/OR/UAT | never performs VCS actions automatically |
|
|
46
|
-
| `agdf-gate-check` | new build/change intent, unclear approval, Structured Delivery, later-gate artefact requested | does not create later artefacts |
|
|
51
|
+
| `agdf-gate-check` | new build/change intent, unclear approval, Structured Delivery, later-gate artefact requested | does not create later artefacts or skip Mode/Slice Decision after Brownfield Review |
|
|
47
52
|
| `agdf-qa-gate` | final QA decision | only instance for `pass | revise | block` |
|
|
48
53
|
| `agdf-release-or` | auditable closeout for every relevant run | not a QA substitute |
|
|
49
54
|
| `agdf-task-plan-review` | after implementation and before QA, verify TP coverage | no final QA decision |
|
|
@@ -51,6 +56,7 @@ Structured Delivery Mode must respect gates, reviews and closeout discipline.
|
|
|
51
56
|
Select exactly one primary skill first.
|
|
52
57
|
Add more only when they cover a distinct concrete risk dimension.
|
|
53
58
|
Do not choose `agdf-brownfield-analysis` as the first primary skill for a fresh "I want to build/change X" prompt unless `agdf-gate-check` or existing live AGDF control state already makes implementation preparation the next allowed action.
|
|
59
|
+
Never jump directly from `Approval: UR`, implicit consent, or a generic "start" request to implementation. Route to Brownfield Review, then Mode/Slice Decision, then the smallest safe next gate or Quick Task execution.
|
|
54
60
|
|
|
55
61
|
## Runtime Contract
|
|
56
62
|
For repeated output, gate, Quality Contract and Context Graph rules, use:
|
|
@@ -65,6 +71,9 @@ Use templates as starting points only.
|
|
|
65
71
|
|
|
66
72
|
Do not let chat history become the source of truth for gate state, approvals, evidence, backlog status or durable Brownfield knowledge.
|
|
67
73
|
|
|
74
|
+
AGDF is a native agent workflow first: read the live control state, apply the active skill and make the next allowed step explicit.
|
|
75
|
+
Use `doctor`, `gate-check --json` or `delivery-map --json` as validators when a machine-readable proof is useful, not as a substitute for the router or skills.
|
|
76
|
+
|
|
68
77
|
## Closeout
|
|
69
78
|
After relevant code, documentation, skill or governance changes:
|
|
70
79
|
|
|
@@ -9,12 +9,13 @@ Use this scaffold when a target repository should keep AGDF state outside chat h
|
|
|
9
9
|
| File | Purpose |
|
|
10
10
|
|---|---|
|
|
11
11
|
| `templates/AGDF_RUN.md` | Template for current run state: mode, gate, approvals, evidence, risks, next allowed action |
|
|
12
|
-
| `templates/MASTER_BACKLOG.md` | Template for the living backlog pointer: active initiatives and current UR/PRD/SD/TP artefacts |
|
|
12
|
+
| `templates/MASTER_BACKLOG.md` | Template for the living backlog pointer: active initiatives and current UR/PRD/SD/TP/QA/OR artefacts |
|
|
13
13
|
| `templates/artefacts/UR.md` | Template for the durable user requirement artefact of a work item |
|
|
14
14
|
| `templates/artefacts/PRD.md` | Template for the durable product requirements artefact |
|
|
15
15
|
| `templates/artefacts/SD.md` | Template for the durable solution design artefact |
|
|
16
16
|
| `templates/artefacts/TP.md` | Template for the durable task and test plan artefact |
|
|
17
17
|
| `templates/artefacts/QA_REPORT.md` | Template for the durable QA decision report |
|
|
18
|
+
| `templates/artefacts/OR.md` | Template for the durable Orchestration Report closeout |
|
|
18
19
|
| `templates/SOT_REGISTRY.md` | Template for the source-of-truth registry: one primary owner per domain |
|
|
19
20
|
| `templates/CONTEXT_GRAPH.md` | Template for project memory: durable decisions, Brownfield findings, risks, evidence and exit criteria |
|
|
20
21
|
| `templates/AGENT_QUALITY_CONTRACTS.json` | Template for machine-readable warning, revise and block contracts for review and QA |
|
|
@@ -33,6 +34,7 @@ Use this scaffold when a target repository should keep AGDF state outside chat h
|
|
|
33
34
|
SD.md
|
|
34
35
|
TP.md
|
|
35
36
|
QA_REPORT.md
|
|
37
|
+
OR.md
|
|
36
38
|
SOT_REGISTRY.md
|
|
37
39
|
CONTEXT_GRAPH.md
|
|
38
40
|
AGENT_QUALITY_CONTRACTS.json
|
|
@@ -62,6 +64,7 @@ npm create agdf@latest gate-check --json
|
|
|
62
64
|
- `AGDF_RUN.md` is the current run dashboard.
|
|
63
65
|
- `MASTER_BACKLOG.md` points to active delivery work; detailed artefacts live beside the work item.
|
|
64
66
|
- 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.
|
|
67
|
+
- OR records the run closeout and next permissible step; it does not approve later gates.
|
|
65
68
|
- `SOT_REGISTRY.md` decides which document owns which domain.
|
|
66
69
|
- `CONTEXT_GRAPH.md` records durable project knowledge only when it has evidence and an exit criterion.
|
|
67
70
|
- `AGENT_QUALITY_CONTRACTS.json` names reusable block, revise and warning conditions.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
- run_id:
|
|
6
6
|
- started_at:
|
|
7
7
|
- mode: `quick_task | structured_delivery`
|
|
8
|
-
- current_gate: `none | UR | PRD | SD | TP | CD+Tests | CR | QA | UAT | OR`
|
|
8
|
+
- current_gate: `none | UR | Brownfield Review | Mode/Slice Decision | PRD | SD | TP | Quick Task Execution | Brownfield Analysis | CD+Tests | CR | QA | UAT | OR`
|
|
9
9
|
- decision: `pass | revise | block | in_progress`
|
|
10
10
|
- owner:
|
|
11
11
|
|
|
@@ -44,10 +44,32 @@ Valid approval format for new runs: `Approval: <GateName>`.
|
|
|
44
44
|
| PRD | | `draft | approved | superseded | not_applicable` | |
|
|
45
45
|
| SD | | `draft | approved | superseded | not_applicable` | |
|
|
46
46
|
| TP | | `draft | approved | superseded | not_applicable` | |
|
|
47
|
+
| Brownfield Review | | `missing | done | not_applicable` | |
|
|
47
48
|
| Review | | `missing | done | not_applicable` | |
|
|
48
49
|
| QA | | `missing | pass | revise | block | not_applicable` | |
|
|
49
50
|
| OR | | `missing | done | not_applicable` | |
|
|
50
51
|
|
|
52
|
+
## Mode / Slice Decision
|
|
53
|
+
|
|
54
|
+
Set this after Brownfield Review. Do not assume the full gate chain before the existing-system impact is understood.
|
|
55
|
+
|
|
56
|
+
- decision: `undecided | quick_task | structured_slice | structured_delivery | block`
|
|
57
|
+
- required_next_gate: `none | PRD | SD | TP | Brownfield Analysis`
|
|
58
|
+
- scope_reason:
|
|
59
|
+
- evidence:
|
|
60
|
+
|
|
61
|
+
## Artefact Chain
|
|
62
|
+
|
|
63
|
+
Keep the active work item traceable. A gate may open only when the previous gate has both exact approval and a durable or linked artefact.
|
|
64
|
+
|
|
65
|
+
| From | Relationship | To | Evidence |
|
|
66
|
+
|---|---|---|---|
|
|
67
|
+
| UR | `approved_by` | `Approval: UR` | |
|
|
68
|
+
| PRD | `derived_from` | UR | |
|
|
69
|
+
| SD | `derived_from` | PRD | |
|
|
70
|
+
| TP | `derived_from` | SD | |
|
|
71
|
+
| QA_REPORT | `tests` | TP | |
|
|
72
|
+
|
|
51
73
|
## Evidence
|
|
52
74
|
|
|
53
75
|
| Evidence | Source | Covers | Strength |
|
|
@@ -6,25 +6,26 @@ This file is the living control pointer for active AGDF delivery work. Detailed
|
|
|
6
6
|
|
|
7
7
|
1. New product semantics, functional change or user-visible behaviour change starts as a new UR draft in a stable local artefact path, for example `.agdf/control/artefacts/<key>/UR.md`, unless an authoritative repository SoT already exists and is linked here.
|
|
8
8
|
2. `Approval: UR` adds or updates exactly one steering row with a link to the UR.
|
|
9
|
-
3. PRD, SD, TP and QA report artefacts are created for the same work item after the previous gate is approved.
|
|
9
|
+
3. PRD, SD, TP and QA report artefacts are created for the same work item after the previous gate is approved and persisted or linked.
|
|
10
10
|
4. `Approval: PRD`, `Approval: SD`, `Approval: TP` and `Approval: QA` require the corresponding durable artefact or linked repository SoT before the next gate can open.
|
|
11
|
-
5.
|
|
12
|
-
6.
|
|
13
|
-
7.
|
|
14
|
-
8.
|
|
15
|
-
9. If
|
|
11
|
+
5. Generic consent such as "ok", "go ahead", "do it", "continue", "leg los" or "approved" does not update a gate. Only `Approval: <GateName>` does.
|
|
12
|
+
6. Keep only steering-relevant work in `Active Backlog`.
|
|
13
|
+
7. Every active item has exactly one current spec pointer and a visible artefact chain.
|
|
14
|
+
8. Historical artefacts remain linkable but do not override the current pointer.
|
|
15
|
+
9. If an item is superseded, mark the replacement.
|
|
16
|
+
10. If active work grows beyond roughly ten items, triage the backlog.
|
|
16
17
|
|
|
17
18
|
## Active Backlog
|
|
18
19
|
|
|
19
|
-
| Prio | Key | Title | Status | Current Spec | Notes |
|
|
20
|
-
|
|
21
|
-
| P1 | | | `in_progress | blocked` | | |
|
|
20
|
+
| Prio | Key | Title | Status | UR | PRD | SD | TP | QA | OR | Current Spec | Notes |
|
|
21
|
+
|---:|---|---|---|---|---|---|---|---|---|---|---|
|
|
22
|
+
| P1 | | | `in_progress | blocked` | | | | | | | | |
|
|
22
23
|
|
|
23
24
|
## Planned / Parking Lot
|
|
24
25
|
|
|
25
|
-
| Prio | Key | Title | Status | Current Spec | Notes |
|
|
26
|
-
|
|
27
|
-
| P2 | | | `planned | review_needed` | | |
|
|
26
|
+
| Prio | Key | Title | Status | UR | PRD | SD | TP | QA | OR | Current Spec | Notes |
|
|
27
|
+
|---:|---|---|---|---|---|---|---|---|---|---|---|
|
|
28
|
+
| P2 | | | `planned | review_needed` | | | | | | | | |
|
|
28
29
|
|
|
29
30
|
## Completed / Superseded Pointers
|
|
30
31
|
|