aw-spec-cli 0.1.5 → 0.1.6

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 (205) hide show
  1. package/assets/.agents/agent.json +1 -1
  2. package/assets/.agents/skills/{aw-spec-orch → appweaver}/SKILL.md +10 -10
  3. package/assets/.agents/skills/{aw-spec-orch-demo → appweaver-demo}/SKILL.md +9 -9
  4. package/assets/.claude/agent.json +1 -1
  5. package/assets/.claude/skills/{aw-spec-orch → appweaver}/SKILL.md +10 -10
  6. package/assets/.claude/skills/{aw-spec-orch-demo → appweaver-demo}/SKILL.md +9 -9
  7. package/assets/.kilocode/agent.json +1 -1
  8. package/assets/.kilocode/workflows/{aw-spec-orch-demo.md → appweaver-demo.md} +9 -9
  9. package/assets/.kilocode/workflows/{aw-spec-orch.md → appweaver.md} +10 -10
  10. package/assets/docs/pharma-constitution.my-ref.md +86 -0
  11. package/dist/utils/paths.js +2 -2
  12. package/dist/utils/paths.js.map +1 -1
  13. package/package.json +1 -1
  14. package/assets/.aw-spec/DESIGN-FORMAT.md +0 -151
  15. package/assets/.aw-spec/ORCH-DIALECT.md +0 -156
  16. package/assets/.aw-spec/RULE-PARTITION.md +0 -126
  17. package/assets/.aw-spec/domain.json +0 -3
  18. package/assets/.aw-spec/extensions/.registry +0 -19
  19. package/assets/.aw-spec/extensions/agent-context/README.md +0 -57
  20. package/assets/.aw-spec/extensions/agent-context/agent-context-config.yml +0 -4
  21. package/assets/.aw-spec/extensions/agent-context/commands/aw-spec.agent-context.update.md +0 -26
  22. package/assets/.aw-spec/extensions/agent-context/extension.yml +0 -37
  23. package/assets/.aw-spec/extensions/agent-context/scripts/bash/update-agent-context.sh +0 -201
  24. package/assets/.aw-spec/extensions/agent-context/scripts/powershell/update-agent-context.ps1 +0 -237
  25. package/assets/.aw-spec/extensions.yml +0 -16
  26. package/assets/.aw-spec/feature.json +0 -3
  27. package/assets/.aw-spec/init-options.json +0 -9
  28. package/assets/.aw-spec/integration.json +0 -15
  29. package/assets/.aw-spec/integrations/aw-spec.manifest.json +0 -9
  30. package/assets/.aw-spec/interpreter/run-skill.py +0 -1158
  31. package/assets/.aw-spec/memory/constitution.md +0 -50
  32. package/assets/.aw-spec/orchestrator/AGENT-PROFILE.md +0 -94
  33. package/assets/.aw-spec/orchestrator/README.md +0 -300
  34. package/assets/.aw-spec/orchestrator/adapters/claude_agent_sdk.py +0 -74
  35. package/assets/.aw-spec/orchestrator/adapters/google_antigravity.py +0 -74
  36. package/assets/.aw-spec/orchestrator/modules/delta-design.orch.yaml +0 -105
  37. package/assets/.aw-spec/orchestrator/modules/delta-spec.orch.yaml +0 -79
  38. package/assets/.aw-spec/orchestrator/modules/domain-select.orch.yaml +0 -81
  39. package/assets/.aw-spec/orchestrator/modules/tech-select.orch.yaml +0 -75
  40. package/assets/.aw-spec/orchestrator/orchestrator.py +0 -1721
  41. package/assets/.aw-spec/orchestrator/rev-templates/ai-rules.reference.md +0 -40
  42. package/assets/.aw-spec/orchestrator/rev-templates/comandrulemap.skeleton.md +0 -59
  43. package/assets/.aw-spec/orchestrator/rev-templates/commandtechrulemap.skeleton.md +0 -97
  44. package/assets/.aw-spec/orchestrator/rev-templates/domain-constitution.skeleton.md +0 -61
  45. package/assets/.aw-spec/orchestrator/rev-templates/domain-requirements.skeleton.md +0 -48
  46. package/assets/.aw-spec/orchestrator/rev-templates/domain-rule-file.skeleton.md +0 -39
  47. package/assets/.aw-spec/orchestrator/rev-templates/technical-constitution.skeleton.md +0 -106
  48. package/assets/.aw-spec/orchestrator/rev-templates/technical-rule-file.skeleton.md +0 -54
  49. package/assets/.aw-spec/orchestrator/workflows/_smoke.orch.yaml +0 -160
  50. package/assets/.aw-spec/orchestrator/workflows/aw-spec-add-component.orch.yaml +0 -244
  51. package/assets/.aw-spec/orchestrator/workflows/aw-spec-adopt.orch.yaml +0 -775
  52. package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-delta-design.orch.yaml +0 -248
  53. package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-design.orch.yaml +0 -261
  54. package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-slice.orch.yaml +0 -425
  55. package/assets/.aw-spec/orchestrator/workflows/aw-spec-build.orch.yaml +0 -188
  56. package/assets/.aw-spec/orchestrator/workflows/aw-spec-characterize.orch.yaml +0 -474
  57. package/assets/.aw-spec/orchestrator/workflows/aw-spec-close-delta.orch.yaml +0 -181
  58. package/assets/.aw-spec/orchestrator/workflows/aw-spec-constitution.orch.yaml +0 -284
  59. package/assets/.aw-spec/orchestrator/workflows/aw-spec-demo.orch.yaml +0 -103
  60. package/assets/.aw-spec/orchestrator/workflows/aw-spec-dependency-tree.orch.yaml +0 -69
  61. package/assets/.aw-spec/orchestrator/workflows/aw-spec-deploy.orch.yaml +0 -85
  62. package/assets/.aw-spec/orchestrator/workflows/aw-spec-design.orch.yaml +0 -382
  63. package/assets/.aw-spec/orchestrator/workflows/aw-spec-finalize-delta.orch.yaml +0 -382
  64. package/assets/.aw-spec/orchestrator/workflows/aw-spec-foundation.orch.yaml +0 -246
  65. package/assets/.aw-spec/orchestrator/workflows/aw-spec-implement-delta.orch.yaml +0 -231
  66. package/assets/.aw-spec/orchestrator/workflows/aw-spec-implement.orch.yaml +0 -258
  67. package/assets/.aw-spec/orchestrator/workflows/aw-spec-inventory.orch.yaml +0 -236
  68. package/assets/.aw-spec/orchestrator/workflows/aw-spec-onboard.orch.yaml +0 -949
  69. package/assets/.aw-spec/orchestrator/workflows/aw-spec-parity.orch.yaml +0 -293
  70. package/assets/.aw-spec/orchestrator/workflows/aw-spec-run.orch.yaml +0 -177
  71. package/assets/.aw-spec/orchestrator/workflows/aw-spec-select-domain.orch.yaml +0 -79
  72. package/assets/.aw-spec/orchestrator/workflows/aw-spec-select-feature.orch.yaml +0 -128
  73. package/assets/.aw-spec/orchestrator/workflows/aw-spec-specify.orch.yaml +0 -412
  74. package/assets/.aw-spec/scripts/bash/aw-inventory.sh +0 -14
  75. package/assets/.aw-spec/scripts/bash/aw-parity.sh +0 -13
  76. package/assets/.aw-spec/scripts/bash/aw-rev-constitution.sh +0 -13
  77. package/assets/.aw-spec/scripts/bash/aw-spec-actions.sh +0 -1899
  78. package/assets/.aw-spec/scripts/bash/aw-xref.sh +0 -15
  79. package/assets/.aw-spec/scripts/bash/common.sh +0 -533
  80. package/assets/.aw-spec/scripts/powershell/aw-inventory.ps1 +0 -14
  81. package/assets/.aw-spec/scripts/powershell/aw-parity.ps1 +0 -13
  82. package/assets/.aw-spec/scripts/powershell/aw-rev-constitution.ps1 +0 -13
  83. package/assets/.aw-spec/scripts/powershell/aw-spec-actions.ps1 +0 -1563
  84. package/assets/.aw-spec/scripts/powershell/aw-xref.ps1 +0 -15
  85. package/assets/.aw-spec/scripts/python/aw-inventory.py +0 -683
  86. package/assets/.aw-spec/scripts/python/aw-parity.py +0 -380
  87. package/assets/.aw-spec/scripts/python/aw-rev-constitution.py +0 -312
  88. package/assets/.aw-spec/scripts/python/aw-xref.py +0 -1330
  89. package/assets/.aw-spec/scripts/python/validate_okf.py +0 -349
  90. package/assets/.aw-spec/templates/constitution-domain-template.md +0 -75
  91. package/assets/.aw-spec/templates/constitution-technical-template.md +0 -70
  92. package/assets/.aw-spec/templates/delta-design-template.md +0 -69
  93. package/assets/.aw-spec/templates/delta-spec-template.md +0 -60
  94. package/assets/.aw-spec/templates/design-template.md +0 -383
  95. package/assets/.aw-spec/templates/okf-concept-template.md +0 -103
  96. package/assets/.aw-spec/templates/parity-manifest-template.json +0 -49
  97. package/assets/.aw-spec/templates/source-map-template.md +0 -85
  98. package/assets/.aw-spec/templates/spec-template.md +0 -252
  99. package/assets/docs/ModularMonolith/ModularMonolith.Reference.pack.txt +0 -25248
  100. package/assets/docs/ModularMonolith/ModularMonolith.pack.txt +0 -5726
  101. package/assets/docs/ModularMonolith/pack-foundation.ps1 +0 -145
  102. package/assets/docs/ModularMonolith/pack-foundation.sh +0 -196
  103. package/assets/docs/ModularMonolith/pack-reference-foundation.ps1 +0 -157
  104. package/assets/docs/ModularMonolith/pack-reference-foundation.sh +0 -209
  105. package/assets/docs/ModularMonolith/unpack-foundation.ps1 +0 -126
  106. package/assets/docs/ModularMonolith/unpack-foundation.sh +0 -217
  107. package/assets/docs/ModularMonolith/unpack-reference-foundation.ps1 +0 -129
  108. package/assets/docs/ModularMonolith/unpack-reference-foundation.sh +0 -218
  109. package/assets/docs/README.md +0 -106
  110. package/assets/docs/VerticalSlice/PACKAGING.md +0 -185
  111. package/assets/docs/VerticalSlice/VerticalSlice.Reference.pack.txt +0 -19318
  112. package/assets/docs/VerticalSlice/VerticalSlice.pack.txt +0 -2833
  113. package/assets/docs/VerticalSlice/pack-foundation.ps1 +0 -145
  114. package/assets/docs/VerticalSlice/pack-foundation.sh +0 -196
  115. package/assets/docs/VerticalSlice/pack-reference-foundation.ps1 +0 -157
  116. package/assets/docs/VerticalSlice/pack-reference-foundation.sh +0 -209
  117. package/assets/docs/VerticalSlice/unpack-foundation.ps1 +0 -126
  118. package/assets/docs/VerticalSlice/unpack-foundation.sh +0 -217
  119. package/assets/docs/VerticalSlice/unpack-reference-foundation.ps1 +0 -129
  120. package/assets/docs/VerticalSlice/unpack-reference-foundation.sh +0 -218
  121. package/assets/docs/architecture/clean-architecture.md +0 -71
  122. package/assets/docs/architecture/cqrs.md +0 -141
  123. package/assets/docs/architecture/eventing.md +0 -83
  124. package/assets/docs/architecture/folder-structure.md +0 -61
  125. package/assets/docs/architecture/modular-monolith.md +0 -47
  126. package/assets/docs/architecture/persistence.md +0 -269
  127. package/assets/docs/architecture/testing.md +0 -55
  128. package/assets/docs/architecture/vertical-slices.md +0 -201
  129. package/assets/docs/components/Email/README.md +0 -119
  130. package/assets/docs/components/Email/ReferenceEndpoints/SendEmailEndpoint.cs +0 -84
  131. package/assets/docs/components/Email/integration.md +0 -300
  132. package/assets/docs/components/Jobs/README.md +0 -113
  133. package/assets/docs/components/Jobs/integration.md +0 -259
  134. package/assets/docs/components/QrGenerator/README.md +0 -85
  135. package/assets/docs/components/QrGenerator/ReferenceEndpoints/GenerateQrEndpoint.cs +0 -57
  136. package/assets/docs/components/QrGenerator/integration.md +0 -230
  137. package/assets/docs/components/README.md +0 -74
  138. package/assets/docs/domain/domain-driven-design.md +0 -212
  139. package/assets/docs/domainspecs/healthcare/ai-rules.domain.md +0 -34
  140. package/assets/docs/domainspecs/healthcare/api-versioning.domain.md +0 -17
  141. package/assets/docs/domainspecs/healthcare/auditing.domain.md +0 -97
  142. package/assets/docs/domainspecs/healthcare/authorization.domain.md +0 -26
  143. package/assets/docs/domainspecs/healthcare/clinical-terms.md +0 -20
  144. package/assets/docs/domainspecs/healthcare/coding-standards.domain.md +0 -26
  145. package/assets/docs/domainspecs/healthcare/comandrulemap.md +0 -100
  146. package/assets/docs/domainspecs/healthcare/commandtechrulemap.md +0 -119
  147. package/assets/docs/domainspecs/healthcare/consent.md +0 -19
  148. package/assets/docs/domainspecs/healthcare/cqrs.domain.md +0 -12
  149. package/assets/docs/domainspecs/healthcare/data-classification.domain.md +0 -28
  150. package/assets/docs/domainspecs/healthcare/dependency-policy.domain.md +0 -11
  151. package/assets/docs/domainspecs/healthcare/dicom.md +0 -15
  152. package/assets/docs/domainspecs/healthcare/domain-driven-design.domain.md +0 -28
  153. package/assets/docs/domainspecs/healthcare/domain-requirements.md +0 -55
  154. package/assets/docs/domainspecs/healthcare/eventing.domain.md +0 -18
  155. package/assets/docs/domainspecs/healthcare/fhir.md +0 -36
  156. package/assets/docs/domainspecs/healthcare/folder-structure.domain.md +0 -23
  157. package/assets/docs/domainspecs/healthcare/hipaa.md +0 -34
  158. package/assets/docs/domainspecs/healthcare/hl7.md +0 -15
  159. package/assets/docs/domainspecs/healthcare/integration-terms.md +0 -21
  160. package/assets/docs/domainspecs/healthcare/persistence.domain.md +0 -20
  161. package/assets/docs/domainspecs/healthcare/terminology.md +0 -30
  162. package/assets/docs/domainspecs/healthcare/testing.domain.md +0 -15
  163. package/assets/docs/domainspecs/healthcare/vertical-slices.domain.md +0 -18
  164. package/assets/docs/domainspecs/healthcare/zero-trust.domain.md +0 -12
  165. package/assets/docs/domainspecs/pharma/ai-rules.domain.md +0 -32
  166. package/assets/docs/domainspecs/pharma/api-versioning.domain.md +0 -20
  167. package/assets/docs/domainspecs/pharma/atc.md +0 -22
  168. package/assets/docs/domainspecs/pharma/auditing.domain.md +0 -90
  169. package/assets/docs/domainspecs/pharma/authorization.domain.md +0 -25
  170. package/assets/docs/domainspecs/pharma/coding-standards.domain.md +0 -28
  171. package/assets/docs/domainspecs/pharma/comandrulemap.md +0 -108
  172. package/assets/docs/domainspecs/pharma/commandtechrulemap.md +0 -119
  173. package/assets/docs/domainspecs/pharma/cqrs.domain.md +0 -16
  174. package/assets/docs/domainspecs/pharma/data-classification.domain.md +0 -24
  175. package/assets/docs/domainspecs/pharma/data-provenance.md +0 -21
  176. package/assets/docs/domainspecs/pharma/dependency-policy.domain.md +0 -11
  177. package/assets/docs/domainspecs/pharma/domain-driven-design.domain.md +0 -36
  178. package/assets/docs/domainspecs/pharma/domain-requirements.md +0 -99
  179. package/assets/docs/domainspecs/pharma/eventing.domain.md +0 -18
  180. package/assets/docs/domainspecs/pharma/fhir.md +0 -31
  181. package/assets/docs/domainspecs/pharma/folder-structure.domain.md +0 -24
  182. package/assets/docs/domainspecs/pharma/hl7.md +0 -17
  183. package/assets/docs/domainspecs/pharma/idmp.md +0 -26
  184. package/assets/docs/domainspecs/pharma/integration-terms.md +0 -21
  185. package/assets/docs/domainspecs/pharma/ndc.md +0 -28
  186. package/assets/docs/domainspecs/pharma/persistence.domain.md +0 -23
  187. package/assets/docs/domainspecs/pharma/pharma-terms.md +0 -27
  188. package/assets/docs/domainspecs/pharma/product-lifecycle.domain.md +0 -30
  189. package/assets/docs/domainspecs/pharma/regulatory-compliance.md +0 -19
  190. package/assets/docs/domainspecs/pharma/terminology.md +0 -32
  191. package/assets/docs/domainspecs/pharma/testing.domain.md +0 -19
  192. package/assets/docs/domainspecs/pharma/vertical-slices.domain.md +0 -17
  193. package/assets/docs/domainspecs/pharma/zero-trust.domain.md +0 -12
  194. package/assets/docs/glossary/ai-rules.md +0 -59
  195. package/assets/docs/governance/api-versioning.md +0 -99
  196. package/assets/docs/governance/coding-standards.md +0 -87
  197. package/assets/docs/governance/dependency-policy.md +0 -40
  198. package/assets/docs/interop/ihe-conformance.md +0 -31
  199. package/assets/docs/requirement-spec.txt +0 -27
  200. package/assets/docs/security/auditing.md +0 -160
  201. package/assets/docs/security/authorization-matrix.md +0 -14
  202. package/assets/docs/security/authorization.md +0 -87
  203. package/assets/docs/security/data-classification.md +0 -38
  204. package/assets/docs/security/zero-trust.md +0 -76
  205. package/assets/docs/technology-constitution.md +0 -172
