specsmith 0.3.6.dev179__py3-none-any.whl → 0.3.6.dev182__py3-none-any.whl
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.
- specsmith/auditor.py +44 -4
- specsmith/cli.py +29 -7
- specsmith/differ.py +15 -1
- specsmith/exporter.py +2 -1
- specsmith/importer.py +30 -7
- specsmith/phase.py +6 -6
- specsmith/scaffolder.py +13 -2
- specsmith/templates/agents.md.j2 +249 -230
- specsmith/templates/governance/context-budget.md.j2 +2 -1
- specsmith/templates/governance/lifecycle.md.j2 +44 -0
- specsmith/templates/governance/{workflow.md.j2 → session-protocol.md.j2} +1 -1
- specsmith/templates/readme.md.j2 +1 -1
- specsmith/upgrader.py +27 -5
- {specsmith-0.3.6.dev179.dist-info → specsmith-0.3.6.dev182.dist-info}/METADATA +21 -11
- {specsmith-0.3.6.dev179.dist-info → specsmith-0.3.6.dev182.dist-info}/RECORD +19 -19
- specsmith/templates/docs/workflow.md.j2 +0 -15
- {specsmith-0.3.6.dev179.dist-info → specsmith-0.3.6.dev182.dist-info}/WHEEL +0 -0
- {specsmith-0.3.6.dev179.dist-info → specsmith-0.3.6.dev182.dist-info}/entry_points.txt +0 -0
- {specsmith-0.3.6.dev179.dist-info → specsmith-0.3.6.dev182.dist-info}/licenses/LICENSE +0 -0
- {specsmith-0.3.6.dev179.dist-info → specsmith-0.3.6.dev182.dist-info}/top_level.txt +0 -0
specsmith/templates/agents.md.j2
CHANGED
|
@@ -1,230 +1,249 @@
|
|
|
1
|
-
# {{ project.name }} — Agent Governance
|
|
2
|
-
|
|
3
|
-
**Project:** {{ project.name }}
|
|
4
|
-
**Type:** {{ project.type_label }} — Section {{ project.section_ref }}
|
|
5
|
-
**Platforms:** {{ project.platform_names | join(', ') }}
|
|
6
|
-
**Spec version:** {{ project.spec_version }}
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
> **SESSION START — AUTO-LOAD REQUIRED**
|
|
11
|
-
> You have just read this file. **Do not ask for confirmation.**
|
|
12
|
-
> Immediately read the following files before doing anything else:
|
|
13
|
-
> 1. `docs/governance/RULES.md`
|
|
14
|
-
> 2. `docs/governance/
|
|
15
|
-
> 3. `docs/governance/ROLES.md`
|
|
16
|
-
> 4. `docs/governance/CONTEXT-BUDGET.md`
|
|
17
|
-
>
|
|
18
|
-
> Then read `LEDGER.md` to restore session state. Proceed directly to the start protocol below.
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Governance File Registry
|
|
23
|
-
|
|
24
|
-
This project uses the modular governance layout. Read this file in full on every session. Load governance docs per the timing column.
|
|
25
|
-
|
|
26
|
-
| File | Content | Load timing |
|
|
27
|
-
| ---- | ------- | ----------- |
|
|
28
|
-
| `docs/governance/RULES.md` | Hard rules H1–H9, stop conditions | **AUTO-LOAD** (no prompt) |
|
|
29
|
-
| `docs/governance/
|
|
30
|
-
| `docs/governance/ROLES.md` | Agent role boundaries, behavioral rules | **AUTO-LOAD** (no prompt) |
|
|
31
|
-
| `docs/governance/CONTEXT-BUDGET.md` | Context management, credit optimization | **AUTO-LOAD** (no prompt) |
|
|
32
|
-
| `docs/governance/VERIFICATION.md` | Verification standards, acceptance criteria | When performing verification |
|
|
33
|
-
| `docs/governance/DRIFT-METRICS.md` | Drift detection, feedback loops, health signals | On `audit` or session start |
|
|
34
|
-
|
|
35
|
-
Other project documents:
|
|
36
|
-
|
|
37
|
-
| File | Content |
|
|
38
|
-
| ---- | ------- |
|
|
39
|
-
| `README.md` | Project overview, structure, goals, status |
|
|
40
|
-
| `LEDGER.md` | Append-only work record (sole authority for session state) |
|
|
41
|
-
| `docs/ARCHITECTURE.md` | Components, boundaries, interfaces, platform expectations |
|
|
42
|
-
| `docs/WORKFLOW.md` | Work loop, milestones, PR expectations |
|
|
43
|
-
| `docs/REQUIREMENTS.md` | Formal, numbered, testable requirements |
|
|
44
|
-
| `docs/TEST_SPEC.md` | Test cases linked to requirements |
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
##
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
-
|
|
89
|
-
- `
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
- `
|
|
97
|
-
-
|
|
98
|
-
{% elif project.type == '
|
|
99
|
-
- `
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
{% elif project.type == '
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
|
|
121
|
-
-
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
|
|
147
|
-
-
|
|
148
|
-
|
|
149
|
-
-
|
|
150
|
-
|
|
151
|
-
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
##
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
specsmith
|
|
230
|
-
|
|
1
|
+
# {{ project.name }} — Agent Governance
|
|
2
|
+
|
|
3
|
+
**Project:** {{ project.name }}
|
|
4
|
+
**Type:** {{ project.type_label }} — Section {{ project.section_ref }}
|
|
5
|
+
**Platforms:** {{ project.platform_names | join(', ') }}
|
|
6
|
+
**Spec version:** {{ project.spec_version }}
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
> **SESSION START — AUTO-LOAD REQUIRED**
|
|
11
|
+
> You have just read this file. **Do not ask for confirmation.**
|
|
12
|
+
> Immediately read the following files before doing anything else:
|
|
13
|
+
> 1. `docs/governance/RULES.md`
|
|
14
|
+
> 2. `docs/governance/SESSION-PROTOCOL.md`
|
|
15
|
+
> 3. `docs/governance/ROLES.md`
|
|
16
|
+
> 4. `docs/governance/CONTEXT-BUDGET.md`
|
|
17
|
+
>
|
|
18
|
+
> Then read `LEDGER.md` to restore session state. Proceed directly to the start protocol below.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Governance File Registry
|
|
23
|
+
|
|
24
|
+
This project uses the modular governance layout. Read this file in full on every session. Load governance docs per the timing column.
|
|
25
|
+
|
|
26
|
+
| File | Content | Load timing |
|
|
27
|
+
| ---- | ------- | ----------- |
|
|
28
|
+
| `docs/governance/RULES.md` | Hard rules H1–H9, stop conditions | **AUTO-LOAD** (no prompt) |
|
|
29
|
+
| `docs/governance/SESSION-PROTOCOL.md` | Session lifecycle, proposal format, ledger format | **AUTO-LOAD** (no prompt) |
|
|
30
|
+
| `docs/governance/ROLES.md` | Agent role boundaries, behavioral rules | **AUTO-LOAD** (no prompt) |
|
|
31
|
+
| `docs/governance/CONTEXT-BUDGET.md` | Context management, credit optimization | **AUTO-LOAD** (no prompt) |
|
|
32
|
+
| `docs/governance/VERIFICATION.md` | Verification standards, acceptance criteria | When performing verification |
|
|
33
|
+
| `docs/governance/DRIFT-METRICS.md` | Drift detection, feedback loops, health signals | On `audit` or session start |
|
|
34
|
+
|
|
35
|
+
Other project documents:
|
|
36
|
+
|
|
37
|
+
| File | Content |
|
|
38
|
+
| ---- | ------- |
|
|
39
|
+
| `README.md` | Project overview, structure, goals, status |
|
|
40
|
+
| `LEDGER.md` | Append-only work record (sole authority for session state) |
|
|
41
|
+
| `docs/ARCHITECTURE.md` | Components, boundaries, interfaces, platform expectations |
|
|
42
|
+
| `docs/WORKFLOW.md` | Work loop, milestones, PR expectations |
|
|
43
|
+
| `docs/REQUIREMENTS.md` | Formal, numbered, testable requirements |
|
|
44
|
+
| `docs/TEST_SPEC.md` | Test cases linked to requirements |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Current Phase
|
|
49
|
+
|
|
50
|
+
This project is in the **{{ aee_phase_emoji }} {{ aee_phase_label }}** phase (`{{ aee_phase }}`).
|
|
51
|
+
Focus work on artifacts appropriate for this phase. Run `specsmith phase show` to check readiness.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Authority Hierarchy
|
|
56
|
+
|
|
57
|
+
1. **AGENTS.md + docs/governance/*** — highest (governance docs inherit this file's authority)
|
|
58
|
+
2. **README.md** — project intent and scope
|
|
59
|
+
3. **docs/REQUIREMENTS.md** — what the system must do
|
|
60
|
+
4. **docs/ARCHITECTURE.md** — how the system is structured
|
|
61
|
+
5. **docs/TEST_SPEC.md** — how the system is verified
|
|
62
|
+
6. **LEDGER.md** — sole authority for session state
|
|
63
|
+
7. **docs/WORKFLOW.md** — how work proceeds
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Project-Specific Rules
|
|
68
|
+
{% if project.type == 'cli-python' %}
|
|
69
|
+
- CLI must have `--help` for all commands
|
|
70
|
+
- Exit codes must be documented and tested
|
|
71
|
+
- No services.md unless daemon/background modes are added
|
|
72
|
+
- Cross-platform rules apply to all file path and process behavior
|
|
73
|
+
{% elif project.type == 'fpga-rtl' %}
|
|
74
|
+
- Shell wrappers are mandatory for all Vivado/Quartus/EDA tool invocations
|
|
75
|
+
- Constraint files (.xdc, .sdc) are governance artifacts — changes require proposals
|
|
76
|
+
- Tool invocations MUST use batch/non-interactive modes only
|
|
77
|
+
- Timing closure is a formal milestone
|
|
78
|
+
{% elif project.type == 'yocto-bsp' %}
|
|
79
|
+
- KAS YAML files are governance artifacts — changes require proposals
|
|
80
|
+
- Machine/distro configs must be documented in architecture.md
|
|
81
|
+
- Build durations must be stated in proposals
|
|
82
|
+
{% elif project.type == 'pcb-hardware' %}
|
|
83
|
+
- BOM files are governance artifacts — changes require proposals
|
|
84
|
+
- Schematic review is a formal gate before layout
|
|
85
|
+
- ECAD-MCAD sync points must be documented in workflow.md
|
|
86
|
+
{% elif project.type in ('cli-rust', 'library-rust') %}
|
|
87
|
+
- `cargo clippy` must pass with no warnings before merge
|
|
88
|
+
- All public APIs must have doc comments
|
|
89
|
+
- `cargo audit` must pass in CI
|
|
90
|
+
{% elif project.type in ('cli-go',) %}
|
|
91
|
+
- `golangci-lint run` must pass before merge
|
|
92
|
+
- All exported functions must have doc comments
|
|
93
|
+
- `govulncheck` must pass in CI
|
|
94
|
+
{% elif project.type in ('cli-c', 'library-c') %}
|
|
95
|
+
- MISRA-C compliance rules apply where annotated
|
|
96
|
+
- `clang-tidy` and `cppcheck` must pass before merge
|
|
97
|
+
- Memory safety must be verified for all allocations
|
|
98
|
+
{% elif project.type == 'web-frontend' %}
|
|
99
|
+
- `eslint` and `prettier` must pass before merge
|
|
100
|
+
- All components must have corresponding test files
|
|
101
|
+
- Accessibility (a11y) checks are recommended
|
|
102
|
+
{% elif project.type == 'dotnet-app' %}
|
|
103
|
+
- `dotnet format --verify-no-changes` must pass before merge
|
|
104
|
+
- All public APIs must have XML doc comments
|
|
105
|
+
{% elif project.type == 'devops-iac' %}
|
|
106
|
+
- `tflint` / `ansible-lint` must pass before merge
|
|
107
|
+
- Security scanning (`tfsec` / `checkov`) is mandatory
|
|
108
|
+
- State files must never be committed
|
|
109
|
+
{% elif project.type == 'data-ml' %}
|
|
110
|
+
- Notebooks must be stripped of output before commit (`nbstripout`)
|
|
111
|
+
- Model metrics must be recorded in the ledger
|
|
112
|
+
- Data pipeline tests are mandatory
|
|
113
|
+
{% elif project.type == 'microservices' %}
|
|
114
|
+
- Each service must have independent CI and test suites
|
|
115
|
+
- API contracts (OpenAPI / protobuf) are governance artifacts
|
|
116
|
+
- `docker compose build` must succeed before merge
|
|
117
|
+
{% elif project.type == 'spec-document' %}
|
|
118
|
+
- All specification text must use precise, testable language
|
|
119
|
+
- Cross-references must be validated before merge
|
|
120
|
+
- Change proposals must reference exact section numbers
|
|
121
|
+
- Prose linting (`vale`) must pass before merge
|
|
122
|
+
{% elif project.type == 'user-manual' %}
|
|
123
|
+
- All screenshots must be kept current with software releases
|
|
124
|
+
- Link checking (`markdown-link-check`) must pass before merge
|
|
125
|
+
- Spell checking (`cspell`) is mandatory
|
|
126
|
+
- Versioned alongside the product it documents
|
|
127
|
+
{% elif project.type == 'research-paper' %}
|
|
128
|
+
- Citation integrity must be maintained — all `\cite{}` must resolve
|
|
129
|
+
- Data and figures must be reproducible from source
|
|
130
|
+
- LaTeX compilation must produce clean output (no warnings)
|
|
131
|
+
{% elif project.type == 'business-plan' %}
|
|
132
|
+
- Financial projections must cite assumptions and sources
|
|
133
|
+
- Market data must include retrieval dates
|
|
134
|
+
- All changes require stakeholder review
|
|
135
|
+
{% elif project.type == 'patent-application' %}
|
|
136
|
+
- Claims are governance artifacts — ALL changes require proposals
|
|
137
|
+
- Independent claims must be self-contained and not reference other claims
|
|
138
|
+
- Prior art references must be documented with publication dates
|
|
139
|
+
- Figures must be numbered and referenced in the specification
|
|
140
|
+
- Claim dependency chains must be validated (`claim-ref-check`)
|
|
141
|
+
{% elif project.type == 'legal-compliance' %}
|
|
142
|
+
- All document changes must be tracked with version history
|
|
143
|
+
- Regulatory references must include jurisdiction and effective date
|
|
144
|
+
- Approval workflows are mandatory before publication
|
|
145
|
+
- Privileged/confidential documents must be marked clearly
|
|
146
|
+
{% elif project.type == 'requirements-mgmt' %}
|
|
147
|
+
- Every requirement must have a unique ID (REQ-xxx-NNN)
|
|
148
|
+
- Traceability from requirements → tests must be maintained
|
|
149
|
+
- Baseline snapshots must be taken at milestone boundaries
|
|
150
|
+
{% elif project.type == 'api-specification' %}
|
|
151
|
+
- API specs (OpenAPI / protobuf) are governance artifacts
|
|
152
|
+
- Breaking changes require explicit proposals and version bumps
|
|
153
|
+
- Linting (`spectral` / `buf lint`) must pass before merge
|
|
154
|
+
- Generated code must not be manually edited
|
|
155
|
+
{% elif project.type == 'monorepo' %}
|
|
156
|
+
- Each package/service must have independent test suites
|
|
157
|
+
- Shared code changes require impact analysis across consumers
|
|
158
|
+
- Build tool (`nx` / `turbo`) must succeed before merge
|
|
159
|
+
{% elif project.type == 'browser-extension' %}
|
|
160
|
+
- Manifest permissions must be minimal and documented
|
|
161
|
+
- Content security policy must be explicitly defined
|
|
162
|
+
- `web-ext lint` must pass before merge
|
|
163
|
+
{% else %}
|
|
164
|
+
- Cross-platform rules apply to all file path and process behavior
|
|
165
|
+
{% endif %}
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Documentation Rule (H14)
|
|
170
|
+
|
|
171
|
+
Before committing ANY change, verify documentation is current:
|
|
172
|
+
1. Check if the change affects user-facing behavior, CLI commands, governance files, or configuration
|
|
173
|
+
2. If yes: update the relevant documentation (README.md, docs/, CHANGELOG.md) in the SAME commit
|
|
174
|
+
3. Never commit code changes without checking for documentation gaps
|
|
175
|
+
4. When adding a feature: document it. When changing behavior: update the docs. When removing: note it.
|
|
176
|
+
|
|
177
|
+
This is a hard rule. Undocumented features are governance violations.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Epistemic Governance (AEE)
|
|
182
|
+
|
|
183
|
+
This project follows Applied Epistemic Engineering (AEE) principles. Every proposal MUST:
|
|
184
|
+
- State its `Assumptions:` field (H13 — Epistemic Boundaries Required)
|
|
185
|
+
- State its `Stress-test:` field — one adversarial challenge to the proposal's assumptions
|
|
186
|
+
|
|
187
|
+
Run `specsmith epistemic-audit` to check epistemic health:
|
|
188
|
+
- Equilibrium = all belief artifacts stress-tested with no critical failures
|
|
189
|
+
- Certainty ≥ 0.7 (default threshold)
|
|
190
|
+
- No Logic Knots (conflicting accepted requirements)
|
|
191
|
+
|
|
192
|
+
`specsmith trace seal decision "<description>"` — seal any significant decision
|
|
193
|
+
`specsmith stress-test` — adversarial challenges against REQUIREMENTS.md
|
|
194
|
+
`specsmith belief-graph` — visualize BeliefArtifact dependency graph
|
|
195
|
+
|
|
196
|
+
Stop condition (H13): P1 requirement with confidence below MEDIUM = work stops.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Session Lifecycle
|
|
201
|
+
|
|
202
|
+
### Start Protocol
|
|
203
|
+
1. Load `docs/governance/RULES.md`, `SESSION-PROTOCOL.md`, `LIFECYCLE.md`, `ROLES.md`, `CONTEXT-BUDGET.md` — **already done if you followed the auto-load instruction above**
|
|
204
|
+
2. Read `LEDGER.md` — restore session state
|
|
205
|
+
3. `specsmith sync` — pull latest changes
|
|
206
|
+
4. `specsmith update --check` — verify specsmith is current
|
|
207
|
+
5. Check branch: verify you're on the correct branch for the task
|
|
208
|
+
6. Propose next task
|
|
209
|
+
|
|
210
|
+
### During Work
|
|
211
|
+
- After each task: `save` → `specsmith commit` (if verification passes)
|
|
212
|
+
- Propose commit after successful verification + ledger save
|
|
213
|
+
- Batch pushes: push after milestones, not every commit
|
|
214
|
+
- Refuse to work on main directly (use feature branches)
|
|
215
|
+
|
|
216
|
+
### End Protocol
|
|
217
|
+
1. `specsmith session-end` — run checklist
|
|
218
|
+
2. Commit any uncommitted work
|
|
219
|
+
3. Push all unpushed commits
|
|
220
|
+
4. If feature complete: propose PR
|
|
221
|
+
|
|
222
|
+
## Quick Command Reference
|
|
223
|
+
|
|
224
|
+
| Command | Meaning |
|
|
225
|
+
| -------------- | ---------------------------------------------- |
|
|
226
|
+
| `start` | New session (sync + update check + branch check) |
|
|
227
|
+
| `resume` | Resume from ledger |
|
|
228
|
+
| `save` | Write ledger entry |
|
|
229
|
+
| `commit` | `specsmith commit` (audit + commit) |
|
|
230
|
+
| `push` | `specsmith push` (with safety checks) |
|
|
231
|
+
| `sync` | `specsmith sync` (pull + conflict warning) |
|
|
232
|
+
| `audit` | `specsmith audit` |
|
|
233
|
+
| `branch` | `specsmith branch create` |
|
|
234
|
+
| `pr` | `specsmith pr` (create PR with governance) |
|
|
235
|
+
| `update` | `specsmith update` (check + install + migrate) |
|
|
236
|
+
| `session-end` | `specsmith session-end` (end checklist) |
|
|
237
|
+
|
|
238
|
+
**specsmith install / update:**
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# Recommended — global isolated install
|
|
242
|
+
pipx install specsmith
|
|
243
|
+
pipx inject specsmith anthropic openai # add LLM providers
|
|
244
|
+
pipx upgrade specsmith # update
|
|
245
|
+
|
|
246
|
+
# Or with pip
|
|
247
|
+
pip install specsmith
|
|
248
|
+
specsmith self-update
|
|
249
|
+
```
|
|
@@ -11,7 +11,8 @@ On session start, load only:
|
|
|
11
11
|
- Last ~300 lines of `LEDGER.md`
|
|
12
12
|
|
|
13
13
|
Load on demand:
|
|
14
|
-
- `docs/governance/
|
|
14
|
+
- `docs/governance/SESSION-PROTOCOL.md` — when preparing proposals or ledger entries
|
|
15
|
+
- `docs/governance/LIFECYCLE.md` — when checking phase readiness or advancing
|
|
15
16
|
- `docs/governance/ROLES.md` — when role boundaries are relevant
|
|
16
17
|
- `docs/governance/VERIFICATION.md` — when testing or accepting work
|
|
17
18
|
- `docs/governance/DRIFT-METRICS.md` — when running `audit`
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Project Lifecycle — AEE Development Phases
|
|
2
|
+
|
|
3
|
+
This project follows the 7-phase Applied Epistemic Engineering (AEE) development lifecycle. Each phase has readiness checks that must pass before advancing.
|
|
4
|
+
|
|
5
|
+
**Current phase:** {{ aee_phase_emoji }} **{{ aee_phase_label }}** (`{{ aee_phase }}`)
|
|
6
|
+
|
|
7
|
+
## Phases
|
|
8
|
+
|
|
9
|
+
1. 🌱 **Inception** — Governance scaffold, AGENTS.md, project type established
|
|
10
|
+
2. 🏗 **Architecture** — ARCHITECTURE.md written, components defined, key decisions sealed
|
|
11
|
+
3. 📋 **Requirements** — REQUIREMENTS.md populated, stress-tested, equilibrium reached
|
|
12
|
+
4. ✅ **Test Specification** — TEST_SPEC.md covers all P1 requirements, coverage ≥ 80%
|
|
13
|
+
5. ⚙ **Implementation** — Code development loop; audit passes; ledger updated each session
|
|
14
|
+
6. 🔬 **Verification** — Epistemic audit passes threshold; trace vault sealed; export clean
|
|
15
|
+
7. 🚀 **Release** — CHANGELOG updated; release tag created; compliance report filed
|
|
16
|
+
|
|
17
|
+
## Phase Flow
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
inception → architecture → requirements → test_spec → implementation → verification → release
|
|
21
|
+
↓
|
|
22
|
+
(next cycle)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Advancing Phases
|
|
26
|
+
|
|
27
|
+
Check readiness: `specsmith phase show`
|
|
28
|
+
Advance to next: `specsmith phase next`
|
|
29
|
+
Force-set phase: `specsmith phase set <phase> --force`
|
|
30
|
+
|
|
31
|
+
All checks for the current phase must pass before `phase next` will advance.
|
|
32
|
+
Use `--force` to override (e.g. during rapid prototyping).
|
|
33
|
+
|
|
34
|
+
## Phase Artifacts
|
|
35
|
+
|
|
36
|
+
Each phase produces specific artifacts:
|
|
37
|
+
|
|
38
|
+
- **Inception**: `scaffold.yml`, `AGENTS.md`, `LEDGER.md`
|
|
39
|
+
- **Architecture**: `docs/ARCHITECTURE.md`, trace vault seal
|
|
40
|
+
- **Requirements**: `docs/REQUIREMENTS.md`, `docs/TEST_SPEC.md`
|
|
41
|
+
- **Test Specification**: TEST_SPEC.md with ≥ 80% REQ coverage
|
|
42
|
+
- **Implementation**: Code, updated LEDGER.md, passing audit
|
|
43
|
+
- **Verification**: Epistemic audit, trace vault seals, export report
|
|
44
|
+
- **Release**: `CHANGELOG.md`, release tag, compliance report
|