create-agdf 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +8 -4
  2. package/bin/create-agdf.js +57 -9
  3. package/generated/.agents/plugins/marketplace.json +20 -0
  4. package/generated/.github/copilot-instructions.md +10 -0
  5. package/generated/.github/instructions/agdf-governance.instructions.md +13 -0
  6. package/generated/plugins/agdf/.codex-plugin/plugin.json +30 -0
  7. package/generated/plugins/agdf/control/README.md +39 -0
  8. package/generated/plugins/agdf/control/templates/AGDF_RUN.md +84 -0
  9. package/generated/plugins/agdf/control/templates/AGENT_QUALITY_CONTRACTS.json +78 -0
  10. package/generated/plugins/agdf/control/templates/CONTEXT_GRAPH.md +51 -0
  11. package/generated/plugins/agdf/control/templates/MASTER_BACKLOG.md +29 -0
  12. package/generated/plugins/agdf/control/templates/SOT_REGISTRY.md +25 -0
  13. package/generated/plugins/agdf/hooks/hooks.json +15 -0
  14. package/generated/plugins/agdf/hooks/session-start.sh +10 -0
  15. package/generated/plugins/agdf/meta/agdf-constitution.md +312 -0
  16. package/generated/plugins/agdf/meta/agdf-copilot-agents.md +77 -0
  17. package/generated/plugins/agdf/meta/agdf-runtime-contract.md +85 -0
  18. package/generated/plugins/agdf/meta/agdf-tenets.md +191 -0
  19. package/generated/plugins/agdf/skills/agdf-brownfield-analysis/SKILL.md +116 -0
  20. package/generated/plugins/agdf/skills/agdf-brownfield-analysis/help.md +23 -0
  21. package/generated/plugins/agdf/skills/agdf-clean-implementation-review/SKILL.md +100 -0
  22. package/generated/plugins/agdf/skills/agdf-clean-implementation-review/help.md +23 -0
  23. package/generated/plugins/agdf/skills/agdf-code-review/SKILL.md +94 -0
  24. package/generated/plugins/agdf/skills/agdf-code-review/help.md +23 -0
  25. package/generated/plugins/agdf/skills/agdf-delivery-closeout/SKILL.md +109 -0
  26. package/generated/plugins/agdf/skills/agdf-delivery-closeout/help.md +23 -0
  27. package/generated/plugins/agdf/skills/agdf-gate-check/SKILL.md +92 -0
  28. package/generated/plugins/agdf/skills/agdf-gate-check/help.md +23 -0
  29. package/generated/plugins/agdf/skills/agdf-qa-gate/SKILL.md +110 -0
  30. package/generated/plugins/agdf/skills/agdf-qa-gate/help.md +23 -0
  31. package/generated/plugins/agdf/skills/agdf-release-or/SKILL.md +124 -0
  32. package/generated/plugins/agdf/skills/agdf-release-or/help.md +23 -0
  33. package/generated/plugins/agdf/skills/agdf-task-plan-review/SKILL.md +115 -0
  34. package/generated/plugins/agdf/skills/agdf-task-plan-review/help.md +23 -0
  35. package/package.json +2 -2
package/README.md CHANGED
@@ -5,6 +5,7 @@ Bootstrap AGDF repository instructions for one repository.
5
5
  ## Usage
6
6
 
7
7
  ```bash
8
+ npm create agdf@latest codex
8
9
  npm create agdf@latest copilot
9
10
  npm create agdf@latest both
10
11
  ```
@@ -16,12 +17,15 @@ Optional flags:
16
17
 
17
18
  ## Targets and existing AGENTS.md
18
19
 
19
- - `copilot` writes `AGENTS.md`, visible repository skills under `.github/skills/`, and AGDF control templates under `.agdf/control/`
20
- - `both` writes the same Copilot-facing files and reminds you to install the Claude Code plugin separately
20
+ - `codex` writes a repository-local Codex marketplace under `.agents/plugins/` and a local AGDF plugin copy under `plugins/agdf/`
21
+ - `copilot` writes `AGENTS.md`, Copilot custom instructions under `.github/`, visible repository skills under `.github/skills/`, and AGDF control templates under `.agdf/control/`
22
+ - `both` writes the Codex repository-local marketplace plus the Copilot-facing repository files
21
23
 