@@ -4,7 +4,7 @@
4
4
  "type": "google-antigravity",
5
5
  "package": "google-antigravity",
6
6
  "module": "google.antigravity",
7
- "adapter": "../.aw-spec/orchestrator/adapters/google_antigravity.py"
7
+ "adapter": "../.appweaver/orchestrator/adapters/google_antigravity.py"
8
8
  },
9
9
  "runtime": "Antigravity CLI (agy -p) — Antigravity is Gemini-based",
10
10
  "note": "Antigravity (agy) has no --system-prompt flag, so 'system' is folded into the prompt (system: prepend).",
@@ -1,42 +1,42 @@
1
1
  ---
2
- name: "aw-spec-orch"
2
+ name: "appweaver"
3
3
  description: "Parametric launcher (Antigravity): run ANY converted aw-spec skill on the aw-orchestrator under one of the 4 strategies (agent [default], spawn, sdk, sdk-apply)."
4
4
  argument-hint: "<skill> [strategy] [input…] — e.g. 'select-domain', 'specify spawn Build an order API', 'analyze-slice'"
5
- compatibility: "Requires .aw-spec/orchestrator/ and the agy CLI on PATH"
5
+ compatibility: "Requires .appweaver/orchestrator/ and the agy CLI on PATH"
6
6
  user-invocable: true
