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
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# delta-spec (orchestrator module) — author the SPEC-side DELTA of a change
|
|
3
|
+
#
|
|
4
|
+
# Included by /aw-spec-orch specify on its DELTA branch (spec.md already exists).
|
|
5
|
+
# This is the SPEC half of the former standalone `cr` capture, relocated here: a
|
|
6
|
+
# later requirement is a new user story on the SAME aggregate. It opens the change
|
|
7
|
+
# (cr-setup — single-active-change guarded; also scaffolds delta-spec AND delta-design)
|
|
8
|
+
# and authors the DELTA-SPEC ONLY. It does NOT touch the master spec.md — the change
|
|
9
|
+
# stays OPEN; finalize-delta merges the delta into spec.md later in the chain and
|
|
10
|
+
# close-delta closes it at the end. No version bump here, no design (that is
|
|
11
|
+
# /aw-spec-orch design → delta-design).
|
|
12
|
+
#
|
|
13
|
+
# Runs in the CALLER's context (include semantics): shares vars + the sticky standards
|
|
14
|
+
# (specify's DDD authority + the selected domain rule files) + the caller's scripts map
|
|
15
|
+
# + replay cache.
|
|
16
|
+
# EXPECTS caller vars: feature_dir, spec_file, USER_INPUT.
|
|
17
|
+
# PRODUCES: cr_id, cr_dir, delta_spec (and, via cr-setup, an OPEN change + a scaffolded
|
|
18
|
+
# delta-design.md for the design phase to fill). cr_dir is what lets the
|
|
19
|
+
# caller's quality loop target THIS change (create-checklist --kind delta).
|
|
20
|
+
# =============================================================================
|
|
21
|
+
|
|
22
|
+
name: delta-spec
|
|
23
|
+
dialect: aw-spec.orchestrator/v1
|
|
24
|
+
|
|
25
|
+
workflow:
|
|
26
|
+
|
|
27
|
+
# Open the change (sets active_version.json.active_change) + scaffold the two delta
|
|
28
|
+
# docs from their templates. Refuses if a change is already open on this aggregate.
|
|
29
|
+
- id: cr_setup
|
|
30
|
+
action: execute_script
|
|
31
|
+
script: { ref: actions }
|
|
32
|
+
subcommand: cr-setup
|
|
33
|
+
args: ["--feature-dir", "{{feature_dir}}", "--title", "{{USER_INPUT}}"]
|
|
34
|
+
outputs:
|
|
35
|
+
- { name: cr_id, from: "$.cr_id" }
|
|
36
|
+
- { name: cr_dir, from: "$.cr_dir" }
|
|
37
|
+
- { name: delta_spec, from: "$.delta_spec" }
|
|
38
|
+
|
|
39
|
+
- id: ctx
|
|
40
|
+
action: build_context
|
|
41
|
+
context:
|
|
42
|
+
- "{{delta_spec}}" # the delta-spec template to fill
|
|
43
|
+
- "{{spec_file}}" # the current master spec (READ ONLY — never amended here)
|
|
44
|
+
- .aw-spec/memory/constitution.domain.md # the DOMAIN authority — specify's frame. Declared
|
|
45
|
+
# REQUIRED (bare string, not `optional: true`) ON PURPOSE:
|
|
46
|
+
# specify is the ONLY phase that reads the domain rules and
|
|
47
|
+
# the task text below tells the agent this file is in context,
|
|
48
|
+
# so a missing one must ANNOUNCE (`[context] MISSING (required)`)
|
|
49
|
+
# rather than silently thin the payload. It announces, it does
|
|
50
|
+
# not stop — a delta only ever runs against an established
|
|
51
|
+
# feature, so the constitution is long since written.
|
|
52
|
+
# NOT constitution.technical: architecture is a HOW
|
|
53
|
+
# concern for design/implement, not domain modelling.
|
|
54
|
+
- id: author
|
|
55
|
+
action: agent_author
|
|
56
|
+
include_standards: true
|
|
57
|
+
output_target: { type: file, path: "{{delta_spec}}" }
|
|
58
|
+
task: |
|
|
59
|
+
A change request to this aggregate's EXISTING spec (change {{cr_id}}). Fill the
|
|
60
|
+
delta-spec (the output target, in context) relative to the current master spec.md
|
|
61
|
+
(in context) — the DELTA ONLY. Do NOT edit spec.md: finalize-delta merges the delta
|
|
62
|
+
into the master later in the chain.
|
|
63
|
+
- Classify every item ADDED / MODIFIED / REMOVED vs the current master, in the
|
|
64
|
+
master's vocabulary — System Requirements in EARS, Business Rules (BR-n), User
|
|
65
|
+
Stories with Given/When/Then, and — where the domain applies — Constraints & NFRs
|
|
66
|
+
(CN-n), Data Classification (DC-n), Integration Contracts (IC-n). A change to a
|
|
67
|
+
retention/audit rule, a data-exposure rule, or an interop obligation is a
|
|
68
|
+
CN-/DC-/IC- delta, not a code change.
|
|
69
|
+
- The new operation is a NEW USER STORY — assign the next id after the highest US-n
|
|
70
|
+
in the master — never a new feature/aggregate. Record the regression risk (shared
|
|
71
|
+
behaviour that must still hold).
|
|
72
|
+
- Model the delta strictly in DDD terms (→ the modelling-methodology standard + the
|
|
73
|
+
domain's own DDD overlay, both in the sticky standards): keep the
|
|
74
|
+
ubiquitous language, respect the aggregate boundary and its root, entities vs
|
|
75
|
+
value objects, and aggregate-owned invariants — domain MODEL, never code.
|
|
76
|
+
Business-facing and testable; NO implementation mechanics (an external interop
|
|
77
|
+
OBLIGATION is a requirement → an IC- item, but never the adapter design); NO
|
|
78
|
+
design docs (that is the design phase).
|
|
79
|
+
Change request: {{USER_INPUT}}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# domain-select (orchestrator port) — shared domain rule-file selection module
|
|
3
|
+
#
|
|
4
|
+
# Included (via
|
|
5
|
+
# `action: include`) by every domain-aware converted skill. Same flow:
|
|
6
|
+
# 1. resolve the active domain + candidate rule files for {{command}}
|
|
7
|
+
# 2. Domain gate: no domain / no comandrulemap → ask Continue (technical only)
|
|
8
|
+
# or EXIT (stops the whole skill, no side effects)
|
|
9
|
+
# 3. Selection box: all / subset / none
|
|
10
|
+
# 4. load the selected rule files — into the STICKY STANDARDS SET (D3: domain
|
|
11
|
+
# rules are SYSTEM standards; every later generation sees them without the
|
|
12
|
+
# caller re-declaring them per request)
|
|
13
|
+
#
|
|
14
|
+
# Runs in the CALLER's context: shares vars + standards + the caller's
|
|
15
|
+
# `scripts:` map + replay cache (include semantics; cache keys namespaced under
|
|
16
|
+
# the include id). HITL steps suspend via the checkpoint channel under EVERY
|
|
17
|
+
# strategy; non-interactive defaults: gate→continue, selection→all.
|
|
18
|
+
#
|
|
19
|
+
# Input (via include `with`): command = the command name (comandrulemap heading).
|
|
20
|
+
# Produces: domain (+ dg_* internals) and the loaded standards.
|
|
21
|
+
# =============================================================================
|
|
22
|
+
|
|
23
|
+
name: domain-select
|
|
24
|
+
dialect: aw-spec.orchestrator/v1
|
|
25
|
+
|
|
26
|
+
workflow:
|
|
27
|
+
|
|
28
|
+
# 1. Resolve the active domain + candidate rule files.
|
|
29
|
+
- id: resolve
|
|
30
|
+
action: execute_script
|
|
31
|
+
script: { ref: actions }
|
|
32
|
+
subcommand: resolve-domain
|
|
33
|
+
args: ["--command", "{{command}}"]
|
|
34
|
+
outputs:
|
|
35
|
+
- { name: domain, from: "$.domain" }
|
|
36
|
+
- { name: dg_rulemap_exists, from: "$.rulemap_exists" }
|
|
37
|
+
- { name: dg_candidates, from: "$.candidates" }
|
|
38
|
+
|
|
39
|
+
# 2. Domain gate — only when the domain/comandrulemap is missing.
|
|
40
|
+
- id: gate
|
|
41
|
+
action: ask
|
|
42
|
+
condition: "{{dg_rulemap_exists}} == false"
|
|
43
|
+
prompt: >
|
|
44
|
+
Domain is not set or its rule files are missing (domain '{{domain}}').
|
|
45
|
+
Continue with technical standards only, or exit to run /aw-spec-orch select-domain?
|
|
46
|
+
options: ["continue", "exit"]
|
|
47
|
+
answer_var: dg_gate
|
|
48
|
+
- id: gate_stop
|
|
49
|
+
action: verify_context
|
|
50
|
+
condition: "{{dg_rulemap_exists}} == false"
|
|
51
|
+
require_value: dg_gate
|
|
52
|
+
equals: "continue"
|
|
53
|
+
on_mismatch: stop
|
|
54
|
+
on_mismatch_message: "Exited — run /aw-spec-orch select-domain (or fix the domain folder) and re-run."
|
|
55
|
+
|
|
56
|
+
# 3. Selection box — only when a rule map with candidates exists.
|
|
57
|
+
- id: select_mode
|
|
58
|
+
action: ask
|
|
59
|
+
condition: "{{dg_candidates}} != []"
|
|
60
|
+
prompt: "Domain rule files for {{command}}:"
|
|
61
|
+
options: ["all", "subset", "none"]
|
|
62
|
+
answer_var: dg_mode
|
|
63
|
+
- id: pick_subset
|
|
64
|
+
action: ask
|
|
65
|
+
condition: "{{dg_mode}} == subset"
|
|
66
|
+
prompt: "Pick the domain rule files to load:"
|
|
67
|
+
options_from: "{{dg_candidates}}"
|
|
68
|
+
multi: true
|
|
69
|
+
answer_var: dg_subset
|
|
70
|
+
|
|
71
|
+
# 4. Load the selection into the sticky standards set (system block, D3).
|
|
72
|
+
- id: load_all
|
|
73
|
+
action: load_standards
|
|
74
|
+
condition: "{{dg_mode}} == all"
|
|
75
|
+
files_from_variable: dg_candidates
|
|
76
|
+
optional: true
|
|
77
|
+
- id: load_subset
|
|
78
|
+
action: load_standards
|
|
79
|
+
condition: "{{dg_mode}} == subset"
|
|
80
|
+
files_from_variable: dg_subset
|
|
81
|
+
optional: true
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# tech-select (orchestrator) — shared TECHNICAL rule-file selection module
|
|
3
|
+
#
|
|
4
|
+
# The technical counterpart of domain-select. Where domain-select loads the
|
|
5
|
+
# per-command DOMAIN rule files from docs/domainspecs/<domain>/comandrulemap.md,
|
|
6
|
+
# this module loads the per-command TECHNICAL rule files (the docs/architecture ·
|
|
7
|
+
# docs/security · docs/interop · docs/governance set that used to be HARDCODED in
|
|
8
|
+
# each workflow's `standards:` block) from
|
|
9
|
+
# docs/domainspecs/<domain>/commandtechrulemap.md
|
|
10
|
+
# Included (via `action: include`) by every technical-rule consumer so the set is
|
|
11
|
+
# CONFIGURATION, not code — tune the map, not the workflow.
|
|
12
|
+
#
|
|
13
|
+
# Flow (mirrors domain-select):
|
|
14
|
+
# 1. resolve the active domain + candidate technical rule files for {{command}}
|
|
15
|
+
# 2. Selection box: all / subset / none (non-interactive default: all)
|
|
16
|
+
# 3. load the selected files into the STICKY STANDARDS SET (D3: system standards
|
|
17
|
+
# every later generation sees without the caller re-declaring them)
|
|
18
|
+
#
|
|
19
|
+
# DELIBERATE difference from domain-select: there is NO blocking gate/exit. When
|
|
20
|
+
# the domain or the map is missing the module SOFT-CONTINUES (loads nothing extra)
|
|
21
|
+
# — the technology base still reaches the consumer through constitution.technical.md
|
|
22
|
+
# (referred to directly, as-is — NOT mapped) plus the caller's minimal seed, so an
|
|
23
|
+
# unconfigured / greenfield project is never blocked. This keeps greenfield-safety.
|
|
24
|
+
#
|
|
25
|
+
# Runs in the CALLER's context: shares vars + standards + the caller's `scripts:`
|
|
26
|
+
# map + replay cache (include semantics). HITL steps suspend via the checkpoint
|
|
27
|
+
# channel under every strategy; non-interactive default: selection → all.
|
|
28
|
+
#
|
|
29
|
+
# Input (via include `with`): command = the command name (commandtechrulemap heading).
|
|
30
|
+
# Produces: tech_domain (+ tg_* internals) and the loaded standards.
|
|
31
|
+
# =============================================================================
|
|
32
|
+
|
|
33
|
+
name: tech-select
|
|
34
|
+
dialect: aw-spec.orchestrator/v1
|
|
35
|
+
|
|
36
|
+
workflow:
|
|
37
|
+
|
|
38
|
+
# 1. Resolve the active domain + candidate technical rule files.
|
|
39
|
+
- id: resolve
|
|
40
|
+
action: execute_script
|
|
41
|
+
script: { ref: actions }
|
|
42
|
+
subcommand: resolve-tech
|
|
43
|
+
args: ["--command", "{{command}}"]
|
|
44
|
+
outputs:
|
|
45
|
+
- { name: tech_domain, from: "$.domain" }
|
|
46
|
+
- { name: tg_techmap_exists, from: "$.techrulemap_exists" }
|
|
47
|
+
- { name: tg_candidates, from: "$.candidates" }
|
|
48
|
+
|
|
49
|
+
# 2. Selection box — only when a tech rule map with candidates exists.
|
|
50
|
+
# No-map path: no step fires (both conditions below are false) ⇒ soft-continue.
|
|
51
|
+
- id: select_mode
|
|
52
|
+
action: ask
|
|
53
|
+
condition: "{{tg_candidates}} != []"
|
|
54
|
+
prompt: "Technical rule files for {{command}}:"
|
|
55
|
+
options: ["all", "subset", "none"]
|
|
56
|
+
answer_var: tg_mode
|
|
57
|
+
- id: pick_subset
|
|
58
|
+
action: ask
|
|
59
|
+
condition: "{{tg_mode}} == subset"
|
|
60
|
+
prompt: "Pick the technical rule files to load:"
|
|
61
|
+
options_from: "{{tg_candidates}}"
|
|
62
|
+
multi: true
|
|
63
|
+
answer_var: tg_subset
|
|
64
|
+
|
|
65
|
+
# 3. Load the selection into the sticky standards set (system block, D3).
|
|
66
|
+
- id: load_all
|
|
67
|
+
action: load_standards
|
|
68
|
+
condition: "{{tg_mode}} == all"
|
|
69
|
+
files_from_variable: tg_candidates
|
|
70
|
+
optional: true
|
|
71
|
+
- id: load_subset
|
|
72
|
+
action: load_standards
|
|
73
|
+
condition: "{{tg_mode}} == subset"
|
|
74
|
+
files_from_variable: tg_subset
|
|
75
|
+
optional: true
|