agentic-development-framework 0.1.0__tar.gz → 0.2.0__tar.gz

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 (65) hide show
  1. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/CHANGELOG.md +23 -0
  2. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/PKG-INFO +43 -5
  3. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/README.md +42 -4
  4. agentic_development_framework-0.2.0/docs/ANTIGRAVITY_SETUP.md +58 -0
  5. agentic_development_framework-0.2.0/docs/APPROVALS_AND_REVISIONS.md +24 -0
  6. agentic_development_framework-0.2.0/docs/COMMAND_REFERENCE.md +40 -0
  7. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/IMPLEMENTATION_PROGRESS.md +19 -6
  8. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/PYPI_RELEASE.md +3 -3
  9. agentic_development_framework-0.2.0/docs/STAGE_EXECUTION.md +36 -0
  10. agentic_development_framework-0.2.0/docs/WORKFLOW_ARCHITECTURE.md +45 -0
  11. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/scripts/release_acceptance.py +42 -6
  12. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/__init__.py +1 -1
  13. agentic_development_framework-0.2.0/src/agentic_framework/adapters/generator.py +226 -0
  14. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/cli.py +169 -4
  15. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/command_registry.py +3 -3
  16. agentic_development_framework-0.2.0/src/agentic_framework/core/custom_commands.py +119 -0
  17. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/initialization.py +19 -5
  18. agentic_development_framework-0.2.0/src/agentic_framework/core/stages.py +337 -0
  19. agentic_development_framework-0.2.0/src/agentic_framework/core/workflow.py +303 -0
  20. agentic_development_framework-0.2.0/src/agentic_framework/state/database.py +453 -0
  21. agentic_development_framework-0.2.0/src/agentic_framework/templates/skills/agentic-commands/SKILL.md +52 -0
  22. agentic_development_framework-0.2.0/tests/acceptance/test_commands_cli.py +177 -0
  23. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/acceptance/test_init_cli.py +1 -1
  24. agentic_development_framework-0.2.0/tests/integration/test_stage_execution.py +182 -0
  25. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/integration/test_workflow_recovery.py +11 -7
  26. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_adapters.py +17 -2
  27. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_cli.py +1 -1
  28. agentic_development_framework-0.2.0/tests/unit/test_custom_commands.py +50 -0
  29. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_state.py +17 -3
  30. agentic_development_framework-0.1.0/src/agentic_framework/adapters/generator.py +0 -139
  31. agentic_development_framework-0.1.0/src/agentic_framework/core/workflow.py +0 -94
  32. agentic_development_framework-0.1.0/src/agentic_framework/state/database.py +0 -231
  33. agentic_development_framework-0.1.0/src/agentic_framework/templates/skills/agentic-commands/SKILL.md +0 -22
  34. agentic_development_framework-0.1.0/tests/acceptance/test_commands_cli.py +0 -56
  35. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/.gitignore +0 -0
  36. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/LICENSE +0 -0
  37. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/ACCEPTANCE_REPORT.md +0 -0
  38. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/IMPLEMENTATION_PLAN.md +0 -0
  39. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/REQUIREMENTS_MANAGEMENT.md +0 -0
  40. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/pyproject.toml +0 -0
  41. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/scripts/installed_distribution_tests.py +0 -0
  42. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/__main__.py +0 -0
  43. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/adapters/__init__.py +0 -0
  44. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/__init__.py +0 -0
  45. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/config.py +0 -0
  46. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/project.py +0 -0
  47. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/exceptions.py +0 -0
  48. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/logging.py +0 -0
  49. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/__init__.py +0 -0
  50. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/comparison.py +0 -0
  51. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/extraction.py +0 -0
  52. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/ingestion.py +0 -0
  53. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/traceability.py +0 -0
  54. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/state/__init__.py +0 -0
  55. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/templates/__init__.py +0 -0
  56. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/acceptance/test_requirements_cli.py +0 -0
  57. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/integration/test_requirements_ingestion.py +0 -0
  58. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_comparison.py +0 -0
  59. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_config.py +0 -0
  60. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_extraction.py +0 -0
  61. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_initialization.py +0 -0
  62. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_logging.py +0 -0
  63. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_package_resources.py +0 -0
  64. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_project.py +0 -0
  65. {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_traceability.py +0 -0
@@ -4,6 +4,29 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.2.0 - 2026-11-02
8
+
9
+ ### Added
10
+
11
+ - Machine-readable IDE-agent stage execution contracts for all nineteen workflow stages.
12
+ - Persistent execution attempts, current tasks, blockers, errors, and explicit stage-completion
13
+ commands.
14
+ - SHA-256 artifact validation, mandatory approval gates, revision feedback, and preserved review
15
+ snapshots.
16
+ - Additive runtime schema migration plus Antigravity execution and recovery documentation.
17
+ - Command-named Antigravity workspace skills so `/continue` invokes IDE-agent execution rather
18
+ than relying on rule interpretation alone.
19
+ - State-aware `/adf` requests, `/adf-resume`, and safe project-specific slash-command generation.
20
+
21
+ ### Changed
22
+
23
+ - `adt continue` now prepares or resumes the current stage and cannot silently advance it.
24
+ - Project initialization completes its own stage and leaves project discovery pending for the IDE
25
+ agent.
26
+ - Clean-install acceptance now validates generated Antigravity command skills and stage execution.
27
+
28
+ ## 0.1.0 - 2026-11-02
29
+
7
30
  ### Added
8
31
 
9
32
  - Initial package and CLI foundation.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentic-development-framework
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: A local-first framework for agentic software development workflows.
5
5
  Project-URL: Homepage, https://github.com/Badsha-ugv/ide-agentic-development-framework
6
6
  Project-URL: Repository, https://github.com/Badsha-ugv/ide-agentic-development-framework
@@ -38,7 +38,8 @@ human-controlled software development workflows driven through IDE coding agents
38
38
  The project is being delivered incrementally. The current implementation provides the
39
39
  installable package, strict configuration validation, structured logging, safe project
40
40
  initialization, immutable requirements versioning, SQLite workflow state, recovery checkpoints,
41
- lifecycle commands, and Codex/Antigravity project configuration.
41
+ lifecycle commands, structured stage execution contracts, artifact validation, approval history,
42
+ and Codex/Antigravity project configuration.
42
43
 
43
44
  ## Requirements
44
45
 
@@ -78,11 +79,19 @@ adt status
78
79
  adt pause
79
80
  adt resume
80
81
  adt continue
82
+ adt stage show
83
+ adt stage task "custom stage-scoped task"
84
+ adt artifact register docs/discovery/project-overview.md
85
+ adt artifact list
86
+ adt stage complete
87
+ adt stage fail --blocked "Clarification required"
81
88
  adt stop
82
89
  adt review
83
90
  adt approve requirements_review
84
91
  adt revise requirements_review "Clarify the acceptance criteria"
85
92
  adt tasks
93
+ adt command create verify-api "Run the current-stage API checks"
94
+ adt command list
86
95
  ```
87
96
 
88
97
  The validation command prints the normalized configuration as YAML and exits with code 2
@@ -134,16 +143,45 @@ Initialization creates `.agentic/database/agentic.db` as the transactional sourc
134
143
  inspection snapshots under `.agentic/state/`, a JSONL event history, and checkpoint storage.
135
144
  Pause and stop persist checkpoints. Resume verifies checkpoint integrity and restores the
136
145
  checkpoint stage instead of trusting potentially inconsistent conversational context or snapshot
137
- files. Mandatory workflow approval stages cannot advance until approval is recorded.
146
+ files. Execution status, current task, attempts, errors, blockers, registered artifact hashes,
147
+ approvals, and revisions survive IDE and computer restarts. Mandatory workflow approval stages
148
+ cannot advance until approval is recorded.
149
+
150
+ `adt start` and `adt continue` prepare the current stage; they do not pretend that an AI task was
151
+ completed and never silently skip deliverables. The IDE agent performs reasoning and file changes
152
+ using `.agentic/execution-contracts.yaml`. It registers each output with `adt artifact register`,
153
+ then uses `adt stage complete` to validate and advance. Review stages stop at
154
+ `awaiting_approval` until an explicit `adt approve` or `adt revise` operation. See
155
+ [`docs/WORKFLOW_ARCHITECTURE.md`](docs/WORKFLOW_ARCHITECTURE.md),
156
+ [`docs/COMMAND_REFERENCE.md`](docs/COMMAND_REFERENCE.md), and
157
+ [`docs/STAGE_EXECUTION.md`](docs/STAGE_EXECUTION.md).
138
158
 
139
159
  ## IDE configuration
140
160
 
141
- ADF generates root `AGENTS.md`, a shared command skill under
142
- `.agents/skills/agentic-commands/`, and Antigravity rules under `.agents/rules/`. The Codex adapter
161
+ ADF generates root `AGENTS.md`, command-named Antigravity skills under `.agents/skills/`, a shared
162
+ execution protocol under `.agents/skills/agentic-commands/`, and rules under `.agents/rules/`.
163
+ Antigravity indexes each skill as `/<skill-name>`, so `/continue` invokes the generated `continue`
164
+ skill and causes the IDE agent—not the terminal process—to execute the current stage. The Codex adapter
143
165
  uses the documented root instructions and repository-local skill surfaces. The `.codex/agents/`
144
166
  directory contains an informational compatibility note; ADF does not claim an undocumented
145
167
  custom-agent file format is automatically discovered.
146
168
 
169
+ After `adt init` and `adt requirements ingest`, open the project root in Antigravity and type
170
+ `/continue`. Generated rules instruct the agent to load the current contract, perform project
171
+ discovery, create and register its four discovery documents, and persist a blocker instead of
172
+ fabricating missing answers. See [`docs/ANTIGRAVITY_SETUP.md`](docs/ANTIGRAVITY_SETUP.md) and
173
+ [`docs/APPROVALS_AND_REVISIONS.md`](docs/APPROVALS_AND_REVISIONS.md).
174
+
175
+ Use `/adf <request>` for an ad hoc request that must remain bound to the current stage and status.
176
+ To register a reusable project-specific slash command, run `adt command create NAME
177
+ "INSTRUCTIONS"`; `/NAME` then performs the same persisted-state and contract preflight. Because
178
+ Antigravity reserves `/resume` for its conversation feature, ADF checkpoint recovery is exposed as
179
+ `/adf-resume`.
180
+
181
+ For projects initialized by an earlier ADF version, upgrade the package and rerun `adt init`.
182
+ SQLite schema migration is automatic and additive. New managed files are created, while conflicts
183
+ with customized guidance are preserved as `.agentic/proposals/**/*.proposed` for manual review.
184
+
147
185
  ## Configuration
148
186
 
149
187
  ADF configuration uses YAML and rejects unknown keys to catch mistakes early:
@@ -6,7 +6,8 @@ human-controlled software development workflows driven through IDE coding agents
6
6
  The project is being delivered incrementally. The current implementation provides the
7
7
  installable package, strict configuration validation, structured logging, safe project
8
8
  initialization, immutable requirements versioning, SQLite workflow state, recovery checkpoints,
9
- lifecycle commands, and Codex/Antigravity project configuration.
9
+ lifecycle commands, structured stage execution contracts, artifact validation, approval history,
10
+ and Codex/Antigravity project configuration.
10
11
 
11
12
  ## Requirements
12
13
 
@@ -46,11 +47,19 @@ adt status
46
47
  adt pause
47
48
  adt resume
48
49
  adt continue
50
+ adt stage show
51
+ adt stage task "custom stage-scoped task"
52
+ adt artifact register docs/discovery/project-overview.md
53
+ adt artifact list
54
+ adt stage complete
55
+ adt stage fail --blocked "Clarification required"
49
56
  adt stop
50
57
  adt review
51
58
  adt approve requirements_review
52
59
  adt revise requirements_review "Clarify the acceptance criteria"
53
60
  adt tasks
61
+ adt command create verify-api "Run the current-stage API checks"
62
+ adt command list
54
63
  ```
55
64
 
56
65
  The validation command prints the normalized configuration as YAML and exits with code 2
@@ -102,16 +111,45 @@ Initialization creates `.agentic/database/agentic.db` as the transactional sourc
102
111
  inspection snapshots under `.agentic/state/`, a JSONL event history, and checkpoint storage.
103
112
  Pause and stop persist checkpoints. Resume verifies checkpoint integrity and restores the
104
113
  checkpoint stage instead of trusting potentially inconsistent conversational context or snapshot
105
- files. Mandatory workflow approval stages cannot advance until approval is recorded.
114
+ files. Execution status, current task, attempts, errors, blockers, registered artifact hashes,
115
+ approvals, and revisions survive IDE and computer restarts. Mandatory workflow approval stages
116
+ cannot advance until approval is recorded.
117
+
118
+ `adt start` and `adt continue` prepare the current stage; they do not pretend that an AI task was
119
+ completed and never silently skip deliverables. The IDE agent performs reasoning and file changes
120
+ using `.agentic/execution-contracts.yaml`. It registers each output with `adt artifact register`,
121
+ then uses `adt stage complete` to validate and advance. Review stages stop at
122
+ `awaiting_approval` until an explicit `adt approve` or `adt revise` operation. See
123
+ [`docs/WORKFLOW_ARCHITECTURE.md`](docs/WORKFLOW_ARCHITECTURE.md),
124
+ [`docs/COMMAND_REFERENCE.md`](docs/COMMAND_REFERENCE.md), and
125
+ [`docs/STAGE_EXECUTION.md`](docs/STAGE_EXECUTION.md).
106
126
 
107
127
  ## IDE configuration
108
128
 
109
- ADF generates root `AGENTS.md`, a shared command skill under
110
- `.agents/skills/agentic-commands/`, and Antigravity rules under `.agents/rules/`. The Codex adapter
129
+ ADF generates root `AGENTS.md`, command-named Antigravity skills under `.agents/skills/`, a shared
130
+ execution protocol under `.agents/skills/agentic-commands/`, and rules under `.agents/rules/`.
131
+ Antigravity indexes each skill as `/<skill-name>`, so `/continue` invokes the generated `continue`
132
+ skill and causes the IDE agent—not the terminal process—to execute the current stage. The Codex adapter
111
133
  uses the documented root instructions and repository-local skill surfaces. The `.codex/agents/`
112
134
  directory contains an informational compatibility note; ADF does not claim an undocumented
113
135
  custom-agent file format is automatically discovered.
114
136
 
137
+ After `adt init` and `adt requirements ingest`, open the project root in Antigravity and type
138
+ `/continue`. Generated rules instruct the agent to load the current contract, perform project
139
+ discovery, create and register its four discovery documents, and persist a blocker instead of
140
+ fabricating missing answers. See [`docs/ANTIGRAVITY_SETUP.md`](docs/ANTIGRAVITY_SETUP.md) and
141
+ [`docs/APPROVALS_AND_REVISIONS.md`](docs/APPROVALS_AND_REVISIONS.md).
142
+
143
+ Use `/adf <request>` for an ad hoc request that must remain bound to the current stage and status.
144
+ To register a reusable project-specific slash command, run `adt command create NAME
145
+ "INSTRUCTIONS"`; `/NAME` then performs the same persisted-state and contract preflight. Because
146
+ Antigravity reserves `/resume` for its conversation feature, ADF checkpoint recovery is exposed as
147
+ `/adf-resume`.
148
+
149
+ For projects initialized by an earlier ADF version, upgrade the package and rerun `adt init`.
150
+ SQLite schema migration is automatic and additive. New managed files are created, while conflicts
151
+ with customized guidance are preserved as `.agentic/proposals/**/*.proposed` for manual review.
152
+
115
153
  ## Configuration
116
154
 
117
155
  ADF configuration uses YAML and rejects unknown keys to catch mistakes early:
@@ -0,0 +1,58 @@
1
+ # Antigravity setup
2
+
3
+ Run these commands in the target project:
4
+
5
+ ```bash
6
+ adt init
7
+ adt requirements ingest
8
+ ```
9
+
10
+ Then open the project root in Antigravity. ADF generates:
11
+
12
+ - root `AGENTS.md` project guidance;
13
+ - `.agents/rules/adf.md` command interpretation rules;
14
+ - `.agents/skills/<command>/SKILL.md` files that register commands such as `/continue`;
15
+ - `.agents/skills/agentic-commands/SKILL.md` with the shared execution loop;
16
+ - `.agents/skills/adf/SKILL.md` for state-aware custom requests;
17
+ - `.agents/skills/adf-resume/SKILL.md` for ADF checkpoint recovery; and
18
+ - `.agentic/execution-contracts.yaml` with stage-specific responsibilities and outputs.
19
+
20
+ Start a new conversation and type `/continue`. Antigravity should interpret it as an ADF request,
21
+ run `adt start` when the workflow is not active or `adt continue` when it is active, execute the
22
+ reported stage, and persist its artifacts. ADF does not install a proprietary slash-command
23
+ extension. Modern Antigravity directly indexes workspace skills and invokes a skill named
24
+ `continue` as `/continue`. Legacy `.agents/workflows/` files are intentionally not generated,
25
+ because Antigravity stopped indexing them on October 19, 2026.
26
+
27
+ Running `adt continue` in an ordinary terminal does **not** call the Antigravity model. It only
28
+ prepares and persists the current stage. Invoking `/continue` in Antigravity loads the generated
29
+ skill, so the IDE agent calls the CLI, reads the contract, reasons about the project, writes and
30
+ registers artifacts, and completes or blocks the stage.
31
+
32
+ For an ad hoc request tied to durable state, type `/adf <request>`. To add a reusable custom slash
33
+ command:
34
+
35
+ ```bash
36
+ adt command create verify-api "Run API verification relevant to the current stage"
37
+ ```
38
+
39
+ Antigravity then exposes `/verify-api`. The wrapper always reads status and the current contract,
40
+ persists its task with `adt stage task`, and refuses to skip prerequisites or approval gates.
41
+ Existing skill files are preserved and cannot be overwritten by this command.
42
+
43
+ Antigravity already owns `/resume` for conversation recovery. Use `/adf-resume` when you mean ADF
44
+ checkpoint recovery.
45
+
46
+ If the agent only prints CLI state, ask it to re-read the generated `agentic-commands` skill and
47
+ execution contract. Confirm the installed framework version contains the current skill, then rerun
48
+ `adt init`. Existing customized generated files are never overwritten; inspect corresponding
49
+ `.agentic/proposals/**/*.proposed` files and merge the update deliberately.
50
+
51
+ After creating or upgrading skills, reopen the project or start a new Antigravity chat if the
52
+ slash-command autocomplete has not refreshed.
53
+
54
+ Use `adt status`, `adt artifact list`, and `adt stage show` to verify durable state independently of
55
+ the IDE conversation.
56
+
57
+ References: [Antigravity workflows-to-skills migration](https://antigravity.google/docs/migration/workflows-to-skills/)
58
+ and [Antigravity workflow documentation](https://antigravity.google/docs/ide/workflows/).
@@ -0,0 +1,24 @@
1
+ # Approvals and revisions
2
+
3
+ Requirements, architecture, design, and release review are mandatory human approval gates.
4
+ Creating documents does not approve them.
5
+
6
+ When `adt stage complete` validates a review stage, its execution becomes `awaiting_approval` and
7
+ the workflow remains on that stage. Use `adt review` to inspect registered deliverables. Only an
8
+ explicit `adt approve STAGE` records approval and advances.
9
+
10
+ To request changes:
11
+
12
+ ```bash
13
+ adt revise requirements_review "Clarify administrator permissions and acceptance criteria"
14
+ ```
15
+
16
+ ADF copies the submitted registered artifacts to
17
+ `.agentic/revisions/STAGE/revision-N/`, records the feedback and snapshot path in SQLite, and
18
+ returns the same stage to `in_progress`. The IDE agent updates only affected working documents,
19
+ registers their new hashes, revalidates all deliverables, and runs `adt stage complete` again.
20
+ Approval is requested again; revision feedback never implies approval.
21
+
22
+ Revision snapshots, artifact metadata revisions, approval state, event history, and checkpoints
23
+ survive process and IDE restarts. The normal project documents remain the editable working copy;
24
+ the snapshot is the immutable review-history evidence.
@@ -0,0 +1,40 @@
1
+ # Command reference
2
+
3
+ Commands are available as CLI operations. Antigravity discovers workspace skills at
4
+ `.agents/skills/<name>/SKILL.md` and exposes them as `/<name>`. ADF generates command-named skills
5
+ that delegate to the shared `agentic-commands` execution protocol.
6
+
7
+ | IDE request | CLI operation | Contract |
8
+ |---|---|---|
9
+ | `/start` | `adt start` | Activate and prepare the first pending stage; the IDE agent then executes it. |
10
+ | `/continue` | `adt continue` | Prepare or resume the current stage; never silently advance. |
11
+ | `/status` | `adt status` | Show workflow stage, execution state, current task, attempts, approval, artifacts, errors, and blockers. |
12
+ | `/pause` | `adt pause` | Pause and create a checkpoint. |
13
+ | `/adf-resume` | `adt resume`, then `adt continue` | Validate the latest checkpoint, restore its stage, and continue IDE-agent execution. Antigravity owns the built-in `/resume`. |
14
+ | `/stop` | `adt stop` | Stop and checkpoint without deleting progress. |
15
+ | `/review` | `adt review` | List pending/revision-requested gates and registered deliverables. |
16
+ | `/approve STAGE` | `adt approve STAGE` | Explicitly approve the current waiting gate and advance. |
17
+ | `/revise STAGE FEEDBACK` | `adt revise STAGE FEEDBACK` | Preserve the submitted version, store feedback, and reopen the same stage. |
18
+ | `/help` | `adt help` | Explain framework commands. |
19
+
20
+ Execution support commands:
21
+
22
+ ```bash
23
+ adt stage show
24
+ adt stage task "custom stage-scoped request"
25
+ adt artifact register docs/discovery/project-overview.md
26
+ adt artifact list
27
+ adt stage complete
28
+ adt stage fail "test command failed"
29
+ adt stage fail --blocked "Product owner must answer the retention question"
30
+ adt command create verify-api "Run API verification relevant to the current stage"
31
+ adt command list
32
+ ```
33
+
34
+ `adt stage complete` is the normal advancement operation. It fails when required outputs are
35
+ missing, empty, unregistered, or changed after registration. Re-register a changed file before
36
+ retrying completion.
37
+
38
+ `/adf <request>` is the generic state-aware entry point. A command created with `adt command create`
39
+ also performs status and contract preflight, persists its current task, and cannot bypass stage
40
+ prerequisites, policy, validation, or approvals.
@@ -69,7 +69,7 @@ future SQLite runtime and command registry.
69
69
 
70
70
  ## Phase 3 — Runtime and persistence
71
71
 
72
- Status: core acceptance scope complete (2026-11-02)
72
+ Status: persistent execution scope complete (2026-11-02)
73
73
 
74
74
  - [x] SQLite schema and idempotent initialization
75
75
  - [x] Persistent workflow, task, approval, checkpoint, and event tables
@@ -77,23 +77,32 @@ Status: core acceptance scope complete (2026-11-02)
77
77
  - [x] JSONL event history
78
78
  - [x] Integrity-checked pause/stop checkpoints
79
79
  - [x] Cross-process recovery from the verified checkpoint stage
80
+ - [x] Additive schema-v2 migration for existing initialized projects
81
+ - [x] Persistent stage status, current task, attempts, blockers, and errors
82
+ - [x] SHA-256 artifact registration and metadata revisions
83
+ - [x] Approval feedback and immutable submitted-revision snapshots
80
84
 
81
85
  ## Phase 4 — Command system
82
86
 
83
- Status: lifecycle acceptance scope complete (2026-11-02)
87
+ Status: execution-aware lifecycle scope complete (2026-11-02)
84
88
 
85
89
  - [x] Central command registry
86
90
  - [x] Start, status, pause, resume, continue, stop, and help
87
91
  - [x] Review, approve, revise, requirements, and tasks
88
92
  - [x] Expected failures return actionable errors without tracebacks
93
+ - [x] Continue prepares/resumes the current stage without silently advancing
94
+ - [x] Stage contract inspection, artifact registration/listing, completion, failure, and blockers
89
95
 
90
96
  ## Phase 6 — Agent and workflow system
91
97
 
92
- Status: configuration foundation complete; execution remains incomplete
98
+ Status: IDE-agent execution contract complete; specialist delegation remains incremental
93
99
 
94
100
  - [x] Canonical configurable lifecycle with approval metadata
95
101
  - [x] Eleven canonical agent definitions and safety fields
96
102
  - [x] Approval-gate enforcement
103
+ - [x] Structured execution contracts for all nineteen lifecycle stages
104
+ - [x] Deliverable presence, non-empty content, and registered-hash validation
105
+ - [x] Discovery, requirements, architecture, design, planning, delivery, and release outputs
97
106
  - [ ] Task dependencies and genuine sequential specialist execution
98
107
 
99
108
  ## Phase 7 — IDE adapters
@@ -104,6 +113,10 @@ Status: Codex and Antigravity acceptance scope complete; VS Code remains incompl
104
113
  - [x] Validated repository-local Codex command skill
105
114
  - [x] Antigravity rules and shared skill
106
115
  - [x] Explicit documentation of unsupported/undocumented custom-agent discovery
116
+ - [x] Real command-named Antigravity skills for `/start`, `/continue`, status, and review actions
117
+ - [x] `/adf-resume` recovery command that avoids Antigravity's built-in `/resume` collision
118
+ - [x] State-aware `/adf <request>` and safe custom slash-command generation
119
+ - [x] Antigravity setup, command, stage execution, approval, and migration documentation
107
120
  - [ ] VS Code agent-environment generation and validation
108
121
 
109
122
  ## Release acceptance review
@@ -125,7 +138,7 @@ Status: PyPI 0.1.0 release gates passed (2026-11-02)
125
138
 
126
139
  ## Remaining phases
127
140
 
128
- Phase 8, Phase 9, the VS Code portion of Phase 7, and the execution portion of Phase 6 remain on
129
- the broader framework roadmap. They are not represented as implemented in the 0.1.0 alpha release;
130
- their scope and dependencies are documented in `docs/IMPLEMENTATION_PLAN.md`.
141
+ Phase 8, broader Phase 9 integrations, the VS Code portion of Phase 7, and native AI-provider
142
+ integration remain on the roadmap. IDE agents are the supported reasoning layer; the CLI does not
143
+ embed or call a paid model API. These changes are included in the 0.2.0 release candidate.
131
144
 
@@ -84,8 +84,8 @@ Review the complete diff and confirm CI on `main` is green. Then create and push
84
84
  git switch main
85
85
  git pull --ff-only
86
86
  git status --short
87
- git tag -s v0.1.0 -m "Release 0.1.0"
88
- git push origin v0.1.0
87
+ git tag -s v0.2.0 -m "Release 0.2.0"
88
+ git push origin v0.2.0
89
89
  ```
90
90
 
91
91
  Use an annotated unsigned tag (`git tag -a`) only if signed tags are not available. Do not reuse a
@@ -104,7 +104,7 @@ must all pass before the OIDC publishing job can run.
104
104
  ```bash
105
105
  verify_tmp="$(mktemp -d)"
106
106
  python -m venv "$verify_tmp/venv"
107
- "$verify_tmp/venv/bin/python" -m pip install agentic-development-framework==0.1.0
107
+ "$verify_tmp/venv/bin/python" -m pip install agentic-development-framework==0.2.0
108
108
  "$verify_tmp/venv/bin/adt" --version
109
109
  "$verify_tmp/venv/bin/adt" --help
110
110
  ```
@@ -0,0 +1,36 @@
1
+ # Stage execution guide
2
+
3
+ Every initialized project receives `.agentic/execution-contracts.yaml`. Each contract contains a
4
+ stage ID and name, objective, prerequisites, required inputs, specialist role, responsibilities,
5
+ instructions, expected outputs, validation criteria, completion conditions, approval requirement,
6
+ failure behavior, and retry limit.
7
+
8
+ ## IDE-agent loop
9
+
10
+ For `/start`, `/continue`, and `/adf-resume`, the agent must:
11
+
12
+ 1. inspect `adt status` and prepare the current stage;
13
+ 2. select that stage from `.agentic/execution-contracts.yaml`;
14
+ 3. read all available required inputs and relevant source;
15
+ 4. perform the responsibilities without fabricating missing facts;
16
+ 5. ask questions and persist an actionable blocker when material information is absent;
17
+ 6. create every expected output and run its validation criteria;
18
+ 7. register every output's current bytes;
19
+ 8. complete the stage, or record a failure/blocker; and
20
+ 9. summarize artifacts, checks, state, and next user action.
21
+
22
+ Project discovery produces:
23
+
24
+ - `docs/discovery/project-overview.md`
25
+ - `docs/discovery/stakeholder-analysis.md`
26
+ - `docs/discovery/clarification-log.md`
27
+ - `docs/discovery/assumptions-and-risks.md`
28
+
29
+ Facts, assumptions, risks, and open questions must remain distinct. Missing product decisions go
30
+ into the clarification log; the agent must not invent answers. Requirements stages then create
31
+ stable IDs, acceptance criteria, traceability, and the SRS before the requirements approval gate.
32
+
33
+ Later contracts cover architecture, a Figma-backed or local interactive design prototype,
34
+ development planning, implementation, integration, testing, review, delivery validation,
35
+ documentation, and release review. The contract file—not conversational memory—is the durable
36
+ definition of the next work.
@@ -0,0 +1,45 @@
1
+ # Workflow architecture
2
+
3
+ ADF separates reasoning from durable control.
4
+
5
+ The IDE agent is the execution layer. It reads project inputs, applies a specialist role, asks
6
+ questions, writes artifacts, and runs verification. The `adt` CLI is the control plane. It does
7
+ not contain an AI provider and cannot honestly claim that analysis occurred. It persists workflow
8
+ and execution state in SQLite, registers artifact hashes, validates completion, enforces approval
9
+ gates, creates checkpoints, and records retries.
10
+
11
+ ## Transition model
12
+
13
+ Each stage follows this sequence:
14
+
15
+ 1. `adt start` or `adt continue` changes the current execution to `in_progress` and returns its
16
+ contract. It never completes or advances the stage.
17
+ 2. The IDE agent reads `.agentic/execution-contracts.yaml`, inspects inputs, performs the work, and
18
+ creates the required outputs.
19
+ 3. `adt artifact register PATH` records the stage, path, byte size, SHA-256, and metadata revision.
20
+ 4. `adt stage complete` verifies that every output pattern resolves to non-empty files and that
21
+ every file's current hash is registered.
22
+ 5. A normal stage becomes `completed` and advances. A review stage becomes `awaiting_approval` and
23
+ does not advance.
24
+ 6. `adt approve STAGE` records explicit approval, completes the review stage, and advances.
25
+ `adt revise STAGE FEEDBACK` snapshots the submitted files and returns the same stage to
26
+ `in_progress`.
27
+
28
+ SQLite under `.agentic/database/` is authoritative. JSON files under `.agentic/state/` are
29
+ inspection snapshots only. Requirements source versions remain independently immutable under
30
+ `requirements/versions/`.
31
+
32
+ ## Recovery
33
+
34
+ Pause and stop create integrity-checked checkpoints. Resume validates the newest checkpoint and
35
+ restores its stage. Stage execution rows retain the current task, attempt count, blocker, error,
36
+ timestamps, and completion state across IDE sessions. Artifact, approval, and revision records are
37
+ included in checkpoints.
38
+
39
+ ## Compatibility
40
+
41
+ Schema version 1 databases are upgraded additively to schema version 2 when any workflow command
42
+ opens them. Existing workflow rows, requirements versions, tasks, approvals, checkpoints, and
43
+ events are preserved. Re-run `adt init` after upgrading ADF to install newly introduced managed
44
+ files. Conflicting generated instructions are preserved and updated content is written below
45
+ `.agentic/proposals/` for review rather than overwriting project customizations.
@@ -64,9 +64,13 @@ def _verify_files(root: Path) -> None:
64
64
  "AGENTS.md",
65
65
  ".agents/rules/adf.md",
66
66
  ".agents/skills/agentic-commands/SKILL.md",
67
+ ".agents/skills/continue/SKILL.md",
68
+ ".agents/skills/adf/SKILL.md",
69
+ ".agents/skills/adf-resume/SKILL.md",
67
70
  ".codex/agents/README.md",
68
71
  ".agentic/config.yaml",
69
72
  ".agentic/workflow.yaml",
73
+ ".agentic/execution-contracts.yaml",
70
74
  ".agentic/policies.yaml",
71
75
  ".agentic/agent-registry.yaml",
72
76
  ".agentic/database/agentic.db",
@@ -92,12 +96,21 @@ def _verify_files(root: Path) -> None:
92
96
  def _verify_database(root: Path) -> None:
93
97
  database = root / ".agentic/database/agentic.db"
94
98
  with closing(sqlite3.connect(database)) as connection:
95
- assert connection.execute("PRAGMA user_version").fetchone()[0] == 1
99
+ assert connection.execute("PRAGMA user_version").fetchone()[0] == 2
96
100
  tables = {
97
101
  row[0]
98
102
  for row in connection.execute("SELECT name FROM sqlite_master WHERE type='table'")
99
103
  }
100
- assert {"workflow", "tasks", "approvals", "checkpoints", "events"} <= tables
104
+ assert {
105
+ "workflow",
106
+ "tasks",
107
+ "approvals",
108
+ "checkpoints",
109
+ "events",
110
+ "stage_executions",
111
+ "artifacts",
112
+ "revisions",
113
+ } <= tables
101
114
 
102
115
 
103
116
  def run_acceptance(artifact: Path) -> dict[str, object]:
@@ -117,7 +130,16 @@ def run_acceptance(artifact: Path) -> dict[str, object]:
117
130
  adt = environment / "bin" / "adt"
118
131
  _run([str(python), "-m", "pip", "install", str(artifact)], cwd=root)
119
132
  assert "Local-first agentic development" in _run([str(adt), "--help"], cwd=root)
120
- assert "adt 0.1.0" in _run([str(adt), "--version"], cwd=root)
133
+ installed_version = _run(
134
+ [
135
+ str(python),
136
+ "-c",
137
+ "import importlib.metadata; "
138
+ "print(importlib.metadata.version('agentic-development-framework'))",
139
+ ],
140
+ cwd=root,
141
+ ).strip()
142
+ assert f"adt {installed_version}" in _run([str(adt), "--version"], cwd=root)
121
143
  assert "Local-first agentic development" in _run(
122
144
  [str(python), "-m", "agentic_framework", "--help"], cwd=root
123
145
  )
@@ -131,7 +153,7 @@ def run_acceptance(artifact: Path) -> dict[str, object]:
131
153
  _verify_files(new_project)
132
154
  _verify_database(new_project)
133
155
  assert "Project mode: new" in new_init
134
- assert "Created files: 10" in new_init
156
+ assert "Created files: 24" in new_init
135
157
  assert "Created files: 0" in new_second_init
136
158
 
137
159
  init_output = _run([str(adt), "init", "--no-git"], cwd=root)
@@ -145,7 +167,7 @@ def run_acceptance(artifact: Path) -> dict[str, object]:
145
167
  report = (root / ".agentic/reports/initialization.md").read_text(encoding="utf-8")
146
168
  assert "Django" in report and "JavaScript" in report and "npm" in report
147
169
  assert "Project mode: existing" in init_output
148
- assert "Created files: 9" in init_output
170
+ assert "Created files: 23" in init_output
149
171
  assert "Conflicts: 1" in init_output
150
172
  assert "Created files: 0" in second_init
151
173
  assert "Conflicts: 1" in second_init
@@ -165,8 +187,22 @@ def run_acceptance(artifact: Path) -> dict[str, object]:
165
187
 
166
188
  assert "Status: active" in _run([str(adt), "start"], cwd=root)
167
189
  assert "project_discovery" in _run([str(adt), "continue"], cwd=root)
190
+ discovery_outputs = (
191
+ "docs/discovery/project-overview.md",
192
+ "docs/discovery/stakeholder-analysis.md",
193
+ "docs/discovery/clarification-log.md",
194
+ "docs/discovery/assumptions-and-risks.md",
195
+ )
196
+ for relative in discovery_outputs:
197
+ output = root / relative
198
+ output.write_text(f"# {output.stem}\n\nAcceptance evidence.\n", encoding="utf-8")
199
+ assert "Registered:" in _run(
200
+ [str(adt), "artifact", "register", relative], cwd=root
201
+ )
202
+ completion = _run([str(adt), "stage", "complete"], cwd=root)
203
+ assert "requirements_ingestion" in completion
168
204
  assert "Status: paused" in _run([str(adt), "pause"], cwd=root)
169
- assert "project_discovery" in _run([str(adt), "status"], cwd=root)
205
+ assert "requirements_ingestion" in _run([str(adt), "status"], cwd=root)
170
206
  assert "Status: active" in _run([str(adt), "resume"], cwd=root)
171
207
  assert "Status: stopped" in _run([str(adt), "stop"], cwd=root)
172
208
  assert "Status: active" in _run([str(adt), "resume"], cwd=root)
@@ -1,6 +1,6 @@
1
1
  """Agentic Development Framework public package metadata."""
2
2
 
3
- __version__ = "0.1.0"
3
+ __version__ = "0.2.0"
4
4
 
5
5
  __all__ = ["__version__"]
6
6