7
7
  disable-model-invocation: false
8
8
  ---
9
9
 
10
10
  # Orchestrator Skill Launcher
11
11
 
12
- Runs one converted `aw-spec-*` workflow on the shared, agent-agnostic engine. All orchestration and **all context management live in the workflow YAML + engine** (`.aw-spec/orchestrator/orchestrator.py`): the interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself. Execution follows the chosen strategy; the checkpoint channel carries every human-facing interaction regardless of strategy.
12
+ Runs one converted `aw-spec-*` workflow on the shared, agent-agnostic engine. All orchestration and **all context management live in the workflow YAML + engine** (`.appweaver/orchestrator/orchestrator.py`): the interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself. Execution follows the chosen strategy; the checkpoint channel carries every human-facing interaction regardless of strategy.
13
13
 
14
- - **Engine + workflows (common, shared by all agents):** `.aw-spec/orchestrator/orchestrator.py`, `.aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml`, shared modules in `.aw-spec/orchestrator/modules/`, shared scripts in `.aw-spec/scripts/`
14
+ - **Engine + workflows (common, shared by all agents):** `.appweaver/orchestrator/orchestrator.py`, `.appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml`, shared modules in `.appweaver/orchestrator/modules/`, shared scripts in `.appweaver/scripts/`
15
15
  - **This agent's transport profile:** `.agents/agent.json`
16
16
 
17
17
  > Antigravity spawns via the `agy` CLI (Gemini-based; no `--system-prompt`,
18
18
  > so `system` is folded into the prompt — isolation is best-effort). Its
19
19
  > `sdk` block declares the SDK the `sdk`/`sdk-apply` strategies import
20
20
  > (`google-antigravity`) and the adapter
21
- > (`.aw-spec/orchestrator/adapters/google_antigravity.py`, shared per-SDK)
21
+ > (`.appweaver/orchestrator/adapters/google_antigravity.py`, shared per-SDK)
22
22
  > that owns its calling convention.