22
- If the target repository already has an `AGENTS.md`, `create-agdf` preserves it and writes `AGENTS.agdf.md` instead of replacing your existing instructions. Merge the AGDF fragment into your current `AGENTS.md` when you want Copilot to load both instruction sets. Use `--force` only when you explicitly want to overwrite generated files.
24
+ If the target repository already has an `AGENTS.md`, `create-agdf` preserves it and writes `AGENTS.agdf.md` instead of replacing your existing instructions. Merge the AGDF fragment into your current `AGENTS.md` when you want Copilot to load both instruction sets. The generated `.github/copilot-instructions.md` keeps Copilot pointed at `AGENTS.md`, `.github/skills/` and `.agdf/control/` without duplicating the full AGDF rule model. Use `--force` only when you explicitly want to overwrite generated files.
23
25
 
24
- Codex is supported through the AGDF Codex plugin in `plugin/.codex-plugin/plugin.json`, not through `create-agdf` package output.
26
+ Use the `codex` target when AGDF should be available only inside one repository instead of being installed as a personal/global Codex plugin.
27
+
28
+ After `npm create agdf@latest codex`, restart Codex in that repository, open `/plugins`, select `This repository` and install `agdf`.
25
29
 
26
30
  ## Control scaffold
27
31
 
@@ -9,8 +9,31 @@ const __dirname = dirname(fileURLToPath(import.meta.url));
9
9
  const packageRoot = resolve(__dirname, "..");
10
10
  const generatedRoot = join(packageRoot, "generated");
11
11
  const pluginInstallCommand = "claude plugin add arndtgold/ai-native-governance-delivery-framework";
12
- const allowedTargets = new Set(["copilot", "both"]);
12
+ const allowedTargets = new Set(["codex", "copilot", "both"]);
13
13
  const agdfFragmentPath = "AGENTS.agdf.md";
