aw-spec-cli 0.1.3 → 0.1.5
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 +291 -0
- package/assets/.agents/agent.json +28 -0
- package/assets/.agents/skills/aw-spec-orch/SKILL.md +56 -0
- package/assets/.agents/skills/aw-spec-orch-demo/SKILL.md +59 -0
- package/assets/.aw-spec/DESIGN-FORMAT.md +151 -0
- package/assets/.aw-spec/ORCH-DIALECT.md +156 -0
- package/assets/.aw-spec/RULE-PARTITION.md +126 -0
- package/assets/.aw-spec/extensions/agent-context/extension.yml +12 -9
- package/assets/.aw-spec/extensions.yml +12 -19
- package/assets/.aw-spec/integrations/aw-spec.manifest.json +1 -9
- package/assets/.aw-spec/interpreter/run-skill.py +1158 -0
- package/assets/.aw-spec/orchestrator/AGENT-PROFILE.md +94 -0
- package/assets/.aw-spec/orchestrator/README.md +300 -0
- package/assets/.aw-spec/orchestrator/adapters/claude_agent_sdk.py +74 -0
- package/assets/.aw-spec/orchestrator/adapters/google_antigravity.py +74 -0
- package/assets/.aw-spec/orchestrator/modules/delta-design.orch.yaml +105 -0
- package/assets/.aw-spec/orchestrator/modules/delta-spec.orch.yaml +79 -0
- package/assets/.aw-spec/orchestrator/modules/domain-select.orch.yaml +81 -0
- package/assets/.aw-spec/orchestrator/modules/tech-select.orch.yaml +75 -0
- package/assets/.aw-spec/orchestrator/orchestrator.py +1721 -0
- package/assets/.aw-spec/orchestrator/rev-templates/ai-rules.reference.md +40 -0
- package/assets/.aw-spec/orchestrator/rev-templates/comandrulemap.skeleton.md +59 -0
- package/assets/.aw-spec/orchestrator/rev-templates/commandtechrulemap.skeleton.md +97 -0
- package/assets/.aw-spec/orchestrator/rev-templates/domain-constitution.skeleton.md +61 -0
- package/assets/.aw-spec/orchestrator/rev-templates/domain-requirements.skeleton.md +48 -0
- package/assets/.aw-spec/orchestrator/rev-templates/domain-rule-file.skeleton.md +39 -0
- package/assets/.aw-spec/orchestrator/rev-templates/technical-constitution.skeleton.md +106 -0
- package/assets/.aw-spec/orchestrator/rev-templates/technical-rule-file.skeleton.md +54 -0
- package/assets/.aw-spec/orchestrator/workflows/_smoke.orch.yaml +160 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-add-component.orch.yaml +244 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-adopt.orch.yaml +775 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-delta-design.orch.yaml +248 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-design.orch.yaml +261 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-slice.orch.yaml +425 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-build.orch.yaml +188 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-characterize.orch.yaml +474 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-close-delta.orch.yaml +181 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-constitution.orch.yaml +284 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-demo.orch.yaml +103 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-dependency-tree.orch.yaml +69 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-deploy.orch.yaml +85 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-design.orch.yaml +382 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-finalize-delta.orch.yaml +382 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-foundation.orch.yaml +246 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-implement-delta.orch.yaml +231 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-implement.orch.yaml +258 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-inventory.orch.yaml +236 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-onboard.orch.yaml +949 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-parity.orch.yaml +293 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-run.orch.yaml +177 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-select-domain.orch.yaml +79 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-select-feature.orch.yaml +128 -0
- package/assets/.aw-spec/orchestrator/workflows/aw-spec-specify.orch.yaml +412 -0
- package/assets/.aw-spec/scripts/bash/aw-inventory.sh +14 -0
- package/assets/.aw-spec/scripts/bash/aw-parity.sh +13 -0
- package/assets/.aw-spec/scripts/bash/aw-rev-constitution.sh +13 -0
- package/assets/.aw-spec/scripts/bash/aw-spec-actions.sh +1899 -0
- package/assets/.aw-spec/scripts/bash/aw-xref.sh +15 -0
- package/assets/.aw-spec/scripts/bash/common.sh +11 -60
- package/assets/.aw-spec/scripts/powershell/aw-inventory.ps1 +14 -0
- package/assets/.aw-spec/scripts/powershell/aw-parity.ps1 +13 -0
- package/assets/.aw-spec/scripts/powershell/aw-rev-constitution.ps1 +13 -0
- package/assets/.aw-spec/scripts/powershell/aw-spec-actions.ps1 +1563 -0
- package/assets/.aw-spec/scripts/powershell/aw-xref.ps1 +15 -0
- package/assets/.aw-spec/scripts/python/aw-inventory.py +683 -0
- package/assets/.aw-spec/scripts/python/aw-parity.py +380 -0
- package/assets/.aw-spec/scripts/python/aw-rev-constitution.py +312 -0
- package/assets/.aw-spec/scripts/python/aw-xref.py +1330 -0
- package/assets/.aw-spec/scripts/python/validate_okf.py +349 -0
- package/assets/.aw-spec/templates/constitution-domain-template.md +75 -0
- package/assets/.aw-spec/templates/constitution-technical-template.md +70 -0
- package/assets/.aw-spec/templates/delta-design-template.md +69 -0
- package/assets/.aw-spec/templates/delta-spec-template.md +60 -0
- package/assets/.aw-spec/templates/design-template.md +383 -0
- package/assets/.aw-spec/templates/okf-concept-template.md +103 -0
- package/assets/.aw-spec/templates/parity-manifest-template.json +49 -0
- package/assets/.aw-spec/templates/source-map-template.md +85 -0
- package/assets/.aw-spec/templates/spec-template.md +192 -71
- package/assets/.claude/agent.json +27 -0
- package/assets/.claude/skills/aw-spec-orch/SKILL.md +55 -0
- package/assets/.claude/skills/aw-spec-orch-demo/SKILL.md +59 -0
- package/assets/.kilocode/agent.json +28 -0
- package/assets/.kilocode/workflows/aw-spec-orch-demo.md +59 -0
- package/assets/.kilocode/workflows/aw-spec-orch.md +55 -0
- package/assets/docs/architecture/clean-architecture.md +1 -1
- package/assets/docs/architecture/cqrs.md +1 -1
- package/assets/docs/architecture/eventing.md +1 -1
- package/assets/docs/architecture/folder-structure.md +1 -1
- package/assets/docs/architecture/modular-monolith.md +1 -1
- package/assets/docs/architecture/persistence.md +1 -1
- package/assets/docs/architecture/testing.md +1 -1
- package/assets/docs/architecture/vertical-slices.md +1 -1
- package/assets/docs/components/Email/README.md +1 -1
- package/assets/docs/components/Jobs/README.md +1 -1
- package/assets/docs/components/QrGenerator/README.md +1 -1
- package/assets/docs/components/README.md +1 -1
- package/assets/docs/domain/domain-driven-design.md +1 -1
- package/assets/docs/domainspecs/healthcare/api-versioning.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/auditing.domain.md +86 -18
- package/assets/docs/domainspecs/healthcare/authorization.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/clinical-terms.md +1 -1
- package/assets/docs/domainspecs/healthcare/coding-standards.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/comandrulemap.md +58 -124
- package/assets/docs/domainspecs/healthcare/commandtechrulemap.md +119 -0
- package/assets/docs/domainspecs/healthcare/consent.md +1 -1
- package/assets/docs/domainspecs/healthcare/cqrs.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/data-classification.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/dependency-policy.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/dicom.md +1 -1
- package/assets/docs/domainspecs/healthcare/domain-driven-design.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/eventing.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/fhir.md +1 -1
- package/assets/docs/domainspecs/healthcare/folder-structure.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/hipaa.md +1 -1
- package/assets/docs/domainspecs/healthcare/hl7.md +1 -1
- package/assets/docs/domainspecs/healthcare/integration-terms.md +1 -1
- package/assets/docs/domainspecs/healthcare/persistence.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/terminology.md +1 -1
- package/assets/docs/domainspecs/healthcare/testing.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/vertical-slices.domain.md +1 -1
- package/assets/docs/domainspecs/healthcare/zero-trust.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/api-versioning.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/atc.md +1 -1
- package/assets/docs/domainspecs/pharma/auditing.domain.md +80 -16
- package/assets/docs/domainspecs/pharma/authorization.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/coding-standards.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/comandrulemap.md +64 -142
- package/assets/docs/domainspecs/pharma/commandtechrulemap.md +119 -0
- package/assets/docs/domainspecs/pharma/cqrs.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/data-classification.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/data-provenance.md +1 -1
- package/assets/docs/domainspecs/pharma/dependency-policy.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/domain-driven-design.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/eventing.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/fhir.md +1 -1
- package/assets/docs/domainspecs/pharma/folder-structure.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/hl7.md +1 -1
- package/assets/docs/domainspecs/pharma/idmp.md +1 -1
- package/assets/docs/domainspecs/pharma/integration-terms.md +1 -1
- package/assets/docs/domainspecs/pharma/ndc.md +1 -1
- package/assets/docs/domainspecs/pharma/persistence.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/pharma-terms.md +1 -1
- package/assets/docs/domainspecs/pharma/product-lifecycle.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/regulatory-compliance.md +1 -1
- package/assets/docs/domainspecs/pharma/terminology.md +1 -1
- package/assets/docs/domainspecs/pharma/testing.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/vertical-slices.domain.md +1 -1
- package/assets/docs/domainspecs/pharma/zero-trust.domain.md +1 -1
- package/assets/docs/governance/api-versioning.md +1 -1
- package/assets/docs/governance/coding-standards.md +1 -1
- package/assets/docs/governance/dependency-policy.md +1 -1
- package/assets/docs/requirement-spec.txt +13 -1
- package/assets/docs/security/auditing.md +54 -11
- package/assets/docs/security/authorization.md +1 -1
- package/assets/docs/security/data-classification.md +1 -1
- package/assets/docs/security/zero-trust.md +1 -1
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +142 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/utils/manifest.d.ts +31 -0
- package/dist/utils/manifest.d.ts.map +1 -0
- package/dist/utils/manifest.js +91 -0
- package/dist/utils/manifest.js.map +1 -0
- package/dist/utils/paths.js +2 -2
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/update-engine.d.ts +52 -0
- package/dist/utils/update-engine.d.ts.map +1 -0
- package/dist/utils/update-engine.js +203 -0
- package/dist/utils/update-engine.js.map +1 -0
- package/package.json +1 -1
- package/assets/.agents/skills/aw-spec-addcomponent/SKILL.md +0 -129
- package/assets/.agents/skills/aw-spec-agent-context-update/SKILL.md +0 -31
- package/assets/.agents/skills/aw-spec-analyze/SKILL.md +0 -296
- package/assets/.agents/skills/aw-spec-checklist/SKILL.md +0 -374
- package/assets/.agents/skills/aw-spec-clarify/SKILL.md +0 -320
- package/assets/.agents/skills/aw-spec-constitution/SKILL.md +0 -194
- package/assets/.agents/skills/aw-spec-fast-implement/SKILL.md +0 -268
- package/assets/.agents/skills/aw-spec-foundation/SKILL.md +0 -358
- package/assets/.agents/skills/aw-spec-implement/SKILL.md +0 -279
- package/assets/.agents/skills/aw-spec-minimal-implementation/SKILL.md +0 -209
- package/assets/.agents/skills/aw-spec-plan/SKILL.md +0 -221
- package/assets/.agents/skills/aw-spec-select-domain/SKILL.md +0 -73
- package/assets/.agents/skills/aw-spec-specify/SKILL.md +0 -382
- package/assets/.agents/skills/aw-spec-tasks/SKILL.md +0 -259
- package/assets/.agents/skills/aw-spec-taskstoissues/SKILL.md +0 -107
- package/assets/.aw-spec/integrations/claude.manifest.json +0 -17
- package/assets/.aw-spec/scripts/bash/check-prerequisites.sh +0 -189
- package/assets/.aw-spec/scripts/bash/create-new-feature.sh +0 -299
- package/assets/.aw-spec/scripts/bash/setup-plan.sh +0 -84
- package/assets/.aw-spec/scripts/bash/setup-tasks.sh +0 -91
- package/assets/.aw-spec/templates/checklist-template.md +0 -40
- package/assets/.aw-spec/templates/constitution-template.md +0 -57
- package/assets/.aw-spec/templates/plan-template.md +0 -113
- package/assets/.aw-spec/templates/tasks-template.md +0 -252
- package/assets/.aw-spec/workflows/aw-spec/workflow.yml +0 -77
- package/assets/.aw-spec/workflows/workflow-registry.json +0 -13
- package/assets/.claude/skills/aw-spec-addcomponent/SKILL.md +0 -129
- package/assets/.claude/skills/aw-spec-agent-context-update/SKILL.md +0 -31
- package/assets/.claude/skills/aw-spec-analyze/SKILL.md +0 -296
- package/assets/.claude/skills/aw-spec-checklist/SKILL.md +0 -374
- package/assets/.claude/skills/aw-spec-clarify/SKILL.md +0 -320
- package/assets/.claude/skills/aw-spec-constitution/SKILL.md +0 -194
- package/assets/.claude/skills/aw-spec-fast-implement/SKILL.md +0 -268
- package/assets/.claude/skills/aw-spec-foundation/SKILL.md +0 -358
- package/assets/.claude/skills/aw-spec-implement/SKILL.md +0 -279
- package/assets/.claude/skills/aw-spec-minimal-implementation/SKILL.md +0 -209
- package/assets/.claude/skills/aw-spec-plan/SKILL.md +0 -221
- package/assets/.claude/skills/aw-spec-select-domain/SKILL.md +0 -73
- package/assets/.claude/skills/aw-spec-specify/SKILL.md +0 -382
- package/assets/.claude/skills/aw-spec-tasks/SKILL.md +0 -259
- package/assets/.claude/skills/aw-spec-taskstoissues/SKILL.md +0 -107
- package/assets/.kilocode/rules/specify-rules.md +0 -4
- package/assets/.kilocode/workflows/aw-spec-addcomponent.md +0 -129
- package/assets/.kilocode/workflows/aw-spec-agent-context.update.md +0 -31
- package/assets/.kilocode/workflows/aw-spec-analyze.md +0 -296
- package/assets/.kilocode/workflows/aw-spec-checklist.md +0 -374
- package/assets/.kilocode/workflows/aw-spec-clarify.md +0 -320
- package/assets/.kilocode/workflows/aw-spec-constitution.md +0 -194
- package/assets/.kilocode/workflows/aw-spec-fast-implement.md +0 -263
- package/assets/.kilocode/workflows/aw-spec-foundation.md +0 -358
- package/assets/.kilocode/workflows/aw-spec-implement.md +0 -279
- package/assets/.kilocode/workflows/aw-spec-minimal-implementation.md +0 -204
- package/assets/.kilocode/workflows/aw-spec-plan.md +0 -221
- package/assets/.kilocode/workflows/aw-spec-select-domain.md +0 -73
- package/assets/.kilocode/workflows/aw-spec-specify.md +0 -382
- package/assets/.kilocode/workflows/aw-spec-tasks.md +0 -259
- package/assets/.kilocode/workflows/aw-spec-taskstoissues.md +0 -107
- package/assets/docs/command.txt +0 -295
- package/assets/docs/pharma-constitution.my-ref.md +0 -86
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CQRS + Mediator Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[cqrs.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[cqrs.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-design`.
|
|
4
4
|
|
|
5
5
|
## Command / query patterns
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Eventing Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[eventing.domain]]. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[eventing.domain]]. Commands: `/aw-spec-design`.
|
|
4
4
|
|
|
5
5
|
## Domain events
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Mandatory Folder Structure
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions (Interop adapters, conformance tests, fixtures) in [[folder-structure.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions (Interop adapters, conformance tests, fixtures) in [[folder-structure.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-design`, `/aw-spec-implement`, `/aw-spec-implement-delta`.
|
|
4
4
|
>
|
|
5
5
|
> Replace `<SampleProjectName>` with the project name (e.g. `Acme.Billing`).
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Modular Monolith Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic). NON-NEGOTIABLE where marked. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic). NON-NEGOTIABLE where marked. Commands: `/aw-spec-design`.
|
|
4
4
|
|
|
5
5
|
## Module boundaries
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Persistence Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[persistence.domain]]. NON-NEGOTIABLE where marked. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[persistence.domain]]. NON-NEGOTIABLE where marked. Commands: `/aw-spec-design`, `/aw-spec-run`.
|
|
4
4
|
|
|
5
5
|
## EF Core conventions
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Testing Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[testing.domain]]. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[testing.domain]]. Commands: `/aw-spec-design`, `/aw-spec-implement`, `/aw-spec-implement-delta`, `/aw-spec-analyze-slice`.
|
|
4
4
|
|
|
5
5
|
## Test-first engineering
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Vertical Slice Standards
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — domain additions in [[vertical-slices.domain]]. Commands: `/aw-spec-
|
|
3
|
+
> Pure technology (domain-agnostic) — domain additions in [[vertical-slices.domain]]. Commands: `/aw-spec-design`.
|
|
4
4
|
|
|
5
5
|
## Feature organization
|
|
6
6
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). Reference sheet for the Email messaging component.
|
|
4
4
|
> To wire it into a project, follow the agent runbook in [integration.md](./integration.md).
|
|
5
|
-
> Commands: `/aw-spec-
|
|
5
|
+
> Commands: `/aw-spec-add-component`.
|
|
6
6
|
|
|
7
7
|
## What it is
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). Reference sheet for the background-job component.
|
|
4
4
|
> To wire it into a project, follow the agent runbook in [integration.md](./integration.md).
|
|
5
|
-
> Commands: `/aw-spec-
|
|
5
|
+
> Commands: `/aw-spec-add-component`.
|
|
6
6
|
|
|
7
7
|
## What it is
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Pure technology (domain-agnostic). Reference sheet for the QR-code generation component.
|
|
4
4
|
> To wire it into a project, follow the agent runbook in [integration.md](./integration.md).
|
|
5
|
-
> Commands: `/aw-spec-
|
|
5
|
+
> Commands: `/aw-spec-add-component`.
|
|
6
6
|
|
|
7
7
|
## What it is
|
|
8
8
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> Pure technology (domain-agnostic). These docs are the authoritative integration contracts for
|
|
4
4
|
> opt-in AppWeaver framework components. An AI coding agent (or a human) MUST read the relevant
|
|
5
5
|
> component folder **before** wiring the component into a project.
|
|
6
|
-
> Commands: `/aw-spec-
|
|
6
|
+
> Commands: `/aw-spec-add-component`.
|
|
7
7
|
|
|
8
8
|
Each component is an optional NuGet-distributed building block that plugs into the standard
|
|
9
9
|
AppWeaver layout (see [[folder-structure]]) via the same **provider/registry** registration
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Domain-Driven Design Standards (Tactical Patterns)
|
|
2
2
|
|
|
3
|
-
> Pure technology (domain-agnostic) — generic DDD tactical patterns; the business model, canonical aggregates + invariants are in [[domain-driven-design.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-specify
|
|
3
|
+
> Pure technology (domain-agnostic) — generic DDD tactical patterns; the business model, canonical aggregates + invariants are in [[domain-driven-design.domain]]. NON-NEGOTIABLE. Commands: `/aw-spec-specify`.
|
|
4
4
|
|
|
5
5
|
> Note: this file lives under `domain/` because DDD is a domain-modeling methodology, but the
|
|
6
6
|
> rules here are domain-agnostic and reusable. The business-specific model is in the companion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# API Versioning — Healthcare Domain Addenda (FHIR)
|
|
2
2
|
|
|
3
|
-
> Technology base: [[api-versioning]]. Commands: `/aw-spec-
|
|
3
|
+
> Technology base: [[api-versioning]]. Commands: `/aw-spec-specify`, `/aw-spec-gate`.
|
|
4
4
|
|
|
5
5
|
## FHIR versioning
|
|
6
6
|
- R4 default; R5 is **additive** under a versioned path (`/fhir/R5/...`).
|
|
@@ -1,29 +1,97 @@
|
|
|
1
1
|
# Auditing — Healthcare Domain Addenda (ATNA)
|
|
2
2
|
|
|
3
|
-
> Technology base: [[auditing]]. NON-NEGOTIABLE.
|
|
3
|
+
> Technology base: [[auditing]]. NON-NEGOTIABLE. Consumed by `/aw-spec-specify` (LIFTS the
|
|
4
|
+
> auditing requirement into the spec) and `/aw-spec-gate` (VALIDATES the spec/design realise it).
|
|
5
|
+
> `/aw-spec-design` and `/aw-spec-implement` never load this file — auditing reaches them through
|
|
6
|
+
> the spec's **declared audit level per aggregate**, and the enablement mechanics live in the
|
|
7
|
+
> technical base [[auditing]]. Keep this file technology-agnostic (levels + rules, **no code**).
|
|
4
8
|
|
|
5
|
-
##
|
|
6
|
-
- Auditing is **MANDATORY** for every PHI-bearing aggregate.
|
|
7
|
-
- Enable via `.EnableAdvancedAuditing()` + `AddAuditing(... UseEfCoreAuditing(...).UseAppWeaverDataStore())`.
|
|
8
|
-
- Audit tables: shared `AppWeaver.DataStore`, schema `Auditing`, prefix `Audit_`.
|
|
9
|
-
- A **PHI-access-audit** pipeline behavior runs on every mediator request (see [[cqrs.domain]]).
|
|
9
|
+
## Two auditing levels (framework-supported)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
{ timestamp, subjectId, subjectRole, patientId, action, resourceType,
|
|
15
|
-
resourceId, outcome, sourceIp, correlationId, reason }
|
|
16
|
-
```
|
|
11
|
+
AppWeaver auditing has exactly **two levels** for entity state-change auditing; the framework's
|
|
12
|
+
audit interceptor populates every audit field automatically (handlers NEVER assign audit fields):
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
| Level | Captures | Depth |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| **Basic** | who/when lifecycle — created / modified / (soft-)deleted, by whom and when; one audit entry per aggregate root per save (who · action · resource type · resource id · timestamp · correlation) | entity-level (Created/Updated/Deleted) — **no** before/after values |
|
|
17
|
+
| **Advanced** | everything Basic captures **plus field-level before/after** — each changed property's previous → new value | entity-level **+ property-level previous/new value** |
|
|
18
|
+
|
|
19
|
+
- **Advanced is REQUIRED whenever the spec asks for "previous value / new value"** — before/after
|
|
20
|
+
values exist ONLY at the Advanced tier.
|
|
21
|
+
- Child entities fold their changes into the owning aggregate root's audit entry.
|
|
22
|
+
- Beyond state-change auditing, healthcare additionally requires **PHI access (read) auditing** —
|
|
23
|
+
a separate mandatory concern (see below), not one of the two write-levels.
|
|
24
|
+
|
|
25
|
+
> Code realisation — marker interfaces (Basic = `IAuditedObject` / `IFullAuditedObject`; Advanced =
|
|
26
|
+
> `+ IFieldAudited`), the one-time composition, and the audit query API — lives in the technical
|
|
27
|
+
> base. See [[auditing]]; `/aw-spec-design` and `/aw-spec-implement` get the HOW from there.
|
|
28
|
+
|
|
29
|
+
## Aggregate assignment rule (how specify decides the level)
|
|
30
|
+
|
|
31
|
+
`/aw-spec-specify` MUST assign an audit level to every aggregate it models and LIFT it into the
|
|
32
|
+
spec as an explicit, developer-editable declaration:
|
|
33
|
+
|
|
34
|
+
- Every **PHI-bearing main aggregate** of the requirement → **Advanced** (regulated PHI change
|
|
35
|
+
history requires field-level before/after).
|
|
36
|
+
- **Supporting aggregates** (collaborating/referenced roots, no PHI) → **Basic** by default.
|
|
37
|
+
- A developer MAY raise or lower a level afterwards by editing the spec declaration — the level is
|
|
38
|
+
a **spec** decision, never a design or implementation one. `/aw-spec-design` then follows the
|
|
39
|
+
declared level.
|
|
40
|
+
|
|
41
|
+
Lift it as one line the gate can check, e.g. under Constraints:
|
|
42
|
+
|
|
43
|
+
> **CN-0xx**: Auditing level — `<PHIAggregate>` uses **Advanced** (field-level before/after)
|
|
44
|
+
> auditing; `<SupportingAggregate…>` use **Basic** (lifecycle) auditing; all PHI access and change
|
|
45
|
+
> is audit-mandatory and append-only. — lifted from auditing.domain.
|
|
46
|
+
|
|
47
|
+
Declare the **level** — do NOT enumerate the audit record's field shape in the spec (next section).
|
|
48
|
+
|
|
49
|
+
## PHI access auditing (ATNA — mandatory)
|
|
50
|
+
|
|
51
|
+
Distinct from state-change auditing: every PHI **read/access**, authentication, consent change,
|
|
52
|
+
export, and break-the-glass MUST emit an audit event (a PHI-access-audit pipeline behavior runs on
|
|
53
|
+
every mediator request). Audit-mandatory triggers:
|
|
54
|
+
|
|
55
|
+
- Every PHI **read** and **write**; every authentication; every consent change; every export
|
|
56
|
+
(`$export`, bulk / report download); every **break-the-glass**; every privileged admin action;
|
|
57
|
+
every IdP / role change. See [[authorization.domain]].
|
|
58
|
+
|
|
59
|
+
## Spec-required vs framework-emitted (what the gate checks)
|
|
60
|
+
|
|
61
|
+
The audit record's field shape is **framework-emitted** — the interceptor populates it; it is NOT
|
|
62
|
+
spec-authored content. Fields the platform always supplies:
|
|
63
|
+
|
|
64
|
+
- `timestamp`, acting `subjectId` (user), `action`, `resourceType`, `resourceId`, `sourceIp`,
|
|
65
|
+
`correlationId`, `tenantId`, and the physical record layout.
|
|
66
|
+
|
|
67
|
+
Split for the gate:
|
|
68
|
+
|
|
69
|
+
- **Spec-required** (specify lifts it; the gate checks the spec + design carry it): the **audit
|
|
70
|
+
level per aggregate**; that PHI access/change is **audit-mandatory** and **append-only**; and the
|
|
71
|
+
ATNA business capture — **patientId** (whose PHI), **subjectRole**, **outcome** (grant/deny),
|
|
72
|
+
**reason** (break-the-glass justification), and **Previous Value / New Value** (Advanced).
|
|
73
|
+
- **Framework-emitted** (NEVER a spec/design gap — always populated by the platform): the fields
|
|
74
|
+
listed above. The gate MUST NOT raise a LIFT-FAILURE for them; they are guaranteed by the
|
|
75
|
+
framework, not authored in the spec.
|
|
76
|
+
|
|
77
|
+
## Queryable audit (framework-provided)
|
|
78
|
+
|
|
79
|
+
The audit store is queryable out of the box (by resource identity, by user/subject, by tenant, and
|
|
80
|
+
by action/time with paging — see [[auditing]]). A spec "queryable audit trail for compliance /
|
|
81
|
+
ATNA review" success criterion is therefore satisfied by the framework's audit query API; design
|
|
82
|
+
references it and does **NOT** need a bespoke audit read port/model.
|
|
20
83
|
|
|
21
84
|
## Retention & format
|
|
22
|
-
|
|
85
|
+
|
|
86
|
+
- **Append-only**; retained **>= 6 years**; exportable as FHIR `AuditEvent` (see
|
|
87
|
+
[[domain-driven-design.domain]], [[persistence.domain]]).
|
|
23
88
|
|
|
24
89
|
## Telemetry & breach
|
|
25
|
-
|
|
26
|
-
-
|
|
90
|
+
|
|
91
|
+
- **PHI, full SSN, payment-card numbers, government IDs MUST NEVER** appear in logs, metric labels,
|
|
92
|
+
exception messages, or traces (see [[data-classification.domain]]).
|
|
93
|
+
- Anomalous PHI access (volume spikes, off-hours mass reads, repeated denials) emits **Critical**
|
|
94
|
+
alerts (see [[hipaa]]).
|
|
27
95
|
|
|
28
96
|
## Related
|
|
29
|
-
- [[auditing]] · [[hipaa]] · [[data-classification.domain]] · [[authorization.domain]] · [[consent]] · [[fhir]] · [[cqrs.domain]] · [[persistence.domain]]
|
|
97
|
+
- [[auditing]] · [[hipaa]] · [[data-classification.domain]] · [[authorization.domain]] · [[consent]] · [[fhir]] · [[cqrs.domain]] · [[persistence.domain]] · [[domain-driven-design.domain]]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Authorization — Healthcare Domain Addenda
|
|
2
2
|
|
|
3
|
-
> Technology base: [[authorization]]. Commands: `/aw-spec-
|
|
3
|
+
> Technology base: [[authorization]]. Commands: `/aw-spec-constitution`, `/aw-spec-specify`, `/aw-spec-gate`.
|
|
4
4
|
|
|
5
5
|
## Roles
|
|
6
6
|
`SystemAdmin`, `ComplianceOfficer`, `Physician`, `Nurse`, `LabTechnician`, `Radiologist`, `Pharmacist`, `BillingClerk`, `FrontDesk`, `Patient`, `ExternalSystem`, `ResearchAnalyst` (de-identified scope only). Per-route matrix: `docs/security/authorization-matrix.md`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Glossary — Clinical Terms
|
|
2
2
|
|
|
3
|
-
> Ubiquitous language for clinical aggregates. Commands: `/aw-spec-
|
|
3
|
+
> Ubiquitous language for clinical aggregates. Commands: `/aw-spec-constitution`, `/aw-spec-specify`. See [[domain-driven-design.domain]] (modeling) + [[terminology]] (coding).
|
|
4
4
|
|
|
5
5
|
| Term | Definition |
|
|
6
6
|
|---|---|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Coding Standards — Healthcare Domain Addenda
|
|
2
2
|
|
|
3
|
-
> Technology base: [[coding-standards]]. Commands: `/aw-spec-
|
|
3
|
+
> Technology base: [[coding-standards]]. Commands: `/aw-spec-gate`.
|
|
4
4
|
|
|
5
5
|
## Coded value objects
|
|
6
6
|
- Follow the FHIR pattern: `Codeable`, `Coding`, `Quantity`, `Period`, `Range`, `Ratio`, `Identifier`, `HumanName`, `Address`, `ContactPoint` (see [[terminology]]).
|
|
@@ -1,166 +1,100 @@
|
|
|
1
1
|
# Healthcare Domain — Command → Rule-File Map
|
|
2
2
|
|
|
3
|
-
Per-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Per-command list of the **healthcare domain** rule files loaded (via `resolve-domain`
|
|
4
|
+
+ the `domain-select` module, into the sticky standards set) for the spec-anchored
|
|
5
|
+
orchestrator pipeline.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
**The model (see `.aw-spec/RULE-PARTITION.md`):** domain files feed
|
|
8
|
+
only three consumers — **specify** (authors them into the spec as FR/BR/CN-/DC-/IC-),
|
|
9
|
+
**constitution** (the domain principles), and the **gates** (conformance checklist).
|
|
10
|
+
**design** and **implement** load **NO** domain file — the domain reaches them solely
|
|
11
|
+
through the spec/design (as CN-/DC-/IC- ids).
|
|
12
|
+
|
|
13
|
+
- All paths are workspace-relative and live in `docs/domainspecs/healthcare/`.
|
|
14
|
+
- `resolve-domain --command <name>` collects the `- ` bullets under `## /<name>`.
|
|
15
|
+
- This file is the **canonical source** for the healthcare domain mapping; `/aw-spec-orch
|
|
16
|
+
select-domain` selects this folder as active.
|
|
11
17
|
|
|
12
18
|
---
|
|
13
19
|
|
|
14
20
|
## /aw-spec-constitution
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## /aw-spec-specify
|
|
21
|
+
<!-- Domain identity/regulatory/interop sources that become domain principles XVI+ in
|
|
22
|
+
constitution.domain.md (authored from docs/healthcare-constitution.my-ref.md + these). -->
|
|
19
23
|
- docs/domainspecs/healthcare/domain-requirements.md
|
|
20
24
|
- docs/domainspecs/healthcare/clinical-terms.md
|
|
21
|
-
- docs/domainspecs/healthcare/
|
|
22
|
-
- docs/domainspecs/healthcare/
|
|
25
|
+
- docs/domainspecs/healthcare/terminology.md
|
|
26
|
+
- docs/domainspecs/healthcare/consent.md
|
|
27
|
+
- docs/domainspecs/healthcare/hipaa.md
|
|
23
28
|
- docs/domainspecs/healthcare/fhir.md
|
|
24
29
|
- docs/domainspecs/healthcare/hl7.md
|
|
25
30
|
- docs/domainspecs/healthcare/dicom.md
|
|
26
|
-
- docs/domainspecs/healthcare/terminology.md
|
|
27
|
-
- docs/domainspecs/healthcare/hipaa.md
|
|
28
|
-
- docs/domainspecs/healthcare/consent.md
|
|
29
31
|
- docs/domainspecs/healthcare/data-classification.domain.md
|
|
32
|
+
- docs/domainspecs/healthcare/auditing.domain.md
|
|
33
|
+
- docs/domainspecs/healthcare/authorization.domain.md
|
|
34
|
+
- docs/domainspecs/healthcare/zero-trust.domain.md
|
|
30
35
|
- docs/domainspecs/healthcare/ai-rules.domain.md
|
|
31
36
|
|
|
32
|
-
## /aw-spec-
|
|
37
|
+
## /aw-spec-specify
|
|
38
|
+
<!-- The FULL domain set. Specify models the domain COMPLETELY and LIFTS the constraint
|
|
39
|
+
overlays into the spec's CN-/DC-/IC- sections (design/implement never see these files). -->
|
|
40
|
+
- docs/domainspecs/healthcare/domain-requirements.md
|
|
33
41
|
- docs/domainspecs/healthcare/domain-driven-design.domain.md
|
|
34
|
-
- docs/domainspecs/healthcare/hl7.md
|
|
35
|
-
- docs/domainspecs/healthcare/hipaa.md
|
|
36
|
-
- docs/domainspecs/healthcare/consent.md
|
|
37
42
|
- docs/domainspecs/healthcare/clinical-terms.md
|
|
43
|
+
- docs/domainspecs/healthcare/terminology.md
|
|
38
44
|
- docs/domainspecs/healthcare/integration-terms.md
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
- docs/domainspecs/healthcare/folder-structure.domain.md
|
|
42
|
-
- docs/domainspecs/healthcare/cqrs.domain.md
|
|
43
|
-
- docs/domainspecs/healthcare/vertical-slices.domain.md
|
|
44
|
-
- docs/domainspecs/healthcare/persistence.domain.md
|
|
45
|
-
- docs/domainspecs/healthcare/testing.domain.md
|
|
46
|
-
- docs/domainspecs/healthcare/eventing.domain.md
|
|
47
|
-
- docs/domainspecs/healthcare/domain-driven-design.domain.md
|
|
45
|
+
- docs/domainspecs/healthcare/consent.md
|
|
46
|
+
- docs/domainspecs/healthcare/hipaa.md
|
|
48
47
|
- docs/domainspecs/healthcare/fhir.md
|
|
49
48
|
- docs/domainspecs/healthcare/hl7.md
|
|
50
49
|
- docs/domainspecs/healthcare/dicom.md
|
|
51
|
-
- docs/domainspecs/healthcare/terminology.md
|
|
52
|
-
- docs/domainspecs/healthcare/hipaa.md
|
|
53
|
-
- docs/domainspecs/healthcare/consent.md
|
|
54
|
-
- docs/domainspecs/healthcare/zero-trust.domain.md
|
|
55
|
-
- docs/domainspecs/healthcare/authorization.domain.md
|
|
56
|
-
- docs/domainspecs/healthcare/auditing.domain.md
|
|
57
50
|
- docs/domainspecs/healthcare/data-classification.domain.md
|
|
58
|
-
- docs/domainspecs/healthcare/coding-standards.domain.md
|
|
59
|
-
- docs/domainspecs/healthcare/dependency-policy.domain.md
|
|
60
|
-
- docs/domainspecs/healthcare/api-versioning.domain.md
|
|
61
|
-
- docs/domainspecs/healthcare/ai-rules.domain.md
|
|
62
|
-
|
|
63
|
-
## /aw-spec-tasks
|
|
64
|
-
- docs/domainspecs/healthcare/folder-structure.domain.md
|
|
65
|
-
- docs/domainspecs/healthcare/vertical-slices.domain.md
|
|
66
|
-
- docs/domainspecs/healthcare/cqrs.domain.md
|
|
67
51
|
- docs/domainspecs/healthcare/persistence.domain.md
|
|
68
|
-
- docs/domainspecs/healthcare/testing.domain.md
|
|
69
|
-
- docs/domainspecs/healthcare/eventing.domain.md
|
|
70
|
-
- docs/domainspecs/healthcare/domain-driven-design.domain.md
|
|
71
|
-
- docs/domainspecs/healthcare/fhir.md
|
|
72
|
-
- docs/domainspecs/healthcare/hl7.md
|
|
73
|
-
- docs/domainspecs/healthcare/authorization.domain.md
|
|
74
|
-
- docs/domainspecs/healthcare/auditing.domain.md
|
|
75
|
-
- docs/domainspecs/healthcare/coding-standards.domain.md
|
|
76
|
-
- docs/domainspecs/healthcare/ai-rules.domain.md
|
|
77
|
-
|
|
78
|
-
## /aw-spec-analyze
|
|
79
|
-
- docs/domainspecs/healthcare/hl7.md
|
|
80
|
-
- docs/domainspecs/healthcare/hipaa.md
|
|
81
|
-
- docs/domainspecs/healthcare/auditing.domain.md
|
|
82
|
-
- docs/domainspecs/healthcare/coding-standards.domain.md
|
|
83
|
-
- docs/domainspecs/healthcare/ai-rules.domain.md
|
|
84
|
-
|
|
85
|
-
## /aw-spec-implement
|
|
86
|
-
- docs/domainspecs/healthcare/folder-structure.domain.md
|
|
87
|
-
- docs/domainspecs/healthcare/vertical-slices.domain.md
|
|
88
52
|
- docs/domainspecs/healthcare/cqrs.domain.md
|
|
89
|
-
- docs/domainspecs/healthcare/persistence.domain.md
|
|
90
|
-
- docs/domainspecs/healthcare/testing.domain.md
|
|
91
53
|
- docs/domainspecs/healthcare/eventing.domain.md
|
|
92
|
-
- docs/domainspecs/healthcare/domain-driven-design.domain.md
|
|
93
|
-
- docs/domainspecs/healthcare/fhir.md
|
|
94
|
-
- docs/domainspecs/healthcare/hl7.md
|
|
95
|
-
- docs/domainspecs/healthcare/terminology.md
|
|
96
|
-
- docs/domainspecs/healthcare/hipaa.md
|
|
97
|
-
- docs/domainspecs/healthcare/consent.md
|
|
98
|
-
- docs/domainspecs/healthcare/authorization.domain.md
|
|
99
54
|
- docs/domainspecs/healthcare/auditing.domain.md
|
|
100
|
-
- docs/domainspecs/healthcare/
|
|
55
|
+
- docs/domainspecs/healthcare/authorization.domain.md
|
|
101
56
|
- docs/domainspecs/healthcare/zero-trust.domain.md
|
|
102
|
-
- docs/domainspecs/healthcare/coding-standards.domain.md
|
|
103
|
-
- docs/domainspecs/healthcare/dependency-policy.domain.md
|
|
104
57
|
- docs/domainspecs/healthcare/api-versioning.domain.md
|
|
105
|
-
- docs/domainspecs/healthcare/
|
|
58
|
+
- docs/domainspecs/healthcare/vertical-slices.domain.md
|
|
106
59
|
|
|
107
|
-
## /aw-spec-
|
|
60
|
+
## /aw-spec-design
|
|
61
|
+
_None — design loads no domain file. Domain reaches design only through the spec (BR-/CN-/DC-/IC-)._
|
|
108
62
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
63
|
+
## /aw-spec-implement
|
|
64
|
+
_None — implement loads no domain file. Domain reaches implement only through design.md. Framework
|
|
65
|
+
components are added separately via `/aw-spec-orch add-component`._
|
|
112
66
|
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
|
|
67
|
+
## /aw-spec-gate
|
|
68
|
+
<!-- Conformance checklist for the gates (analyze-design · analyze-slice): the domain-derived
|
|
69
|
+
constraints design/implement were NOT given as authoring input, VALIDATED against the
|
|
70
|
+
output. Domain re-enters here as a check, never as authoring input. -->
|
|
116
71
|
- docs/domainspecs/healthcare/persistence.domain.md
|
|
117
|
-
- docs/domainspecs/healthcare/
|
|
72
|
+
- docs/domainspecs/healthcare/cqrs.domain.md
|
|
118
73
|
- docs/domainspecs/healthcare/eventing.domain.md
|
|
119
|
-
- docs/domainspecs/healthcare/domain-driven-design.domain.md
|
|
120
|
-
- docs/domainspecs/healthcare/fhir.md
|
|
121
|
-
- docs/domainspecs/healthcare/hl7.md
|
|
122
|
-
- docs/domainspecs/healthcare/dicom.md
|
|
123
|
-
- docs/domainspecs/healthcare/terminology.md
|
|
124
|
-
- docs/domainspecs/healthcare/hipaa.md
|
|
125
|
-
- docs/domainspecs/healthcare/consent.md
|
|
126
|
-
- docs/domainspecs/healthcare/zero-trust.domain.md
|
|
127
|
-
- docs/domainspecs/healthcare/authorization.domain.md
|
|
128
74
|
- docs/domainspecs/healthcare/auditing.domain.md
|
|
75
|
+
- docs/domainspecs/healthcare/authorization.domain.md
|
|
76
|
+
- docs/domainspecs/healthcare/zero-trust.domain.md
|
|
129
77
|
- docs/domainspecs/healthcare/data-classification.domain.md
|
|
130
|
-
- docs/domainspecs/healthcare/coding-standards.domain.md
|
|
131
|
-
- docs/domainspecs/healthcare/dependency-policy.domain.md
|
|
132
78
|
- docs/domainspecs/healthcare/api-versioning.domain.md
|
|
133
|
-
- docs/domainspecs/healthcare/ai-rules.domain.md
|
|
134
|
-
|
|
135
|
-
## /aw-spec-minimal-implementation
|
|
136
|
-
|
|
137
|
-
> Single-step set for healthcare — the **per-domain knob** (edit freely). `/aw-spec-minimal-implementation`
|
|
138
|
-
> loads these to interpret and implement the requirement in one pass; genuinely-external runtime
|
|
139
|
-
> services (terminology server, FHIR endpoint) are stubbed behind ports. For an audited build use
|
|
140
|
-
> `## /aw-spec-fast-implement`.
|
|
141
|
-
|
|
142
|
-
- docs/domainspecs/healthcare/clinical-terms.md
|
|
143
|
-
- docs/domainspecs/healthcare/domain-driven-design.domain.md
|
|
144
|
-
- docs/domainspecs/healthcare/folder-structure.domain.md
|
|
145
79
|
- docs/domainspecs/healthcare/vertical-slices.domain.md
|
|
146
|
-
- docs/domainspecs/healthcare/
|
|
147
|
-
- docs/domainspecs/healthcare/
|
|
148
|
-
- docs/domainspecs/healthcare/
|
|
149
|
-
- docs/domainspecs/healthcare/
|
|
80
|
+
- docs/domainspecs/healthcare/folder-structure.domain.md
|
|
81
|
+
- docs/domainspecs/healthcare/coding-standards.domain.md
|
|
82
|
+
- docs/domainspecs/healthcare/dependency-policy.domain.md
|
|
83
|
+
- docs/domainspecs/healthcare/testing.domain.md
|
|
150
84
|
- docs/domainspecs/healthcare/ai-rules.domain.md
|
|
151
85
|
|
|
152
86
|
---
|
|
153
87
|
|
|
154
|
-
## Quick reference (command → file count)
|
|
88
|
+
## Quick reference (command → domain file count)
|
|
89
|
+
|
|
90
|
+
| Command | Domain rule files | Role |
|
|
91
|
+
|---|---|---|
|
|
92
|
+
| /aw-spec-constitution | 13 | domain principles (XVI+) |
|
|
93
|
+
| /aw-spec-specify | 19 | author into spec (lift → CN-/DC-/IC-) |
|
|
94
|
+
| /aw-spec-design | 0 | none — spec is the only domain input |
|
|
95
|
+
| /aw-spec-implement | 0 | none — design is the only domain input |
|
|
96
|
+
| /aw-spec-gate | 14 | conformance checklist (validate, don't author) |
|
|
155
97
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
| /aw-spec-specify | 12 |
|
|
160
|
-
| /aw-spec-clarify | 6 |
|
|
161
|
-
| /aw-spec-plan | 21 |
|
|
162
|
-
| /aw-spec-tasks | 13 |
|
|
163
|
-
| /aw-spec-analyze | 5 |
|
|
164
|
-
| /aw-spec-implement | 20 |
|
|
165
|
-
| /aw-spec-fast-implement | 21 |
|
|
166
|
-
| /aw-spec-minimal-implementation | 9 |
|
|
98
|
+
> Retired in the orchestrator pipeline: `/aw-spec-plan`, `/aw-spec-tasks`, `/aw-spec-taskplan`,
|
|
99
|
+
> `/aw-spec-clarify`, `/aw-spec-analyze` (clarify folds into specify; plan/tasks into design). The
|
|
100
|
+
> collapsed tiers `/aw-spec-fast-implement` and `/aw-spec-minimal-implementation` are pending a ruling.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Healthcare Domain — Command → Technical-Rule-File Map
|
|
2
|
+
|
|
3
|
+
Per-command list of the **technical** rule files loaded (via `resolve-tech` + the
|
|
4
|
+
`tech-select` module, into the sticky standards set) for the spec-anchored
|
|
5
|
+
orchestrator pipeline. This is the technical counterpart of `comandrulemap.md`
|
|
6
|
+
(which maps the DOMAIN rule files).
|
|
7
|
+
|
|
8
|
+
**The model:** the technical rule files (the `docs/architecture` · `docs/security` ·
|
|
9
|
+
`docs/interop` · `docs/governance` set that used to be HARDCODED in each workflow's
|
|
10
|
+
`standards:` block) are now CONFIGURATION — tune this map, not the workflows. The
|
|
11
|
+
technology base itself (`constitution.technical.md`) is NOT listed here — every
|
|
12
|
+
consumer still refers to it directly, as-is.
|
|
13
|
+
|
|
14
|
+
- All paths are workspace-relative technical rule files (domain-agnostic docs/…).
|
|
15
|
+
- `resolve-tech --command <name>` collects the `- ` bullets under `## /<name>`.
|
|
16
|
+
- This file is the **canonical technical mapping** for the healthcare domain; it is
|
|
17
|
+
selected whenever healthcare is the active domain (`.aw-spec/domain.json`).
|
|
18
|
+
- A command with no heading here loads no mapped technical file (only the workflow's
|
|
19
|
+
universal `ai-rules.md` seed + `constitution.technical.md`, referred to directly).
|
|
20
|
+
- `## /aw-spec-specify` is the one **modelling-methodology** slot (see the rule partition):
|
|
21
|
+
a domain-agnostic way of *modelling*, never a technology choice. Everything below it is a
|
|
22
|
+
HOW-phase technical set.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## /aw-spec-specify
|
|
27
|
+
<!-- MODELLING METHODOLOGY ONLY. Specify is the domain phase: the single technical input it
|
|
28
|
+
may take is a domain-agnostic way of MODELLING (DDD tactical patterns), never a
|
|
29
|
+
technology choice. Do NOT add an architecture / persistence / codegen file here — that
|
|
30
|
+
would break specify's domain purity (design/implement own those). The domain's own DDD
|
|
31
|
+
overlay (domain-driven-design.domain.md) arrives separately via comandrulemap. -->
|
|
32
|
+
- docs/domain/domain-driven-design.md
|
|
33
|
+
|
|
34
|
+
## /aw-spec-design
|
|
35
|
+
<!-- The technical/architecture rule files the design author works from (alongside the
|
|
36
|
+
spec and constitution.technical.md). NO domain file here — domain reaches design
|
|
37
|
+
only as spec ids (BR-/CN-/DC-/IC-). -->
|
|
38
|
+
- docs/architecture/clean-architecture.md
|
|
39
|
+
- docs/architecture/cqrs.md
|
|
40
|
+
- docs/architecture/eventing.md
|
|
41
|
+
- docs/architecture/modular-monolith.md
|
|
42
|
+
- docs/architecture/vertical-slices.md
|
|
43
|
+
- docs/architecture/persistence.md
|
|
44
|
+
- docs/architecture/folder-structure.md
|
|
45
|
+
- docs/architecture/testing.md
|
|
46
|
+
- docs/governance/api-versioning.md
|
|
47
|
+
- docs/security/zero-trust.md
|
|
48
|
+
- docs/security/authorization.md
|
|
49
|
+
- docs/security/authorization-matrix.md
|
|
50
|
+
- docs/security/auditing.md
|
|
51
|
+
- docs/security/data-classification.md
|
|
52
|
+
- docs/interop/ihe-conformance.md
|
|
53
|
+
|
|
54
|
+
## /aw-spec-implement
|
|
55
|
+
<!-- The FRAMEWORK / code-generation rule files the code generator builds against
|
|
56
|
+
(alongside design.md and constitution.technical.md). NO domain file — domain
|
|
57
|
+
reaches implement only through design.md. clean-architecture/cqrs are design
|
|
58
|
+
concerns; component wiring is a separate /aw-spec-orch add-component step. -->
|
|
59
|
+
- docs/governance/coding-standards.md
|
|
60
|
+
- docs/governance/dependency-policy.md
|
|
61
|
+
- docs/architecture/folder-structure.md
|
|
62
|
+
- docs/architecture/testing.md
|
|
63
|
+
- docs/VerticalSlice/PACKAGING.md
|
|
64
|
+
|
|
65
|
+
## /aw-spec-implement-delta
|
|
66
|
+
<!-- The CR analog of implement — same FRAMEWORK / code-generation set (HOW to build).
|
|
67
|
+
The delta's code is generated against the master design.md + delta-design.md; no
|
|
68
|
+
domain file (domain reached the delta via delta-spec → delta-design). -->
|
|
69
|
+
- docs/governance/coding-standards.md
|
|
70
|
+
- docs/governance/dependency-policy.md
|
|
71
|
+
- docs/architecture/folder-structure.md
|
|
72
|
+
- docs/architecture/testing.md
|
|
73
|
+
- docs/VerticalSlice/PACKAGING.md
|
|
74
|
+
|
|
75
|
+
## /aw-spec-build
|
|
76
|
+
<!-- The compile/fix reference set: the layering + coding rules the fixer respects when
|
|
77
|
+
repairing compile errors against the design intent. NO domain file (build loads
|
|
78
|
+
domain rules separately via domain-select) and no constitution.technical here. -->
|
|
79
|
+
- docs/architecture/clean-architecture.md
|
|
80
|
+
- docs/governance/coding-standards.md
|
|
81
|
+
|
|
82
|
+
## /aw-spec-analyze-slice
|
|
83
|
+
<!-- The design↔code conformance gate's TECHNICAL checklist: the code + tests are
|
|
84
|
+
validated against these (alongside the DOMAIN gate overlays, loaded separately via
|
|
85
|
+
resolve-domain `## /aw-spec-gate`). Validation input only — never authoring. -->
|
|
86
|
+
- docs/architecture/testing.md
|
|
87
|
+
- docs/governance/coding-standards.md
|
|
88
|
+
|
|
89
|
+
## /aw-spec-constitution
|
|
90
|
+
<!-- The technology-constitution base the TECHNICAL half of the split constitution
|
|
91
|
+
ratifies into constitution.technical.md. Loaded BEFORE the technical half and before
|
|
92
|
+
domain-select, so the technical author stays domain-free (the seam). NO domain file
|
|
93
|
+
here — the domain half's sources are the domain map's ## /aw-spec-constitution. -->
|
|
94
|
+
- docs/technology-constitution.md
|
|
95
|
+
|
|
96
|
+
## /aw-spec-run
|
|
97
|
+
<!-- Execution / data migration: the persistence rules the migration step generates against.
|
|
98
|
+
NO domain file; run does not reference constitution.technical.md. -->
|
|
99
|
+
- docs/architecture/persistence.md
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Quick reference (command → technical file count)
|
|
104
|
+
|
|
105
|
+
| Command | Technical rule files | Role |
|
|
106
|
+
|---|---|---|
|
|
107
|
+
| /aw-spec-specify | 1 | the modelling methodology (DDD) the domain model is expressed in — no technology |
|
|
108
|
+
| /aw-spec-design | 15 | architecture/security/interop the design author mediates the spec against |
|
|
109
|
+
| /aw-spec-implement | 5 | governance/architecture the code generator builds against (from design.md) |
|
|
110
|
+
| /aw-spec-implement-delta | 5 | same code-generation set, scoped to the open change's delta-design |
|
|
111
|
+
| /aw-spec-build | 2 | layering + coding rules the compile-fixer respects |
|
|
112
|
+
| /aw-spec-analyze-slice | 2 | testing + coding rules the design↔code gate validates against |
|
|
113
|
+
| /aw-spec-constitution | 1 | the technology-constitution base the technical half ratifies |
|
|
114
|
+
| /aw-spec-run | 1 | persistence rules the execution / data-migration step generates against |
|
|
115
|
+
|
|
116
|
+
> All migrated workflows are on this map. The conformance-gate workflows **analyze-design**
|
|
117
|
+
> and **analyze-delta-design** are intentionally NOT here — they validate design/delta
|
|
118
|
+
> against the spec + DOMAIN gate overlays only (comandrulemap `## /aw-spec-gate`), with no
|
|
119
|
+
> technical gate checklist.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Consent Standards
|
|
2
2
|
|
|
3
|
-
> NON-NEGOTIABLE. Commands: `/aw-spec-
|
|
3
|
+
> NON-NEGOTIABLE. Commands: `/aw-spec-constitution`, `/aw-spec-specify`.
|
|
4
4
|
|
|
5
5
|
## First-class aggregate
|
|
6
6
|
- Consent is a **first-class aggregate** (Patients module). A **withdrawn consent MUST block downstream PHI disclosure** for the purpose-of-use **immediately**; state changes emit `ConsentChangedEvent` (see [[eventing]]).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CQRS — Healthcare Domain Addenda
|
|
2
2
|
|
|
3
|
-
> Technology base: [[cqrs]]. Commands: `/aw-spec-
|
|
3
|
+
> Technology base: [[cqrs]]. Commands: `/aw-spec-specify`, `/aw-spec-gate`.
|
|
4
4
|
|
|
5
5
|
## Pipeline
|
|
6
6
|
- Append a **PHI-access-audit behavior** to the mediator pipeline (beyond generic logging + FluentValidation): emit an audit record for every command/query touching PHI (see [[auditing.domain]]).
|