23
23
 
24
24
  ## Execution Steps
25
25
 
26
26
  1. **Parse Arguments** (`<skill> [strategy] [input…]`):
27
- - `skill` (required): the aw-spec skill name, e.g. `demo`, `select-domain`, `foundation`, `specify`, `design`, `implement`, `build`. Resolve the workflow file `.aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml`. If it does not exist, list the available `aw-spec-*.orch.yaml` files in that folder and stop.
27
+ - `skill` (required): the aw-spec skill name, e.g. `demo`, `select-domain`, `foundation`, `specify`, `design`, `implement`, `build`. Resolve the workflow file `.appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml`. If it does not exist, list the available `aw-spec-*.orch.yaml` files in that folder and stop.
28
28
  - `strategy` (optional, one of `agent`, `spawn`, `sdk`, `sdk-apply`; default `agent` — YOU fulfill each generation through the checkpoint channel, no profile needed): who executes each generation. Always pass `--strategy <strategy>`.
29
29
  - Everything after the strategy is the user input: pass it as `--input "<text>"` (omit when empty).
30
30
  - `--agent-profile .agents/agent.json` is required for `spawn`, `sdk`, and `sdk-apply` (`agent` needs no profile). If the SDK package isn't installed, add `--sdk-install`.
31
- - **Always** pass `--checkpoint .aw-spec/orchestrator/.state/<skill>.state.json` — for EVERY strategy. Converted skills contain interactive steps (questions, selections, hooks); the checkpoint is how they reach you and the user. Strategies only govern who generates.
31
+ - **Always** pass `--checkpoint .appweaver/orchestrator/.state/<skill>.state.json` — for EVERY strategy. Converted skills contain interactive steps (questions, selections, hooks); the checkpoint is how they reach you and the user. Strategies only govern who generates.
32
32
  - `spawn` may also add `--isolation bare|fresh` and `--model <name>`; `sdk`/`sdk-apply` accept `--model <name>`.
33
33
 
34
34
  2. **Run the Interpreter**:
35
35
  ```bash
36
- python3 .aw-spec/orchestrator/orchestrator.py \
37
- .aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml \
36
+ python3 .appweaver/orchestrator/orchestrator.py \
37
+ .appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml \
38
38
  --strategy <strategy> \
39
- --checkpoint .aw-spec/orchestrator/.state/<skill>.state.json \
39
+ --checkpoint .appweaver/orchestrator/.state/<skill>.state.json \
40
40
  [--agent-profile .agents/agent.json] # spawn, sdk, sdk-apply \
41
41
  [--input "<user input>"] \
42
42
  --json
@@ -1,23 +1,23 @@
1
1
  ---
2
- name: "aw-spec-orch-demo"
2
+ name: "appweaver-demo"
3
3
  description: "Prototype launcher (Antigravity): run the aw-orchestrator using the specified strategy (spawn, agent, sdk, sdk-apply)."
4
4
  argument-hint: "Optional strategy ('agent', 'spawn', 'sdk', 'sdk-apply') and/or k=value vars (e.g. 'agent out_dir=...')"
5
- compatibility: "Requires .aw-spec/orchestrator/ and the gemini CLI on PATH"
5
+ compatibility: "Requires .appweaver/orchestrator/ and the gemini CLI on PATH"
6
6
  user-invocable: true
7
7
  disable-model-invocation: false
8
8
  ---
9
9
 
10
10
  # Orchestrator Launcher
11
11
 
12
- All orchestration lives in the workflow YAML and is executed by `.aw-spec/orchestrator/orchestrator.py` (the general, agent-agnostic engine). The interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself.
12
+ All orchestration lives in the workflow YAML and is executed by `.appweaver/orchestrator/orchestrator.py` (the general, agent-agnostic engine). The interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself.
13
13
 
14
- - **Engine + workflow (general):** `.aw-spec/orchestrator/orchestrator.py`, `*.orch.yaml`
14
+ - **Engine + workflow (general):** `.appweaver/orchestrator/orchestrator.py`, `*.orch.yaml`
15
15
  - **This agent's transport profile:** `.agents/agent.json`
16
16
 
17
17
  > Antigravity spawns via the `agy` CLI (Gemini-based; no `--system-prompt`, so
18
18
  > `system` is folded into the prompt). Its `sdk` block declares the SDK the
19
19
  > `sdk`/`sdk-apply` strategies import (`google-antigravity`) and the adapter
20
- > (`.aw-spec/orchestrator/adapters/google_antigravity.py`, shared per-SDK)
20
+ > (`.appweaver/orchestrator/adapters/google_antigravity.py`, shared per-SDK)
21
21
  > that owns its calling convention.
22
22
 
23
23
  ## Execution Steps
@@ -30,7 +30,7 @@ All orchestration lives in the workflow YAML and is executed by `.aw-spec/orches
30
30
  package/module (and its `adapter` file) to import from its `sdk` block.
31
31
  If the SDK package isn't installed, add `--sdk-install` so the engine
32
32
  pip-installs the declared package first. (`agent` needs no profile.)
33
- - `--checkpoint .aw-spec/orchestrator/.demo-out/demo.state.json` is required for
33
+ - `--checkpoint .appweaver/orchestrator/.demo-out/demo.state.json` is required for
34
34
  `sdk-apply` and `agent` (suspend/resume — follow the loop in step 3).
35
35
  - `spawn` accepts `--model <name>` (e.g. `gemini-2.5-pro`); isolation is
36
36
  best-effort for Antigravity (no `--bare` equivalent). `sdk`/`sdk-apply`
@@ -39,11 +39,11 @@ All orchestration lives in the workflow YAML and is executed by `.aw-spec/orches
39
39
  2. **Run the Interpreter**:
40
40
  Run the command (include only the bracketed flags that apply to the chosen strategy):
41
41
  ```bash
42
- python3 .aw-spec/orchestrator/orchestrator.py \
43
- .aw-spec/orchestrator/workflows/aw-spec-demo.orch.yaml \
42
+ python3 .appweaver/orchestrator/orchestrator.py \
43
+ .appweaver/orchestrator/workflows/aw-spec-demo.orch.yaml \
44
44
  --strategy <strategy> \
45
45
  [--agent-profile .agents/agent.json] # spawn, sdk, sdk-apply \
46
- [--checkpoint .aw-spec/orchestrator/.demo-out/demo.state.json] # sdk-apply, agent \
46
+ [--checkpoint .appweaver/orchestrator/.demo-out/demo.state.json] # sdk-apply, agent \
47
47
  --json