14
+ const codexPluginFiles = [
15
+ join(".agents", "plugins", "marketplace.json"),
16
+ join("plugins", "agdf", ".codex-plugin", "plugin.json"),
17
+ join("plugins", "agdf", "control", "README.md"),
18
+ join("plugins", "agdf", "control", "templates", "AGDF_RUN.md"),
19
+ join("plugins", "agdf", "control", "templates", "MASTER_BACKLOG.md"),
20
+ join("plugins", "agdf", "control", "templates", "SOT_REGISTRY.md"),
21
+ join("plugins", "agdf", "control", "templates", "CONTEXT_GRAPH.md"),
22
+ join("plugins", "agdf", "control", "templates", "AGENT_QUALITY_CONTRACTS.json"),
23
+ join("plugins", "agdf", "hooks", "hooks.json"),
24
+ join("plugins", "agdf", "hooks", "session-start.sh"),
25
+ join("plugins", "agdf", "meta", "agdf-constitution.md"),
26
+ join("plugins", "agdf", "meta", "agdf-runtime-contract.md"),
27
+ join("plugins", "agdf", "meta", "agdf-tenets.md"),
28
+ join("plugins", "agdf", "skills", "agdf-gate-check", "SKILL.md"),
29
+ join("plugins", "agdf", "skills", "agdf-brownfield-analysis", "SKILL.md"),
30
+ join("plugins", "agdf", "skills", "agdf-task-plan-review", "SKILL.md"),
31
+ join("plugins", "agdf", "skills", "agdf-clean-implementation-review", "SKILL.md"),
32
+ join("plugins", "agdf", "skills", "agdf-code-review", "SKILL.md"),
33
+ join("plugins", "agdf", "skills", "agdf-qa-gate", "SKILL.md"),
34
+ join("plugins", "agdf", "skills", "agdf-release-or", "SKILL.md"),
35
+ join("plugins", "agdf", "skills", "agdf-delivery-closeout", "SKILL.md"),
36
+ ];
14
37
  const controlFiles = [
15
38
  join(".agdf", "control", "README.md"),
16
39
  join(".agdf", "control", "templates", "AGDF_RUN.md"),
@@ -19,6 +42,10 @@ const controlFiles = [
19
42
  join(".agdf", "control", "templates", "CONTEXT_GRAPH.md"),
20
43
  join(".agdf", "control", "templates", "AGENT_QUALITY_CONTRACTS.json"),
21
44
  ];
45
+ const copilotInstructionFiles = [
46
+ join(".github", "copilot-instructions.md"),
47
+ join(".github", "instructions", "agdf-governance.instructions.md"),
48
+ ];
22
49
  const copilotSkillFiles = [
23
50
  join(".github", "skills", "README.md"),
24
51
  join(".github", "skills", "agdf-runtime-contract.md"),
@@ -36,6 +63,7 @@ function printUsage() {
36
63
  console.log(`create-agdf
37
64
 
38
65
  Usage:
66
+ npm create agdf@latest codex
39
67
  npm create agdf@latest copilot
40
68
  npm create agdf@latest both
41
69
 
@@ -98,7 +126,7 @@ function parseArgs(argv) {
98
126
  }
99
127
 
100
128
  if (!target || !allowedTargets.has(target)) {
101
- console.error("Please choose one target: copilot or both.");
129
+ console.error("Please choose one target: codex, copilot or both.");
102
130
  printUsage();
103
131
  process.exit(1);
104
132
  }
@@ -126,15 +154,24 @@ function writeGeneratedFile(targetDir, relativePath, content, force) {
126
154
  }
127
155
 
128
156
  function generatedFilesForTarget(target, targetDir, force) {
129
- const agentsTargetPath = existsSync(join(targetDir, "AGENTS.md")) && !force ? agdfFragmentPath : "AGENTS.md";
130
- const files = [
131
- {
157
+ const files = [];
158
+
159
+ if (target === "codex" || target === "both") {
160
+ for (const codexPath of codexPluginFiles) {
161
+ files.push({
162
+ path: codexPath,
163
+ content: loadAsset(codexPath),
164
+ });
165
+ }
166
+ }
167
+
168
+ if (target === "copilot" || target === "both") {
169
+ const agentsTargetPath = existsSync(join(targetDir, "AGENTS.md")) && !force ? agdfFragmentPath : "AGENTS.md";
170
+ files.push({
132
171
  path: agentsTargetPath,
133
172
  content: loadAsset("AGENTS.md"),
134
- },
135
- ];
173
+ });
136
174
 
137
- if (target === "copilot" || target === "both") {
138
175
  for (const controlPath of controlFiles) {
139
176
  files.push({
140
177
  path: controlPath,
@@ -142,6 +179,13 @@ function generatedFilesForTarget(target, targetDir, force) {
142
179
  });
143
180
  }
144
181
 
182
+ for (const instructionPath of copilotInstructionFiles) {
183
+ files.push({
184
+ path: instructionPath,
185
+ content: loadAsset(instructionPath),
186
+ });
187
+ }
188
+
145
189
  for (const skillPath of copilotSkillFiles) {
146
190
  files.push({
147
191
  path: skillPath,
@@ -167,8 +211,12 @@ function printNextSteps(target, destination, files, wroteAgentsFragment) {
167
211
  if (wroteAgentsFragment) {
168
212
  console.log(`- Existing AGENTS.md detected. Merge ${agdfFragmentPath} into your current AGENTS.md before using Copilot with AGDF.`);
169
213
  }
214
+ if (target === "codex" || target === "both") {
215
+ console.log("- Restart Codex in this repository, open /plugins, select This repository and install agdf.");
216
+ console.log("- Start a new Codex thread in this repository and ask: Run an AGDF gate check for this request.");
217
+ }
170
218
  if (target === "both") {
171
- console.log(`- Install the Claude Code plugin: ${pluginInstallCommand}`);
219
+ console.log(`- Optional global Claude Code install: ${pluginInstallCommand}`);
172
220
  }
173
221
  if (target === "copilot" || target === "both") {
174
222
  console.log("- In GitHub Copilot CLI, run /instructions after the AGENTS.md step is complete to confirm that AGDF instructions and the repository skills are visible.");
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "agdf-repo",
3
+ "interface": {
4
+ "displayName": "This repository"
5
+ },
6
+ "plugins": [
7
+ {
8
+ "name": "agdf",
9
+ "source": {
10
+ "source": "local",
11
+ "path": "./plugins/agdf"
12
+ },
13
+ "policy": {
14
+ "installation": "AVAILABLE",
15
+ "authentication": "ON_INSTALL"
16
+ },
17
+ "category": "Productivity"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,10 @@
1
+ # AGDF Copilot instructions
2
+
3
+ AGDF is active in this repository.
4
+
5
+ - Treat `AGENTS.md` as the primary repository instruction source.
6
+ - Use `.github/skills/` for AGDF task workflows instead of inventing parallel process rules.
7
+ - Use `.agdf/control/` for durable run state, backlog pointers, source-of-truth ownership, Context Graph knowledge and quality contracts.
8
+ - Before non-trivial implementation or formal delivery work, determine whether the request is a Quick Task or Structured Delivery.
9
+ - If approval, evidence, ownership or the next allowed action is unclear, run the AGDF gate-check workflow before creating later artefacts or code.
10
+ - Do not treat chat history as the source of truth for gate state, approvals, evidence or delivery status.
@@ -0,0 +1,13 @@
1
+ ---
2
+ applyTo: "AGENTS.md,AGENTS.agdf.md,.agdf/**,.github/skills/**,.github/copilot-instructions.md,.github/instructions/**"
3
+ ---
4
+
5
+ # AGDF governance artefacts
6
+
7
+ These files are control artefacts, not general documentation.
8
+
9
+ - Keep AGDF rules sourced from `AGENTS.md`, `.github/skills/` and `.github/skills/agdf-runtime-contract.md`.
10
+ - Do not duplicate the full gate model, Quality Contract table or Context Graph relationship language in new files.
11
+ - Keep generated AGDF files small, reviewable and linked to the owning source of truth.
12
+ - Preserve the rule that missing approval, missing evidence or unclear ownership blocks later delivery steps.
13
+ - If changing AGDF bootstrap behaviour, update the generated files, smoke test and affected setup documentation together.
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "agdf",
3
+ "version": "0.1.5",
4
+ "description": "Codex-first workflow skills for gated, auditable AI-assisted software delivery.",
5
+ "author": {
6
+ "name": "AI-native Governance & Delivery Framework",
7
+ "url": "https://agdf.iself.eu"
8
+ },
9
+ "homepage": "https://agdf.iself.eu",
10
+ "repository": "https://github.com/arndtgold/ai-native-governance-delivery-framework",
11
+ "license": "Apache-2.0",
12
+ "keywords": ["agentic", "governance", "delivery", "ai-native", "brownfield"],
13
+ "skills": "./skills/",
14
+ "interface": {
15
+ "displayName": "AI Governance & Delivery Framework",
16
+ "shortDescription": "Codex-first workflow skills for gated, auditable AI-assisted delivery.",
17
+ "longDescription": "AI Governance & Delivery Framework (AGDF) packages reusable Codex-first skills and control templates for gate checks, Brownfield analysis, task-plan review, solution-integrity review, QA decisions, durable run state and auditable delivery closeout.",
18
+ "developerName": "AI-native Governance & Delivery Framework",
19
+ "category": "Productivity",
20
+ "capabilities": ["Read", "Write"],
21
+ "websiteURL": "https://agdf.iself.eu",
22
+ "defaultPrompt": [
23
+ "Run an AGDF gate check for this request.",
24
+ "Create an AGDF control scaffold for this repository.",
25
+ "Use AGDF Brownfield analysis before implementation.",
26
+ "Close this run with an AGDF orchestration report."
27
+ ],
28
+ "brandColor": "#14B8A6"
29
+ }
30
+ }
@@ -0,0 +1,39 @@
1
+ # AGDF Control Scaffold
2
+
3
+ AGDF is primarily a control system for AI-assisted delivery. The skills guide the agent during a run; these files make the run state durable in a repository.
4
+
5
+ Use this scaffold when a target repository should keep AGDF state outside chat history and tool memory.
6
+
7
+ ## Files
8
+
9
+ | File | Purpose |
10
+ |---|---|
11
+ | `templates/AGDF_RUN.md` | Current run state: mode, gate, approvals, evidence, risks, next allowed action |
12
+ | `templates/MASTER_BACKLOG.md` | Living backlog pointer: active initiatives and current UR/PRD/SD/TP artefacts |
13
+ | `templates/SOT_REGISTRY.md` | Source-of-truth registry: one primary owner per domain |
14
+ | `templates/CONTEXT_GRAPH.md` | Project memory: durable decisions, Brownfield findings, risks, evidence and exit criteria |
15
+ | `templates/AGENT_QUALITY_CONTRACTS.json` | Machine-readable warning, revise and block contracts for review and QA |
16
+
17
+ ## Recommended Target Layout
18
+
19
+ ```text
20
+ .agdf/
21
+ control/
22
+ AGDF_RUN.md
23
+ MASTER_BACKLOG.md
24
+ SOT_REGISTRY.md
25
+ CONTEXT_GRAPH.md
26
+ AGENT_QUALITY_CONTRACTS.json
27
+ ```
28
+
29
+ Keep these files small and reviewable. They are control artefacts, not a second documentation site.
30
+
31
+ ## Operating Rules
32
+
33
+ - `AGDF_RUN.md` is the current run dashboard.
34
+ - `MASTER_BACKLOG.md` points to active delivery work; detailed artefacts live beside the work item.
35
+ - `SOT_REGISTRY.md` decides which document owns which domain.
36
+ - `CONTEXT_GRAPH.md` records durable project knowledge only when it has evidence and an exit criterion.
37
+ - `AGENT_QUALITY_CONTRACTS.json` names reusable block, revise and warning conditions.
38
+
39
+ Do not duplicate full product documentation in this scaffold. Link to the authoritative artefact instead.
@@ -0,0 +1,84 @@
1
+ # AGDF Run State
2
+
3
+ ## Run Meta
4
+
5
+ - run_id:
6
+ - started_at:
7
+ - mode: `quick_task | structured_delivery`
8
+ - current_gate: `none | UR | PRD | SD | TP | CD+Tests | CR | QA | UAT | OR`
9
+ - decision: `pass | revise | block | in_progress`
10
+ - owner:
11
+
12
+ ## Objective
13
+
14
+ What outcome is this run trying to make trustworthy?
15
+
16
+ ## Current Control State
17
+
18
+ | Question | Answer |
19
+ |---|---|
20
+ | What is known? | |
21
+ | What is approved? | |
22
+ | What is missing? | |
23
+ | What is the next allowed action? | |
24
+ | What is explicitly forbidden right now? | |
25
+
26
+ ## Approvals
27
+
28
+ Valid approval format for new runs: `Approval: <GateName>`.
29
+
30
+ | Gate | Status | Evidence |
31
+ |---|---|---|
32
+ | UR | `missing | approved | not_applicable` | |
33
+ | PRD | `missing | approved | not_applicable` | |
34
+ | SD | `missing | approved | not_applicable` | |
35
+ | TP | `missing | approved | not_applicable` | |
36
+ | QA | `missing | approved | not_applicable` | |
37
+ | UAT | `missing | approved | not_applicable` | |
38
+
39
+ ## Artefacts
40
+
41
+ | Type | Path | Status | Notes |
42
+ |---|---|---|---|
43
+ | UR | | `draft | approved | superseded | not_applicable` | |
44
+ | PRD | | `draft | approved | superseded | not_applicable` | |
45
+ | SD | | `draft | approved | superseded | not_applicable` | |
46
+ | TP | | `draft | approved | superseded | not_applicable` | |
47
+ | Review | | `missing | done | not_applicable` | |
48
+ | QA | | `missing | pass | revise | block | not_applicable` | |
49
+ | OR | | `missing | done | not_applicable` | |
50
+
51
+ ## Evidence
52
+
53
+ | Evidence | Source | Covers | Strength |
54
+ |---|---|---|---|
55
+ | | | | `direct | indirect | weak` |
56
+
57
+ ## Missing Evidence
58
+
59
+ | Missing evidence | Impact | Required next step |
60
+ |---|---|---|
61
+ | | `warn | revise | block` | |
62
+
63
+ ## Risks
64
+
65
+ | Risk | Impact | Mitigation or owner |
66
+ |---|---|---|
67
+ | | `warn | revise | block` | |
68
+
69
+ ## Context Graph Impact
70
+
71
+ - context_graph_impact: `none | link_only | update_existing_node | new_node_required | sot_drift`
72
+ - context_graph_refs:
73
+ - context_graph_required_action: `none | link | update | create | resolve_drift`
74
+ - context_graph_gate_effect: `none | warning | revise | block`
75
+ - context_graph_evidence:
76
+
77
+ ## Closeout
78
+
79
+ - delivered:
80
+ - not_delivered:
81
+ - verification_performed:
82
+ - unverified:
83
+ - next_allowed_action:
84
+ - quality_outlook:
@@ -0,0 +1,78 @@
1
+ {
2
+ "schema_version": "1",
3
+ "updated_at": "",
4
+ "contracts": [
5
+ {
6
+ "code": "AGDF_GATE_BYPASS",
7
+ "category": "agent_process",
8
+ "impact": "block",
9
+ "title": "Gate bypass",
10
+ "description": "A later artefact or implementation was produced without the required exact approval.",
11
+ "applies_to_modes": ["structured_delivery"],
12
+ "gate_effect": ["prd", "sd", "tp", "qa", "uat"],
13
+ "required_evidence": ["approval_log", "artifact_status"],
14
+ "evaluation": "review",
15
+ "owner": "governance"
16
+ },
17
+ {
18
+ "code": "AGDF_QA_WITHOUT_TASK_PLAN_REVIEW",
19
+ "category": "agent_process",
20
+ "impact": "block",
21
+ "title": "QA without task-plan review",
22
+ "description": "QA is evaluated for Structured Delivery without prior task-plan coverage evidence.",
23
+ "applies_to_modes": ["structured_delivery"],
24
+ "gate_effect": ["qa"],
25
+ "required_evidence": ["task_plan_review"],
26
+ "evaluation": "review",
27
+ "owner": "governance"
28
+ },
29
+ {
30
+ "code": "AGDF_PARALLEL_SOT",
31
+ "category": "architecture_integrity",
32
+ "impact": "block",
33
+ "title": "Parallel source of truth",
34
+ "description": "A second source of truth was introduced for product intent, runtime behavior, visible state, policy or persistent domain data.",
35
+ "applies_to_modes": ["structured_delivery", "quick_task"],
36
+ "gate_effect": ["prd", "sd", "tp", "qa"],
37
+ "required_evidence": ["brownfield_analysis", "source_of_truth_reference"],
38
+ "evaluation": "review",
39
+ "owner": "governance"
40
+ },
41
+ {
42
+ "code": "AGDF_DOC_IMPACT_UNCHECKED",
43
+ "category": "doc_spec_drift",
44
+ "impact": "revise",
45
+ "title": "Documentation or SoT impact unchecked",
46
+ "description": "A behavior, architecture, API, UX, policy or runtime change was completed without checking the affected source-of-truth artefacts.",
47
+ "applies_to_modes": ["structured_delivery", "quick_task"],
48
+ "gate_effect": ["qa"],
49
+ "required_evidence": ["sot_impact_review"],
50
+ "evaluation": "review",
51
+ "owner": "docs"
52
+ },
53
+ {
54
+ "code": "AGDF_TEST_SCOPE_UNCLEAR",
55
+ "category": "tp_coverage",
56
+ "impact": "revise",
57
+ "title": "Test scope unclear",
58
+ "description": "Tests were cited but are not traceable to affected acceptance criteria, tasks or risk paths.",
59
+ "applies_to_modes": ["structured_delivery", "quick_task"],
60
+ "gate_effect": ["qa"],
61
+ "required_evidence": ["test_result", "acceptance_mapping"],
62
+ "evaluation": "review",
63
+ "owner": "test"
64
+ },
65
+ {
66
+ "code": "AGDF_QUICK_TASK_EVIDENCE_LIGHT",
67
+ "category": "agent_process",
68
+ "impact": "warn",
69
+ "title": "Quick task evidence light",
70
+ "description": "A Quick Task has minimal evidence that may be acceptable for scope and risk but must remain visible.",
71
+ "applies_to_modes": ["quick_task"],
72
+ "gate_effect": ["none"],
73
+ "required_evidence": ["closeout_note"],
74
+ "evaluation": "review",
75
+ "owner": "governance"
76
+ }
77
+ ]
78
+ }
@@ -0,0 +1,51 @@
1
+ # AGDF Context Graph
2
+
3
+ This file keeps durable delivery knowledge discoverable. It is not a second PRD, SD or task plan.
4
+
5
+ ## Admission Rules
6
+
7
+ A node belongs here only when it has:
8
+
9
+ - concrete evidence
10
+ - affected artefacts or paths
11
+ - a visible risk, decision, invariant or reusable Brownfield finding
12
+ - a next clean step
13
+ - an exit criterion
14
+
15
+ Do not add nodes for general opinions, one-off chat summaries or local observations without future decision value.
16
+
17
+ ## Node Index
18
+
19
+ | ID | Type | Status | Title | Evidence | Next Step |
20
+ |---|---|---|---|---|---|
21
+ | CG-001 | `decision | brownfield_finding | quality_node | sot_invariant | cleanup_obligation | integration_surface` | `draft | active | resolved | superseded | rejected` | | | |
22
+
23
+ ## Relationship Language
24
+
25
+ | Relationship | Meaning |
26
+ |---|---|
27
+ | `derived_from` | An artefact was derived from another artefact |
28
+ | `satisfies` | A task or implementation satisfies a requirement or acceptance criterion |
29
+ | `tests` | A test checks a criterion or risk |
30
+ | `mitigates` | Evidence reduces a risk |
31
+ | `depends_on` | A decision or artefact depends on another |
32
+ | `changes` | A requirement changes a component, artefact or behavior |
33
+ | `supersedes` | A newer artefact replaces an older basis |
34
+ | `blocks` | A defect or risk blocks a gate |
35
+ | `approved_by` | An artefact was approved by a gate |
36
+ | `evidenced_by` | A claim is backed by evidence |
37
+
38
+ ## Nodes
39
+
40
+ ### CG-001 Example
41
+
42
+ - type:
43
+ - status:
44
+ - title:
45
+ - introduced_by:
46
+ - affects:
47
+ - evidence:
48
+ - risk_or_value:
49
+ - next_clean_step:
50
+ - exit_criterion:
51
+ - links:
@@ -0,0 +1,29 @@
1
+ # AGDF Master Backlog
2
+
3
+ This file is the living control pointer for active AGDF delivery work. Detailed UR, PRD, SD, TP, QA and OR artefacts should live in stable paths and be linked from here.
4
+
5
+ ## Rules
6
+
7
+ 1. Keep only steering-relevant work in `Active Backlog`.
8
+ 2. Every active item has exactly one current spec pointer.
9
+ 3. Historical artefacts remain linkable but do not override the current pointer.
10
+ 4. If an item is superseded, mark the replacement.
11
+ 5. If active work grows beyond roughly ten items, triage the backlog.
12
+
13
+ ## Active Backlog
14
+
15
+ | Prio | Key | Title | Status | Current Spec | Notes |
16
+ |---:|---|---|---|---|---|
17
+ | P1 | | | `in_progress | blocked` | | |
18
+
19
+ ## Planned / Parking Lot
20
+
21
+ | Prio | Key | Title | Status | Current Spec | Notes |
22
+ |---:|---|---|---|---|---|
23
+ | P2 | | | `planned | review_needed` | | |
24
+
25
+ ## Completed / Superseded Pointers
26
+
27
+ | Key | Title | Final Status | Current or Historical Link | Notes |
28
+ |---|---|---|---|---|
29
+ | | | `done | superseded | abandoned` | | |
@@ -0,0 +1,25 @@
1
+ # AGDF Source-of-Truth Registry
2
+
3
+ Use this file to prevent parallel sources of truth. Each domain should have one primary owner.
4
+
5
+ ## Primary Sources of Truth
6
+
7
+ | Domain | SoT Document | Status | Owner | Last Verified |
8
+ |---|---|---|---|---|
9
+ | Product intent | | `active | draft | superseded` | | |
10
+ | Architecture | | `active | draft | superseded` | | |
11
+ | Runtime contracts | | `active | draft | superseded` | | |
12
+ | UX / user flows | | `active | draft | superseded` | | |
13
+ | Operations / release | | `active | draft | superseded` | | |
14
+
15
+ ## Secondary References
16
+
17
+ Secondary references may support decisions, but they do not override the primary SoT.
18
+
19
+ | Reference | Purpose | Limit |
20
+ |---|---|---|
21
+ | | | |
22
+
23
+ ## Conflict Rule
24
+
25
+ When a secondary document, generated output, old snapshot or chat summary conflicts with the primary SoT, the primary SoT wins until a new approved artefact changes it.
@@ -0,0 +1,15 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "bash -lc 'for hook in \"${CODEX_HOME:-$HOME/.codex}\"/plugins/cache/*/agdf/*/hooks/session-start.sh \"$PWD/plugins/agdf/hooks/session-start.sh\" \"$(dirname \"$0\")/session-start.sh\"; do [ -f \"$hook\" ] && exec bash \"$hook\"; done; exit 0'",
9
+ "statusMessage": "Loading AGDF..."
10
+ }
11
+ ]
12
+ }
13
+ ]
14
+ }
15
+ }
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+ # AGDF Session Start Hook
3
+ # Loads the AGDF constitution into the agent session.
4
+
5
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
+ CONSTITUTION="${SCRIPT_DIR}/../meta/agdf-constitution.md"
7
+
8
+ if [ -f "$CONSTITUTION" ]; then
9
+ cat "$CONSTITUTION"
10
+ fi