aw-spec-cli 0.1.32 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -81
- package/assets/.appweaver/DESIGN-FORMAT.md +56 -17
- package/assets/.appweaver/STACK-PROFILES.md +95 -60
- package/assets/.appweaver/orchestrator/LAUNCHER.md +1 -1
- package/assets/.appweaver/orchestrator/modules/delta-plan.orch.yaml +173 -32
- package/assets/.appweaver/orchestrator/modules/domain-select.orch.yaml +29 -1
- package/assets/.appweaver/orchestrator/modules/foundation-pack.orch.yaml +7 -4
- package/assets/.appweaver/orchestrator/modules/foundation-spec.orch.yaml +49 -60
- package/assets/.appweaver/orchestrator/modules/tech-select.orch.yaml +58 -0
- package/assets/.appweaver/orchestrator/orchestrator.py +26 -8
- package/assets/.appweaver/orchestrator/rev-templates/delta-design-template.skeleton.md +20 -16
- package/assets/.appweaver/orchestrator/rev-templates/design-template.skeleton.md +30 -6
- package/assets/.appweaver/orchestrator/rev-templates/ui-delta-design-template.skeleton.md +9 -7
- package/assets/.appweaver/orchestrator/rev-templates/ui-design-template.skeleton.md +5 -5
- package/assets/.appweaver/orchestrator/workflows/aw-spec-adopt.orch.yaml +341 -36
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-plan-delta.orch.yaml +254 -43
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-plan.orch.yaml +248 -68
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-slice-delta.orch.yaml +251 -20
- package/assets/.appweaver/orchestrator/workflows/aw-spec-analyze-slice.orch.yaml +316 -10
- package/assets/.appweaver/orchestrator/workflows/aw-spec-build.orch.yaml +6 -47
- package/assets/.appweaver/orchestrator/workflows/aw-spec-close-delta.orch.yaml +62 -16
- package/assets/.appweaver/orchestrator/workflows/aw-spec-finalize-delta.orch.yaml +132 -9
- package/assets/.appweaver/orchestrator/workflows/aw-spec-fix-test-coverage.orch.yaml +965 -0
- package/assets/.appweaver/orchestrator/workflows/aw-spec-implement.orch.yaml +222 -169
- package/assets/.appweaver/orchestrator/workflows/aw-spec-onboard.orch.yaml +28 -12
- package/assets/.appweaver/orchestrator/workflows/aw-spec-plan.orch.yaml +453 -116
- package/assets/.appweaver/orchestrator/workflows/aw-spec-select-lane.orch.yaml +7 -4
- package/assets/.appweaver/orchestrator/workflows/aw-spec-select-stack.orch.yaml +83 -6
- package/assets/.appweaver/orchestrator/workflows/aw-spec-specify.orch.yaml +45 -2
- package/assets/.appweaver/scripts/bash/aw-spec-actions.sh +324 -74
- package/assets/.appweaver/scripts/powershell/aw-spec-actions.ps1 +275 -44
- package/assets/.appweaver/scripts/python/aw-foundation.py +16 -13
- package/assets/.appweaver/scripts/python/aw-gaps.py +11 -3
- package/assets/.appweaver/scripts/python/aw-model-guard.py +295 -0
- package/assets/.appweaver/scripts/python/aw-plan-coverage.py +412 -3
- package/assets/.appweaver/scripts/python/aw-plangate.py +23 -16
- package/assets/.appweaver/scripts/python/aw-stack.py +1794 -265
- package/assets/.appweaver/stack-profiles/dotnet-webapi.json +0 -2
- package/assets/.appweaver/stack-profiles/java-spring.json +0 -2
- package/assets/.appweaver/templates/api-plan-template.md +107 -0
- package/assets/.appweaver/templates/delta-api-plan-template.md +87 -0
- package/assets/.appweaver/templates/delta-design-template.md +25 -23
- package/assets/.appweaver/templates/delta-spec-template.md +3 -3
- package/assets/.appweaver/templates/design-template.md +20 -42
- package/assets/.appweaver/templates/domain-model-template.md +3 -0
- package/assets/.appweaver/templates/ui-delta-design-template.md +11 -8
- package/assets/.appweaver/templates/ui-design-template.md +4 -4
- package/assets/foundations/foundation.spec.template.txt +25 -18
- package/assets/guardrails/README.md +61 -25
- package/assets/guardrails/methodology/ux/accessibility-standards.md +38 -0
- package/assets/guardrails/methodology/ux/content-design.md +34 -0
- package/assets/guardrails/methodology/ux/interaction-states.md +45 -0
- package/assets/guardrails/methodology/ux/journey-mapping.md +41 -0
- package/assets/guardrails/project-specific/domain/domain-requirements.md +25 -38
- package/assets/guardrails/project-specific/domain-rule-bindings.md +33 -69
- package/assets/guardrails/project-specific/frontend/ui-requirements.md +2 -2
- package/assets/guardrails/project-specific/service/technical-requirements.md +2 -2
- package/assets/guardrails/project-specific/tech-rule-bindings.md +16 -13
- package/assets/guardrails/sample-healthcare/domain/domain-requirements.md +58 -0
- package/assets/guardrails/sample-healthcare/domain-rule-bindings.md +138 -0
- package/assets/guardrails/sample-healthcare/frontend/ui-requirements.md +43 -0
- package/assets/guardrails/sample-healthcare/service/technical-requirements.md +40 -0
- package/assets/guardrails/sample-healthcare/tech-rule-bindings.md +303 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +216 -7
- package/dist/commands/init.js.map +1 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/foundation.d.ts +36 -0
- package/dist/utils/foundation.d.ts.map +1 -0
- package/dist/utils/foundation.js +109 -0
- package/dist/utils/foundation.js.map +1 -0
- package/dist/utils/paths.js +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/package.json +1 -1
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
|
|
153
153
|
name: aw-spec-onboard
|
|
154
154
|
description: Onboard an existing codebase for brownfield DEVELOPMENT — a deterministic whole-repo scan produces a high-level OKF feature map (folders/concepts) PLUS the project-level governance scaffold (split constitution + guardrails/brf-<domain>/ with its DOMAIN rule files at domain/ + domain-rule-bindings + code-derived TECHNICAL rule files at service/ + tech-rule-bindings + activated domain), all provisional-from-scan. The first context authors that tier; every later context amends it additively from its own code (new rules, principles and map entries — never a rewrite, renumbering or deletion; a contradiction is recorded as a Divergence note), and a tier that does not exist yet, such as a lane declared after an earlier onboard, is authored in full. Naming an already-onboarded context re-runs that governance pass alone. Where the scan finds a frontend lane in the CODE, it also authors that lane's half — constitution.ui.md (UX-*) — and its code-derived rule files at brf-<domain>/frontend/, mapped under `## /aw-spec-ui-constitution`, `## /aw-spec-plan-frontend` and `## /aw-spec-implement-frontend`; a backend-only repo gets none of it. Every rule tier is reverse-engineered from the CODE alone (never a greenfield rule file), evidenced-only, and WIRED per-workflow so the whole forward pipeline AND adopt govern against THIS codebase — never a greenfield fallback. It also reverse-engineers the repo's own technical structure into a project-specific design + delta-design template pair, installed as the project template overrides, and — where the lane exists — the frontend lane's own pair from the UI source. Every authoring step is shaped by a NEUTRAL rev-templates skeleton; no greenfield constitution, rule file or document template is ever placed in context. Accepts an optional concerns list to look for (onboard decides which are actually present). Reads any declared lane whose folder exists, never writes one; a lane declared before it is built is governed as absent and its governance left to the developer. No migration content; never modifies source.
|
|
155
|
-
version: 2.
|
|
155
|
+
version: 2.6.0
|
|
156
156
|
agent_agnostic: true
|
|
157
157
|
dialect: aw-spec.orchestrator/v1
|
|
158
158
|
|
|
@@ -191,7 +191,7 @@ standards:
|
|
|
191
191
|
vars:
|
|
192
192
|
# The provenance stamp every generated file carries. It names THIS workflow's version,
|
|
193
193
|
# so it moves with `version:` above — one value, never a literal repeated per prompt.
|
|
194
|
-
generated_by: "aw-spec-onboard/2.
|
|
194
|
+
generated_by: "aw-spec-onboard/2.5.0"
|
|
195
195
|
bundle_present: "false" # set by the scan (the bundle holds concepts); reported, gates nothing
|
|
196
196
|
conformant: "false" # OKF conformance-gate driver
|
|
197
197
|
pack_present: "false" # the project tier exists ⇒ repo_gov, so this context AMENDS it
|
|
@@ -332,11 +332,13 @@ workflow:
|
|
|
332
332
|
- { name: bundle_dir, from: "$.bundle_dir" }
|
|
333
333
|
- { name: bundle_present, from: "$.bundle_present" }
|
|
334
334
|
- { name: bundle_md_count, from: "$.bundle_md_count" }
|
|
335
|
-
# The frontend lane, as the CODE evidences it. `
|
|
335
|
+
# The frontend lane, as the CODE evidences it. `frontend_evidenced` is true only
|
|
336
336
|
# where a candidate root reached lane strength (a frontend build config, or a
|
|
337
337
|
# real set of component/view files) — loose scripts and stylesheets under a
|
|
338
|
-
# wwwroot/ are reported in the substrate but are NOT a lane.
|
|
339
|
-
|
|
338
|
+
# wwwroot/ are reported in the substrate but are NOT a lane. It is the code's
|
|
339
|
+
# answer, kept apart from `frontend_present` (the UI rule tier exists, from
|
|
340
|
+
# pack_setup); which lanes this run governs is the declaration's answer, ui_lane.
|
|
341
|
+
- { name: frontend_evidenced, from: "$.frontend_present" }
|
|
340
342
|
- { name: frontend_separable, from: "$.frontend_separable" }
|
|
341
343
|
- { name: frontend_roots, from: "$.frontend_roots" }
|
|
342
344
|
- { name: frontend_root_count, from: "$.frontend_root_count" }
|
|
@@ -2303,6 +2305,13 @@ workflow:
|
|
|
2303
2305
|
signature form + the ports/contracts. Keep exactly one subsection whose heading
|
|
2304
2306
|
contains the word "Integration" (the External Integrations table — one port/adapter row
|
|
2305
2307
|
per IC-): aw-xref matches it by keyword, so it is pinned regardless of layout.
|
|
2308
|
+
- THE PUBLISHED ENDPOINTS ARE NOT IN THIS TEMPLATE. Each feature keeps them in its own
|
|
2309
|
+
api-plan.md, from the kit's api-plan-template, whose endpoint block form is the same
|
|
2310
|
+
in every project because the contract scripts read exactly it. In the §2 axis this
|
|
2311
|
+
project publishes its endpoints from (titled with the project's own name for it),
|
|
2312
|
+
keep its component table and end it with the skeleton's line pointing to
|
|
2313
|
+
api-plan.md; write no endpoint block and no requests table. Omit the line only where
|
|
2314
|
+
the code publishes no endpoint.
|
|
2306
2315
|
- §3 Cross-Cutting Concerns — one row per concern THIS project's governance carries, read
|
|
2307
2316
|
from the technical constitution (Serves = a spec id or a §5 DA-n). Do not import a
|
|
2308
2317
|
standard concern list the constitution does not evidence.
|
|
@@ -2361,9 +2370,14 @@ workflow:
|
|
|
2361
2370
|
the generated master template. Never name a layering — neither one you know nor one the
|
|
2362
2371
|
master did not derive.
|
|
2363
2372
|
- CARRY OVER the neutral parts of rev-templates/delta-design-template.skeleton.md (in
|
|
2364
|
-
context): Change summary,
|
|
2365
|
-
|
|
2366
|
-
|
|
2373
|
+
context): Change summary, Model changes this plan realises, Depends on, Cross-section
|
|
2374
|
+
impact, API changes, Other open deltas, Regression targets, New
|
|
2375
|
+
assumptions/deviations (DA-n / WA-n), On merge — word for word: finalize-delta
|
|
2376
|
+
merges the spec, the model and the change's delta API plan, never this plan, which
|
|
2377
|
+
`plan main` re-derives. API changes is the one line pointing to delta-api-plan.md:
|
|
2378
|
+
a change's endpoints are planned there, from the kit's delta-api-plan-template,
|
|
2379
|
+
never in this template — omit the section only where the code publishes no
|
|
2380
|
+
endpoint. Keep behaviour technology-agnostic (signatures +
|
|
2367
2381
|
contracts, no code); a shared element is MODIFIED in place, never duplicated; every
|
|
2368
2382
|
changed element serves a spec id.
|
|
2369
2383
|
- This aligns with the delta-plan module, which classifies "per the master's OWN
|
|
@@ -2560,8 +2574,9 @@ workflow:
|
|
|
2560
2574
|
most UI defects live. Where the code handles no error or empty state, template the
|
|
2561
2575
|
section so the downstream author must record that as-built — never delete it.
|
|
2562
2576
|
- §5 Contract Binding — keep the lane boundary intact: the binding table binds
|
|
2563
|
-
against the service's PUBLISHED SURFACE (the spec's IC- ids and the
|
|
2564
|
-
|
|
2577
|
+
against the service's PUBLISHED SURFACE (the spec's IC- ids and the endpoints the
|
|
2578
|
+
feature's api-plan.md states, each by its operation id), never the service's
|
|
2579
|
+
internals — the backend plan is not this lane's to read. Note in the authoring
|
|
2565
2580
|
comment that where the surface does not name an operation yet, the author binds
|
|
2566
2581
|
against the spec's own IC-/FR- surface and logs a §8 assumption.
|
|
2567
2582
|
- §7 Traceability, §8 Assumptions (DA-n), §9 Deviations (WA-n), Change History — carry
|
|
@@ -2614,8 +2629,9 @@ workflow:
|
|
|
2614
2629
|
- CARRY OVER the neutral parts of rev-templates/ui-delta-design-template.skeleton.md
|
|
2615
2630
|
(in context): Change summary, Interaction states touched, Contract impact,
|
|
2616
2631
|
Cross-section impact, Regression targets, New assumptions/deviations (DA-n / WA-n),
|
|
2617
|
-
On merge — word for word: finalize-delta merges the spec
|
|
2618
|
-
plan, which `plan main` re-derives.
|
|
2632
|
+
On merge — word for word: finalize-delta merges the spec, the model and the change's
|
|
2633
|
+
delta API plan, never this plan, which `plan main` re-derives. Contract impact cites
|
|
2634
|
+
the change's API delta (delta-api-plan.md), never the delta backend plan.
|
|
2619
2635
|
- KEEP the "Interaction states touched" section whatever this lane's code shows: a new
|
|
2620
2636
|
interaction that ships without its loading, empty, error and permission-denied states
|
|
2621
2637
|
is an incomplete delta, and the template is where that is enforced.
|