48
48
  ```
49
49
 
@@ -4,7 +4,7 @@
4
4
  "type": "claude-agent-sdk",
5
5
  "package": "claude-agent-sdk",
6
6
  "module": "claude_agent_sdk",
7
- "adapter": "../.aw-spec/orchestrator/adapters/claude_agent_sdk.py"
7
+ "adapter": "../.appweaver/orchestrator/adapters/claude_agent_sdk.py"
8
8
  },
9
9
  "runtime": "Claude Code CLI (claude -p)",
10
10
  "bin": "claude",
@@ -1,41 +1,41 @@
1
1
  ---
2
- name: "aw-spec-orch"
2
+ name: "appweaver"
3
3
  description: "Parametric launcher (Claude Code): run ANY converted aw-spec skill on the aw-orchestrator under one of the 4 strategies (agent [default], spawn, sdk, sdk-apply)."
4
4
  argument-hint: "<skill> [strategy] [input…] — e.g. 'select-domain', 'specify spawn Build an order API', 'analyze-slice'"
5
- compatibility: "Requires .aw-spec/orchestrator/ and the claude CLI on PATH"
5
+ compatibility: "Requires .appweaver/orchestrator/ and the claude CLI on PATH"
6
6
  user-invocable: true
7
7
  disable-model-invocation: false
8
8
  ---
9
9
 
10
10
  # Orchestrator Skill Launcher
11
11
 
12
- Runs one converted `aw-spec-*` workflow on the shared, agent-agnostic engine. All orchestration and **all context management live in the workflow YAML + engine** (`.aw-spec/orchestrator/orchestrator.py`): the interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself. Execution follows the chosen strategy; the checkpoint channel carries every human-facing interaction regardless of strategy.
12
+ Runs one converted `aw-spec-*` workflow on the shared, agent-agnostic engine. All orchestration and **all context management live in the workflow YAML + engine** (`.appweaver/orchestrator/orchestrator.py`): the interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself. Execution follows the chosen strategy; the checkpoint channel carries every human-facing interaction regardless of strategy.
13
13
 
14
- - **Engine + workflows (common, shared by all agents):** `.aw-spec/orchestrator/orchestrator.py`, `.aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml`, shared modules in `.aw-spec/orchestrator/modules/`, shared scripts in `.aw-spec/scripts/`
14
+ - **Engine + workflows (common, shared by all agents):** `.appweaver/orchestrator/orchestrator.py`, `.appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml`, shared modules in `.appweaver/orchestrator/modules/`, shared scripts in `.appweaver/scripts/`
15
15
  - **This agent's transport profile:** `.claude/agent.json`
16
16
 
17
17
  > Claude Code spawns via the `claude -p` CLI (native `--system-prompt`,
18
18
  > `--tools`, and `--bare` isolation). Its `sdk` block declares the SDK the
19
19
  > `sdk`/`sdk-apply` strategies import (`claude-agent-sdk`) and the adapter
20
- > (`.aw-spec/orchestrator/adapters/claude_agent_sdk.py`, shared per-SDK)
20
+ > (`.appweaver/orchestrator/adapters/claude_agent_sdk.py`, shared per-SDK)
21
21
  > that owns its calling convention.
22
22
 
23
23
  ## Execution Steps
24
24
 
25
25
  1. **Parse Arguments** (`<skill> [strategy] [input…]`):
26
- - `skill` (required): the aw-spec skill name, e.g. `demo`, `select-domain`, `foundation`, `specify`, `design`, `implement`, `build`. Resolve the workflow file `.aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml`. If it does not exist, list the available `aw-spec-*.orch.yaml` files in that folder and stop.
26
+ - `skill` (required): the aw-spec skill name, e.g. `demo`, `select-domain`, `foundation`, `specify`, `design`, `implement`, `build`. Resolve the workflow file `.appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml`. If it does not exist, list the available `aw-spec-*.orch.yaml` files in that folder and stop.
27
27
  - `strategy` (optional, one of `agent`, `spawn`, `sdk`, `sdk-apply`; default `agent` — YOU fulfill each generation through the checkpoint channel, no profile needed): who executes each generation. Always pass `--strategy <strategy>`.
28
28
  - Everything after the strategy is the user input: pass it as `--input "<text>"` (omit when empty).
29
29
  - `--agent-profile .claude/agent.json` is required for `spawn`, `sdk`, and `sdk-apply` (`agent` needs no profile). If the SDK package isn't installed, add `--sdk-install`.
30
- - **Always** pass `--checkpoint .aw-spec/orchestrator/.state/<skill>.state.json` — for EVERY strategy. Converted skills contain interactive steps (questions, selections, hooks); the checkpoint is how they reach you and the user. Strategies only govern who generates.
30
+ - **Always** pass `--checkpoint .appweaver/orchestrator/.state/<skill>.state.json` — for EVERY strategy. Converted skills contain interactive steps (questions, selections, hooks); the checkpoint is how they reach you and the user. Strategies only govern who generates.
31
31
  - `spawn` may also add `--isolation bare|fresh` and `--model <name>`; `sdk`/`sdk-apply` accept `--model <name>`.
32
32
 
33
33
  2. **Run the Interpreter**:
34
34
  ```bash
35
- python3 .aw-spec/orchestrator/orchestrator.py \
36
- .aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml \
35
+ python3 .appweaver/orchestrator/orchestrator.py \
36
+ .appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml \
37
37
  --strategy <strategy> \
38
- --checkpoint .aw-spec/orchestrator/.state/<skill>.state.json \
38
+ --checkpoint .appweaver/orchestrator/.state/<skill>.state.json \
39
39
  [--agent-profile .claude/agent.json] # spawn, sdk, sdk-apply \
40
40
  [--input "<user input>"] \
41
41
  --json
@@ -1,23 +1,23 @@
1
1
  ---
2
- name: "aw-spec-orch-demo"
2
+ name: "appweaver-demo"
3
3
  description: "Prototype launcher (Claude Code): run the aw-orchestrator using the specified strategy (spawn, agent, sdk, sdk-apply)."
4
4
  argument-hint: "Optional strategy ('agent', 'spawn', 'sdk', 'sdk-apply') and/or k=value vars (e.g. 'agent out_dir=...')"
5
- compatibility: "Requires .aw-spec/orchestrator/ and the claude CLI on PATH"
5
+ compatibility: "Requires .appweaver/orchestrator/ and the claude CLI on PATH"
6
6
  user-invocable: true
7
7
  disable-model-invocation: false
8
8
  ---
9
9
 
10
10
  # Orchestrator Launcher
11
11
 
12
- All orchestration lives in the workflow YAML and is executed by `.aw-spec/orchestrator/orchestrator.py` (the general, agent-agnostic engine). The interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself.
12
+ All orchestration lives in the workflow YAML and is executed by `.appweaver/orchestrator/orchestrator.py` (the general, agent-agnostic engine). The interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself.
13
13
 
14
- - **Engine + workflow (general):** `.aw-spec/orchestrator/orchestrator.py`, `*.orch.yaml`
14
+ - **Engine + workflow (general):** `.appweaver/orchestrator/orchestrator.py`, `*.orch.yaml`
15
15
  - **This agent's transport profile:** `.claude/agent.json`
16
16
 
17
17
  > Claude Code spawns via the `claude -p` CLI (native `--system-prompt`,
18
18
  > `--tools`, and `--bare` isolation). Its `sdk` block declares the SDK the
19
19
  > `sdk`/`sdk-apply` strategies import (`claude-agent-sdk`) and the adapter
20
- > (`.aw-spec/orchestrator/adapters/claude_agent_sdk.py`, shared per-SDK)
20
+ > (`.appweaver/orchestrator/adapters/claude_agent_sdk.py`, shared per-SDK)
21
21
  > that owns its calling convention.
