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.
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/CHANGELOG.md +23 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/PKG-INFO +43 -5
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/README.md +42 -4
- agentic_development_framework-0.2.0/docs/ANTIGRAVITY_SETUP.md +58 -0
- agentic_development_framework-0.2.0/docs/APPROVALS_AND_REVISIONS.md +24 -0
- agentic_development_framework-0.2.0/docs/COMMAND_REFERENCE.md +40 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/IMPLEMENTATION_PROGRESS.md +19 -6
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/PYPI_RELEASE.md +3 -3
- agentic_development_framework-0.2.0/docs/STAGE_EXECUTION.md +36 -0
- agentic_development_framework-0.2.0/docs/WORKFLOW_ARCHITECTURE.md +45 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/scripts/release_acceptance.py +42 -6
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/__init__.py +1 -1
- agentic_development_framework-0.2.0/src/agentic_framework/adapters/generator.py +226 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/cli.py +169 -4
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/command_registry.py +3 -3
- agentic_development_framework-0.2.0/src/agentic_framework/core/custom_commands.py +119 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/initialization.py +19 -5
- agentic_development_framework-0.2.0/src/agentic_framework/core/stages.py +337 -0
- agentic_development_framework-0.2.0/src/agentic_framework/core/workflow.py +303 -0
- agentic_development_framework-0.2.0/src/agentic_framework/state/database.py +453 -0
- agentic_development_framework-0.2.0/src/agentic_framework/templates/skills/agentic-commands/SKILL.md +52 -0
- agentic_development_framework-0.2.0/tests/acceptance/test_commands_cli.py +177 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/acceptance/test_init_cli.py +1 -1
- agentic_development_framework-0.2.0/tests/integration/test_stage_execution.py +182 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/integration/test_workflow_recovery.py +11 -7
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_adapters.py +17 -2
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_cli.py +1 -1
- agentic_development_framework-0.2.0/tests/unit/test_custom_commands.py +50 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_state.py +17 -3
- agentic_development_framework-0.1.0/src/agentic_framework/adapters/generator.py +0 -139
- agentic_development_framework-0.1.0/src/agentic_framework/core/workflow.py +0 -94
- agentic_development_framework-0.1.0/src/agentic_framework/state/database.py +0 -231
- agentic_development_framework-0.1.0/src/agentic_framework/templates/skills/agentic-commands/SKILL.md +0 -22
- agentic_development_framework-0.1.0/tests/acceptance/test_commands_cli.py +0 -56
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/.gitignore +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/LICENSE +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/ACCEPTANCE_REPORT.md +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/IMPLEMENTATION_PLAN.md +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/REQUIREMENTS_MANAGEMENT.md +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/pyproject.toml +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/scripts/installed_distribution_tests.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/__main__.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/adapters/__init__.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/__init__.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/config.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/core/project.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/exceptions.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/logging.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/__init__.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/comparison.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/extraction.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/ingestion.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/requirements_manager/traceability.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/state/__init__.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/src/agentic_framework/templates/__init__.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/acceptance/test_requirements_cli.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/integration/test_requirements_ingestion.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_comparison.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_config.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_extraction.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_initialization.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_logging.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_package_resources.py +0 -0
- {agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/tests/unit/test_project.py +0 -0
- {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.
|
|
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,
|
|
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.
|
|
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`,
|
|
142
|
-
`.agents/skills/agentic-commands/`, and
|
|
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,
|
|
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.
|
|
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`,
|
|
110
|
-
`.agents/skills/agentic-commands/`, and
|
|
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:
|
|
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
|
|
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:
|
|
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
|
|
129
|
-
|
|
130
|
-
|
|
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
|
|
{agentic_development_framework-0.1.0 → agentic_development_framework-0.2.0}/docs/PYPI_RELEASE.md
RENAMED
|
@@ -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.
|
|
88
|
-
git push origin v0.
|
|
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.
|
|
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] ==
|
|
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 {
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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 "
|
|
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)
|