22
22
 
23
23
  ## Execution Steps
@@ -30,7 +30,7 @@ All orchestration lives in the workflow YAML and is executed by `.aw-spec/orches
30
30
  package/module (and its `adapter` file) to import from its `sdk` block.
31
31
  If the SDK package isn't installed, add `--sdk-install` so the engine
32
32
  pip-installs the declared package first. (`agent` needs no profile.)
33
- - `--checkpoint .aw-spec/orchestrator/.demo-out/demo.state.json` is required for
33
+ - `--checkpoint .appweaver/orchestrator/.demo-out/demo.state.json` is required for
34
34
  `sdk-apply` and `agent` (suspend/resume — follow the loop in step 3).
35
35
  - `spawn` may also add `--isolation bare|fresh` and `--model <name>` (bare is
36
36
  strongest; use it when `ANTHROPIC_API_KEY` is set). `sdk`/`sdk-apply` accept
@@ -39,11 +39,11 @@ All orchestration lives in the workflow YAML and is executed by `.aw-spec/orches
39
39
  2. **Run the Interpreter**:
40
40
  Run the command (include only the bracketed flags that apply to the chosen strategy):
41
41
  ```bash
42
- python3 .aw-spec/orchestrator/orchestrator.py \
43
- .aw-spec/orchestrator/workflows/aw-spec-demo.orch.yaml \
42
+ python3 .appweaver/orchestrator/orchestrator.py \
43
+ .appweaver/orchestrator/workflows/aw-spec-demo.orch.yaml \
44
44
  --strategy <strategy> \
45
45
  [--agent-profile .claude/agent.json] # spawn, sdk, sdk-apply \
46
- [--checkpoint .aw-spec/orchestrator/.demo-out/demo.state.json] # sdk-apply, agent \
46
+ [--checkpoint .appweaver/orchestrator/.demo-out/demo.state.json] # sdk-apply, agent \
47
47
  --json
48
48
  ```
49
49
 
@@ -4,7 +4,7 @@
4
4
  "type": "claude-agent-sdk",
5
5
  "package": "claude-agent-sdk",
6
6
  "module": "claude_agent_sdk",
7
- "adapter": "../.aw-spec/orchestrator/adapters/claude_agent_sdk.py"
7
+ "adapter": "../.appweaver/orchestrator/adapters/claude_agent_sdk.py"
8
8
  },
9
9
  "runtime": "Kilo Code launches the interpreter; generation delegates to the Claude Code CLI",
10
10
  "note": "Kilo Code is a VS Code extension with no standalone headless generation CLI, so this profile reuses `claude -p` for the fresh generation. To generate via Gemini instead, replace bin/args/system/user/tools_flag/approval with the .agents (antigravity) profile's values.",
@@ -1,23 +1,23 @@
1
1
  ---
2
- name: "aw-spec-orch-demo"
2
+ name: "appweaver-demo"
3
3
  description: "Prototype launcher (Kilo Code): run the aw-orchestrator using the specified strategy (spawn, agent, sdk, sdk-apply)."
4
4
  argument-hint: "Optional strategy ('agent', 'spawn', 'sdk', 'sdk-apply') and/or k=value vars (e.g. 'agent out_dir=...')"
5
- compatibility: "Requires .aw-spec/orchestrator/ and the claude CLI on PATH"
5
+ compatibility: "Requires .appweaver/orchestrator/ and the claude CLI on PATH"
6
6
  user-invocable: true
7
7
  disable-model-invocation: false
8
8
  ---
9
9
 
10
10
  # Orchestrator Launcher
11
11
 
12
- All orchestration lives in the workflow YAML and is executed by `.aw-spec/orchestrator/orchestrator.py` (the general, agent-agnostic engine). The interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself.
12
+ All orchestration lives in the workflow YAML and is executed by `.appweaver/orchestrator/orchestrator.py` (the general, agent-agnostic engine). The interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself.
13
13
 
14
- - **Engine + workflow (general):** `.aw-spec/orchestrator/orchestrator.py`, `*.orch.yaml`
14
+ - **Engine + workflow (general):** `.appweaver/orchestrator/orchestrator.py`, `*.orch.yaml`
15
15
  - **This agent's transport profile:** `.kilocode/agent.json`
16
16
 
17
17
  > Kilo Code has no native headless CLI, so it reuses `claude -p` for `spawn`
18
18
  > (native `--system-prompt`, `--tools`, `--bare` isolation). Its `sdk` block
19
19
  > declares the SDK the `sdk`/`sdk-apply` strategies import (`claude-agent-sdk`)
20
- > and the adapter (`.aw-spec/orchestrator/adapters/claude_agent_sdk.py`,
20
+ > and the adapter (`.appweaver/orchestrator/adapters/claude_agent_sdk.py`,
21
21
  > shared per-SDK) that owns its calling convention.
22
22
 
23
23
  ## Execution Steps
@@ -30,7 +30,7 @@ All orchestration lives in the workflow YAML and is executed by `.aw-spec/orches
30
30
  package/module (and its `adapter` file) to import from its `sdk` block.
31
31
  If the SDK package isn't installed, add `--sdk-install` so the engine
32
32
  pip-installs the declared package first. (`agent` needs no profile.)
33
- - `--checkpoint .aw-spec/orchestrator/.demo-out/demo.state.json` is required for
33
+ - `--checkpoint .appweaver/orchestrator/.demo-out/demo.state.json` is required for
34
34
  `sdk-apply` and `agent` (suspend/resume — follow the loop in step 3).
35
35
  - `spawn` may also add `--isolation bare|fresh` and `--model <name>` (bare is
36
36
  strongest; use it when `ANTHROPIC_API_KEY` is set). `sdk`/`sdk-apply` accept
@@ -39,11 +39,11 @@ All orchestration lives in the workflow YAML and is executed by `.aw-spec/orches
39
39
  2. **Run the Interpreter**:
40
40
  Run the command (include only the bracketed flags that apply to the chosen strategy):
41
41
  ```bash
42
- python3 .aw-spec/orchestrator/orchestrator.py \
43
- .aw-spec/orchestrator/workflows/aw-spec-demo.orch.yaml \
42
+ python3 .appweaver/orchestrator/orchestrator.py \
43
+ .appweaver/orchestrator/workflows/aw-spec-demo.orch.yaml \
44
44
  --strategy <strategy> \
45
45
  [--agent-profile .kilocode/agent.json] # spawn, sdk, sdk-apply \
46
- [--checkpoint .aw-spec/orchestrator/.demo-out/demo.state.json] # sdk-apply, agent \
46
+ [--checkpoint .appweaver/orchestrator/.demo-out/demo.state.json] # sdk-apply, agent \
47
47
  --json
48
48
  ```
49
49
 
@@ -1,41 +1,41 @@
1
1
  ---
2
- name: "aw-spec-orch"
2
+ name: "appweaver"
3
3
  description: "Parametric launcher (Kilo Code): run ANY converted aw-spec skill on the aw-orchestrator under one of the 4 strategies (agent [default], spawn, sdk, sdk-apply)."
4
4
  argument-hint: "<skill> [strategy] [input…] — e.g. 'select-domain', 'specify spawn Build an order API', 'analyze-slice'"
5
- compatibility: "Requires .aw-spec/orchestrator/ and the claude CLI on PATH"
5
+ compatibility: "Requires .appweaver/orchestrator/ and the claude CLI on PATH"
6
6
  user-invocable: true
7
7
  disable-model-invocation: false
8
8
  ---
9
9
 
10
10
  # Orchestrator Skill Launcher
11
11
 
12
- Runs one converted `aw-spec-*` workflow on the shared, agent-agnostic engine. All orchestration and **all context management live in the workflow YAML + engine** (`.aw-spec/orchestrator/orchestrator.py`): the interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself. Execution follows the chosen strategy; the checkpoint channel carries every human-facing interaction regardless of strategy.
12
+ Runs one converted `aw-spec-*` workflow on the shared, agent-agnostic engine. All orchestration and **all context management live in the workflow YAML + engine** (`.appweaver/orchestrator/orchestrator.py`): the interpreter assembles the COMPLETE payload (system + user) for every request; you never author generation context yourself. Execution follows the chosen strategy; the checkpoint channel carries every human-facing interaction regardless of strategy.
13
13
 
14
- - **Engine + workflows (common, shared by all agents):** `.aw-spec/orchestrator/orchestrator.py`, `.aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml`, shared modules in `.aw-spec/orchestrator/modules/`, shared scripts in `.aw-spec/scripts/`
14
+ - **Engine + workflows (common, shared by all agents):** `.appweaver/orchestrator/orchestrator.py`, `.appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml`, shared modules in `.appweaver/orchestrator/modules/`, shared scripts in `.appweaver/scripts/`
15
15
  - **This agent's transport profile:** `.kilocode/agent.json`
16
16
 
17
17
  > Kilo Code has no native headless CLI, so it reuses `claude -p` for `spawn`
18
18
  > (native `--system-prompt`, `--tools`, `--bare` isolation). Its `sdk` block
19
19
  > declares the SDK the `sdk`/`sdk-apply` strategies import (`claude-agent-sdk`)
20
- > and the adapter (`.aw-spec/orchestrator/adapters/claude_agent_sdk.py`,
20
+ > and the adapter (`.appweaver/orchestrator/adapters/claude_agent_sdk.py`,
21
21
  > shared per-SDK) that owns its calling convention.
22
22
 
23
23
  ## Execution Steps
24
24
 
25
25
  1. **Parse Arguments** (`<skill> [strategy] [input…]`):
26
- - `skill` (required): the aw-spec skill name, e.g. `demo`, `select-domain`, `foundation`, `specify`, `design`, `implement`, `build`. Resolve the workflow file `.aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml`. If it does not exist, list the available `aw-spec-*.orch.yaml` files in that folder and stop.
26
+ - `skill` (required): the aw-spec skill name, e.g. `demo`, `select-domain`, `foundation`, `specify`, `design`, `implement`, `build`. Resolve the workflow file `.appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml`. If it does not exist, list the available `aw-spec-*.orch.yaml` files in that folder and stop.
27
27
  - `strategy` (optional, one of `agent`, `spawn`, `sdk`, `sdk-apply`; default `agent` — YOU fulfill each generation through the checkpoint channel, no profile needed): who executes each generation. Always pass `--strategy <strategy>`.
28
28
  - Everything after the strategy is the user input: pass it as `--input "<text>"` (omit when empty).
29
29
  - `--agent-profile .kilocode/agent.json` is required for `spawn`, `sdk`, and `sdk-apply` (`agent` needs no profile). If the SDK package isn't installed, add `--sdk-install`.
30
- - **Always** pass `--checkpoint .aw-spec/orchestrator/.state/<skill>.state.json` — for EVERY strategy. Converted skills contain interactive steps (questions, selections, hooks); the checkpoint is how they reach you and the user. Strategies only govern who generates.
30
+ - **Always** pass `--checkpoint .appweaver/orchestrator/.state/<skill>.state.json` — for EVERY strategy. Converted skills contain interactive steps (questions, selections, hooks); the checkpoint is how they reach you and the user. Strategies only govern who generates.
31
31
  - `spawn` may also add `--isolation bare|fresh` and `--model <name>`; `sdk`/`sdk-apply` accept `--model <name>`.
32
32
 
33
33
  2. **Run the Interpreter**:
34
34
  ```bash
35
- python3 .aw-spec/orchestrator/orchestrator.py \
36
- .aw-spec/orchestrator/workflows/aw-spec-<skill>.orch.yaml \
35
+ python3 .appweaver/orchestrator/orchestrator.py \
36
+ .appweaver/orchestrator/workflows/aw-spec-<skill>.orch.yaml \
37
37
  --strategy <strategy> \
38
- --checkpoint .aw-spec/orchestrator/.state/<skill>.state.json \
38
+ --checkpoint .appweaver/orchestrator/.state/<skill>.state.json \
39
39
  [--agent-profile .kilocode/agent.json] # spawn, sdk, sdk-apply \
40
40
  [--input "<user input>"] \
41
41
  --json
@@ -0,0 +1,86 @@
1
+ # Pharma Constitution — Domain Addenda
2
+
3
+ > **Domain addenda to the technology constitution.** Not ratified on its own — compose it with
4
+ > the technology base.
5
+
6
+ ## How to use (compose-at-ratification)
7
+
8
+ The technology base (`docs/technology-constitution.md`) **auto-loads** for `/aw-spec-constitution`,
9
+ so you pass only this domain addenda:
10
+
11
+ ```
12
+ /aw-spec-constitution @docs/pharma-constitution.md
13
+ ```
14
+
15
+ This file supplies **only** the pharma deltas: project identity, regulatory posture, the pharma
16
+ domain principles (which **continue** the technology numbering at **XVI**), folder additions,
17
+ governance overrides, and the active-domain pointer. The reusable principles I–XV live in the
18
+ technology base and are not repeated here.
19
+
20
+ Active domain folder: `docs/domainspecs/pharma/` (set via `/aw-spec-select-domain pharma`).
21
+
22
+ ## Project Identity (fills the technology base)
23
+
24
+ - **Project name:** `<SampleProjectName>` — Medicinal Product Registry (Headless API).
25
+ - **Mission:** maintain a centralized, authoritative registry of medicinal products in compliance with pharmaceutical industry standards, regulatory requirements, and healthcare interoperability specifications; exposed as a headless HTTP + FHIR API ready for integration with prescribing, dispensing, manufacturing, pharmacovigilance, and clinical systems.
26
+ - **Bounded contexts (modules):** enumerated in `docs/domainspecs/pharma/domain-requirements.md` (project-specific).
27
+ - **Architecture posture:** Modular Monolith with Clean Architecture + DDD; `MedicinalProduct` is the Aggregate Root; each module designed for clean extraction into an independent microservice. **HEADLESS.**
28
+
29
+ ## Regulatory Posture
30
+
31
+ Built for regulatory compliance **readiness** — auditability, traceability, data integrity, and
32
+ provenance are designed in. Data-integrity expectations follow **ALCOA+** for GxP-relevant
33
+ product records. Identifier standards (NDC), substance identity (UNII), classification (WHO
34
+ ATC), and ISO IDMP concept alignment are first-class. Data residency configurable per deployment.
35
+
36
+ ## Domain Principles
37
+
38
+ > Extend the technology Core Principles; numbering **continues from XV**.
39
+
40
+ ### XVI — Pharmaceutical Product Identification (NON-NEGOTIABLE)
41
+ NDC modeled as a Value Object with discrete Labeler/Product/Package segments; NDC uniqueness enforced (aggregate + persistence constraint); NDC validation rules configurable; no invented NDC/Labeler codes. The domain model aligns with ISO IDMP concepts (Medicinal Product, Manufactured Item, Pharmaceutical Product, Substance, MAH, Packaging, Strength, Route of Administration).
42
+ → `docs/domainspecs/pharma/ndc.md`, `idmp.md`
43
+
44
+ ### XVII — Pharma Terminology & Classification (NON-NEGOTIABLE)
45
+ Coded data uses standard terminologies — UNII (substances), RxNorm (clinical drug), SNOMED CT (dose form / route / classification), UCUM (units), and WHO ATC (therapeutic classification). Every coded field is a Codeable value object; lookup/validation via the Terminology module; ATC codes validated against configured code sets (multiple ATC per product allowed); no invented or free-text codes.
46
+ → `docs/domainspecs/pharma/terminology.md`, `atc.md`
47
+
48
+ ### XVIII — Regulatory Compliance: Audit, Provenance & Versioning (NON-NEGOTIABLE)
49
+ Immutable audit records (User, Timestamp, Action, Previous Value, New Value) for product creation, modification, retirement, identifier changes, and classification changes; `AuditRecord` is append-only. Provenance captured for externally sourced product data (source, method, agent, timestamp). Full version history of product information; historical versions remain queryable. Extends technology **X** and **XIV** with pharma compliance controls.
50
+ → `docs/domainspecs/pharma/regulatory-compliance.md`, `data-provenance.md`, `auditing.domain.md`, `persistence.domain.md`
51
+
52
+ ### XIX — Medicinal Product Lifecycle Integrity (NON-NEGOTIABLE)
53
+ MedicinalProduct lifecycle (Draft → Under Review → Approved → Active → Discontinued/Withdrawn) is a guarded state machine; only valid transitions are permitted; registration completeness (required attributes, ≥ 1 active ingredient, ≥ 1 packaging, valid NDC/dosage-form/route/ATC) is enforced before leaving Draft; retirement is a logical state change, never a hard delete. Each transition emits a domain event and is audit-mandatory.
54
+ → `docs/domainspecs/pharma/product-lifecycle.domain.md`, `domain-driven-design.domain.md`, `eventing.domain.md`
55
+
56
+ ### XX — Healthcare Interoperability Readiness
57
+ The model maps to FHIR Medication / MedicationKnowledge / Substance / Organization (projections, not the system of record); product identifiers map to FHIR Identifier; coded fields map to CodeableConcept/Coding; the solution supports future HL7-based integration via Interop adapters. Extends technology **XII** and **XIV** with the FHIR contract.
58
+ → `docs/domainspecs/pharma/fhir.md`, `hl7.md`
59
+
60
+ ## Folder Structure Additions
61
+
62
+ - Pharma additions (Interop/Fhir + Hl7v2 adapters, InteropTests, terminology seed fixtures, provenance/version-history stores): `docs/domainspecs/pharma/folder-structure.domain.md`
63
+
64
+ ## Security & Governance Addenda
65
+
66
+ - **Change authority** (who may register / approve / retire products, and change identifiers or classification): `docs/domainspecs/pharma/authorization.domain.md`
67
+ - **Data classification** (public vs commercially-sensitive / pre-market / externally-sourced; GxP/ALCOA+ integrity): `docs/domainspecs/pharma/data-classification.domain.md`
68
+ - **Zero-trust posture** (transport, scope/trace propagation, change-authority enforcement): `docs/domainspecs/pharma/zero-trust.domain.md`
69
+ - **Coding standards** (forbidden patterns, quality gates): `docs/domainspecs/pharma/coding-standards.domain.md`
70
+ - **API/contract versioning** (FHIR + NDC identifier stability): `docs/domainspecs/pharma/api-versioning.domain.md`
71
+ - **Dependency policy** (FHIR SDK, terminology libraries, regulatory suitability): `docs/domainspecs/pharma/dependency-policy.domain.md`
72
+
73
+ ## AI Rules Addenda
74
+
75
+ - Identifier/code safety (no invented NDC/UNII/RxNorm/SNOMED/ATC), projection discipline, lifecycle/audit edit limits, pharma refusal conditions: `docs/domainspecs/pharma/ai-rules.domain.md` (extends `docs/glossary/ai-rules.md`)
76
+
77
+ ## Governance Overrides
78
+
79
+ - Mandatory approver for any identifier (NDC), classification (ATC), or lifecycle-rule change: Regulatory/Compliance Officer (in addition to a Principal Engineer and a Domain Owner). Change-authority roles are defined in `docs/domainspecs/pharma/authorization.domain.md`.
80
+ - Additional review required after every relevant regulatory or terminology-release update (e.g. WHO ATC annual update, FDA NDC directory changes).
81
+ - **Versioning note:** any change to NDC identity rules, the lifecycle state machine, the audit-record shape, or the canonical FHIR interoperability surface is a MAJOR bump.
82
+
83
+ ## Domain Requirements Pointer
84
+
85
+ → `docs/domainspecs/pharma/domain-requirements.md`
86
+ (`[DOMAIN: Bounded Contexts / Modules]`, per-subsection pointers, `[DOMAIN: Platform Topology]`, `[DOMAIN: Governance Overrides]`).
@@ -14,7 +14,7 @@ export async function resolveAssetsPath() {
14
14
  return distAssets;
15
15
  }
16
16
  // Development mode: use the source AppWeaver.Spec repo
17
- const sourceRepo = path.resolve(__dirname, '../../../AppWeaver.Spec.Orchestration');
17
+ const sourceRepo = path.resolve(__dirname, '../../../AppWeaver.Spec');
18
18
  if (await fs.pathExists(sourceRepo)) {
19
19
  return sourceRepo;
20
20
  }
@@ -31,6 +31,6 @@ export async function resolveAssetsPath() {
31
31
  * Get the source AppWeaver.Spec repository path (for bundling script)
32
32
  */
33
33
  export function getSourceRepoPath() {
34
- return path.resolve(__dirname, '../../AppWeaver.Spec.Orchestration');
34
+ return path.resolve(__dirname, '../../AppWeaver.Spec');
35
35
  }
36
36
  //# sourceMappingURL=paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,uDAAuD;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;IACpF,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,0CAA0C;QAC1C,UAAU,UAAU,KAAK,UAAU,KAAK,SAAS,EAAE,CACpD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,uDAAuD;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IACtE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,0CAA0C;QAC1C,UAAU,UAAU,KAAK,UAAU,KAAK,SAAS,EAAE,CACpD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aw-spec-cli",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "AppWeaver Spec-Driven Development CLI - scaffolds projects with vertical slices, DDD, CQRS, and agent skills",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",