ai-delivery-workflow 0.2.2
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/LICENSE +21 -0
- package/README.md +112 -0
- package/bin/ai-delivery.mjs +138 -0
- package/bin/validate-skills.mjs +12 -0
- package/docs/DUAL-REPOSITORY-WORKSPACE.zh-CN.md +125 -0
- package/docs/EVOLUTION-MAINTENANCE.zh-CN.md +75 -0
- package/docs/EVOLUTION-USER-GUIDE.zh-CN.md +160 -0
- package/docs/FILE-REFERENCE.zh-CN.md +503 -0
- package/docs/PROJECT-MANUAL.zh-CN.md +931 -0
- package/docs/STATE-CLI-MAINTENANCE.zh-CN.md +135 -0
- package/docs/STATE-CLI-USER-GUIDE.zh-CN.md +186 -0
- package/docs/VIEWER-MAINTENANCE.zh-CN.md +373 -0
- package/docs/VIEWER-USER-GUIDE.zh-CN.md +235 -0
- package/lib/delivery-state.mjs +1220 -0
- package/lib/evolution.mjs +971 -0
- package/lib/project-bootstrap.mjs +927 -0
- package/lib/project-installer.mjs +1184 -0
- package/lib/skill-validator.mjs +154 -0
- package/lib/toml-hooks.mjs +97 -0
- package/lib/workspace.mjs +302 -0
- package/lib/yaml-runtime.mjs +18 -0
- package/package.json +39 -0
- package/skills/ai-delivery-assemble-release/SKILL.md +27 -0
- package/skills/ai-delivery-assemble-release/agents/openai.yaml +4 -0
- package/skills/ai-delivery-assemble-release/assets/release-candidate-manifest.yaml +22 -0
- package/skills/ai-delivery-assemble-release/assets/release-git-plan.yaml +9 -0
- package/skills/ai-delivery-assemble-release/assets/release-material-index.csv +2 -0
- package/skills/ai-delivery-assemble-release/assets/version-inclusion.csv +2 -0
- package/skills/ai-delivery-assemble-release/references/release-assembly-contract.md +7 -0
- package/skills/ai-delivery-assemble-release/scripts/plan-release.mjs +298 -0
- package/skills/ai-delivery-bootstrap/SKILL.md +59 -0
- package/skills/ai-delivery-bootstrap/agents/openai.yaml +4 -0
- package/skills/ai-delivery-bootstrap/references/bootstrap-contract.md +70 -0
- package/skills/ai-delivery-checkpoint-task/SKILL.md +63 -0
- package/skills/ai-delivery-checkpoint-task/agents/openai.yaml +4 -0
- package/skills/ai-delivery-checkpoint-task/assets/codex-hook-config.toml +92 -0
- package/skills/ai-delivery-checkpoint-task/assets/runtime-template/resume.md +15 -0
- package/skills/ai-delivery-checkpoint-task/assets/runtime-template/task.json +30 -0
- package/skills/ai-delivery-checkpoint-task/assets/runtime-template/version-archive.json +10 -0
- package/skills/ai-delivery-checkpoint-task/references/checkpoint-contract.md +95 -0
- package/skills/ai-delivery-checkpoint-task/references/checkpoint-recovery.zh-CN.md +111 -0
- package/skills/ai-delivery-checkpoint-task/scripts/hook-event.mjs +131 -0
- package/skills/ai-delivery-checkpoint-task/scripts/task-state.mjs +1073 -0
- package/skills/ai-delivery-close-version/SKILL.md +33 -0
- package/skills/ai-delivery-close-version/agents/openai.yaml +4 -0
- package/skills/ai-delivery-close-version/assets/line-advance-record.yaml +12 -0
- package/skills/ai-delivery-close-version/assets/version-lineage.yaml +12 -0
- package/skills/ai-delivery-close-version/assets/version-manifest.yaml +20 -0
- package/skills/ai-delivery-close-version/references/version-closeout-contract.md +20 -0
- package/skills/ai-delivery-define-product/SKILL.md +76 -0
- package/skills/ai-delivery-define-product/agents/openai.yaml +4 -0
- package/skills/ai-delivery-define-product/assets/product-template/acceptance-criteria.csv +1 -0
- package/skills/ai-delivery-define-product/assets/product-template/discovery-baseline.md +19 -0
- package/skills/ai-delivery-define-product/assets/product-template/feature-detail.md +19 -0
- package/skills/ai-delivery-define-product/assets/product-template/feature-terminals.csv +1 -0
- package/skills/ai-delivery-define-product/assets/product-template/features.csv +1 -0
- package/skills/ai-delivery-define-product/assets/product-template/product-baseline.yaml +8 -0
- package/skills/ai-delivery-define-product/assets/product-template/product-manual.md +24 -0
- package/skills/ai-delivery-define-product/assets/product-template/terminals.csv +1 -0
- package/skills/ai-delivery-define-product/assets/product-template/user-stories.csv +1 -0
- package/skills/ai-delivery-define-product/references/product-contract.md +57 -0
- package/skills/ai-delivery-deploy-production/SKILL.md +45 -0
- package/skills/ai-delivery-deploy-production/agents/openai.yaml +4 -0
- package/skills/ai-delivery-deploy-production/references/deployment-contract.md +7 -0
- package/skills/ai-delivery-design-architecture/SKILL.md +67 -0
- package/skills/ai-delivery-design-architecture/agents/openai.yaml +4 -0
- package/skills/ai-delivery-design-architecture/assets/architecture-template/architecture-baseline.md +25 -0
- package/skills/ai-delivery-design-architecture/assets/architecture-template/architecture-gate.yaml +15 -0
- package/skills/ai-delivery-design-architecture/assets/architecture-template/prototype-architecture-validation.yaml +58 -0
- package/skills/ai-delivery-design-architecture/references/architecture-contract.md +32 -0
- package/skills/ai-delivery-design-experience/SKILL.md +71 -0
- package/skills/ai-delivery-design-experience/agents/openai.yaml +4 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/canvas-catalog.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/canvas-pages.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/component-state-matrix.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/design-tokens.json +19 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/experience-baseline.yaml +17 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/experience-change-domains.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/experience-change-set.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/feature-screen-coverage.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/formal-ui-confirmation.yaml +33 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/interaction-contract.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/low-fidelity-confirmation.yaml +32 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/page-catalog.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/page-component-map.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/product-prototype-reconciliation.yaml +28 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-adjustment-log.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-confirmation.yaml +99 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-file-terminals.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-files.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-impact-assessment.yaml +25 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-manifest.yaml +74 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-product-coverage.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-review-comments.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-review-decision.yaml +29 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-review-sessions.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-set.yaml +22 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-tool-candidates.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-tool-selection.yaml +22 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/prototype-traceability.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/requirement-change-set.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/screen-states.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/ui-framework-candidates.csv +1 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/ui-framework-selection.yaml +18 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/ui-handoff.yaml +44 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/visual-direction.yaml +16 -0
- package/skills/ai-delivery-design-experience/assets/experience-template/visual-system-confirmation.yaml +31 -0
- package/skills/ai-delivery-design-experience/references/experience-contract.md +82 -0
- package/skills/ai-delivery-design-experience/references/prototype-management-contract.md +68 -0
- package/skills/ai-delivery-design-tests/SKILL.md +56 -0
- package/skills/ai-delivery-design-tests/agents/openai.yaml +4 -0
- package/skills/ai-delivery-design-tests/assets/test-design-template/iteration-test-contract.md +19 -0
- package/skills/ai-delivery-design-tests/assets/test-design-template/prototype-test-scope.csv +1 -0
- package/skills/ai-delivery-design-tests/assets/test-design-template/prototype-test-validation.yaml +73 -0
- package/skills/ai-delivery-design-tests/references/test-design-contract.md +31 -0
- package/skills/ai-delivery-develop-iteration/SKILL.md +66 -0
- package/skills/ai-delivery-develop-iteration/agents/openai.yaml +4 -0
- package/skills/ai-delivery-develop-iteration/assets/development-template/task-experience-change-traceability.csv +1 -0
- package/skills/ai-delivery-develop-iteration/assets/development-template/task-prototype-traceability.csv +1 -0
- package/skills/ai-delivery-develop-iteration/references/development-contract.md +39 -0
- package/skills/ai-delivery-evolve-workflow/SKILL.md +57 -0
- package/skills/ai-delivery-evolve-workflow/agents/openai.yaml +4 -0
- package/skills/ai-delivery-evolve-workflow/references/evolution-contract.md +42 -0
- package/skills/ai-delivery-execute-test/SKILL.md +34 -0
- package/skills/ai-delivery-execute-test/agents/openai.yaml +4 -0
- package/skills/ai-delivery-execute-test/references/test-execution-contract.md +7 -0
- package/skills/ai-delivery-execute-work-package/SKILL.md +53 -0
- package/skills/ai-delivery-execute-work-package/agents/openai.yaml +4 -0
- package/skills/ai-delivery-execute-work-package/references/work-package-contract.md +20 -0
- package/skills/ai-delivery-manage-git/SKILL.md +60 -0
- package/skills/ai-delivery-manage-git/agents/openai.yaml +4 -0
- package/skills/ai-delivery-manage-git/references/git-policy.md +42 -0
- package/skills/ai-delivery-manage-standards/SKILL.md +44 -0
- package/skills/ai-delivery-manage-standards/agents/openai.yaml +4 -0
- package/skills/ai-delivery-manage-standards/assets/standards-template/standard.md +25 -0
- package/skills/ai-delivery-manage-standards/references/standards-contract.md +20 -0
- package/skills/ai-delivery-orchestrate/SKILL.md +105 -0
- package/skills/ai-delivery-orchestrate/agents/openai.yaml +4 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.codex/config.toml +92 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.gitattributes +6 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/artifact-registry.yaml +3 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/project.yaml +6 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/standards-baseline.yaml +8 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/delivery/workflow-state.yaml +34 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/decisions/.gitkeep +0 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/experiments/.gitkeep +0 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/feedback/.gitkeep +0 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/index.yaml +7 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/promotion/.gitkeep +0 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/evolution/proposals/.gitkeep +0 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/extensions/.gitkeep +0 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/STD-ARTIFACT-PATH-001.md +47 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/STD-DOC-LANG-001.md +62 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/STD-TEST-LOCATION-001.md +23 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/standards/index.yaml +36 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/bootstrap/bootstrap.mjs +33 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/evolution/evolve.mjs +15 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/hooks/hook-event.mjs +131 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/state/state.mjs +21 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/public/app.js +546 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/public/index.html +199 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/public/styles.css +529 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/server.mjs +780 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/start.cmd +4 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/start.ps1 +2 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/viewer/start.sh +4 -0
- package/skills/ai-delivery-orchestrate/assets/project-template/AGENTS.md +44 -0
- package/skills/ai-delivery-orchestrate/references/formal-state-contract.md +64 -0
- package/skills/ai-delivery-orchestrate/references/workflow-model.md +29 -0
- package/skills/ai-delivery-orchestrate-release/SKILL.md +33 -0
- package/skills/ai-delivery-orchestrate-release/agents/openai.yaml +4 -0
- package/skills/ai-delivery-orchestrate-release/assets/release-request.yaml +9 -0
- package/skills/ai-delivery-orchestrate-release/assets/version-selection.yaml +16 -0
- package/skills/ai-delivery-orchestrate-release/references/release-workflow-contract.md +11 -0
- package/skills/ai-delivery-plan-iteration/SKILL.md +57 -0
- package/skills/ai-delivery-plan-iteration/agents/openai.yaml +4 -0
- package/skills/ai-delivery-plan-iteration/assets/planning-template/backlog.csv +1 -0
- package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-dependencies.csv +1 -0
- package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-experience-change-traceability.csv +1 -0
- package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-prototype-traceability.csv +1 -0
- package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-sources.csv +1 -0
- package/skills/ai-delivery-plan-iteration/assets/planning-template/vertical-slices.csv +1 -0
- package/skills/ai-delivery-plan-iteration/references/planning-contract.md +40 -0
- package/skills/ai-delivery-prepare-platform/SKILL.md +49 -0
- package/skills/ai-delivery-prepare-platform/agents/openai.yaml +4 -0
- package/skills/ai-delivery-prepare-platform/assets/platform-template/environment-ledger.csv +1 -0
- package/skills/ai-delivery-prepare-platform/references/platform-contract.md +18 -0
- package/skills/ai-delivery-prepare-release/SKILL.md +47 -0
- package/skills/ai-delivery-prepare-release/agents/openai.yaml +4 -0
- package/skills/ai-delivery-prepare-release/assets/release-template/delivery-items.csv +1 -0
- package/skills/ai-delivery-prepare-release/assets/release-template/release-manifest.yaml +18 -0
- package/skills/ai-delivery-prepare-release/references/release-contract.md +21 -0
- package/skills/ai-delivery-review-change/SKILL.md +40 -0
- package/skills/ai-delivery-review-change/agents/openai.yaml +4 -0
- package/skills/ai-delivery-review-change/references/review-contract.md +20 -0
- package/skills/ai-delivery-triage-failure/SKILL.md +45 -0
- package/skills/ai-delivery-triage-failure/agents/openai.yaml +4 -0
- package/skills/ai-delivery-triage-failure/references/failure-routing-contract.md +13 -0
- package/skills/ai-delivery-validate-artifacts/SKILL.md +37 -0
- package/skills/ai-delivery-validate-artifacts/agents/openai.yaml +4 -0
- package/skills/ai-delivery-validate-artifacts/references/artifact-contract.md +44 -0
- package/skills/ai-delivery-verify-candidate/SKILL.md +56 -0
- package/skills/ai-delivery-verify-candidate/agents/openai.yaml +4 -0
- package/skills/ai-delivery-verify-candidate/assets/verification-template/defect-artifacts.csv +1 -0
- package/skills/ai-delivery-verify-candidate/assets/verification-template/defects.csv +1 -0
- package/skills/ai-delivery-verify-candidate/assets/verification-template/test-work-packages.csv +1 -0
- package/skills/ai-delivery-verify-candidate/references/candidate-verification-contract.md +23 -0
- package/skills/ai-delivery-verify-production/SKILL.md +50 -0
- package/skills/ai-delivery-verify-production/agents/openai.yaml +4 -0
- package/skills/ai-delivery-verify-production/assets/production-verification-template/production-verification.md +15 -0
- package/skills/ai-delivery-verify-production/references/production-verification-contract.md +14 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-close-version
|
|
3
|
+
description: Close an independently verified planned version without publishing it by freezing its candidate, recording cumulative lineage, creating an immutable version-ready tag, advancing the product development line, marking artifacts release-ready, and archiving closed task context. Use after iteration candidate verification passes or when resuming an interrupted version-closeout node.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Close Planned Version
|
|
7
|
+
|
|
8
|
+
Finish one planned version and stop before release. Never start a release from this skill.
|
|
9
|
+
|
|
10
|
+
## Preflight
|
|
11
|
+
|
|
12
|
+
1. Recover or initialize the `12-version-closeout` task through `$ai-delivery-checkpoint-task`.
|
|
13
|
+
2. Run `node .workflow/tools/state/state.mjs verify`.
|
|
14
|
+
3. Require a passing immutable candidate, closed version tasks, complete requirement/test/material traceability, and no unresolved blocking defect.
|
|
15
|
+
4. Read the preceding version lineage and Git policy. Require the candidate to descend from the current `line/<product-id>` head, except for the first version.
|
|
16
|
+
|
|
17
|
+
## Close The Version
|
|
18
|
+
|
|
19
|
+
1. Read `.workflow/config/workspace.yaml`; verify the candidate in the configured code repository and populate `repo_id`, `code_commit`, `source_path`, and SHA-256.
|
|
20
|
+
2. Freeze the candidate commit and create code `version-ready/<version-id>/rN`. Never move or replace an existing Tag; increment `rN` only for a newly verified replacement candidate.
|
|
21
|
+
3. Fast-forward code `line/<product-id>` to the tagged commit. Never advance code `main` here.
|
|
22
|
+
4. Copy the closeout assets into `.workflow/iterations/<version-id>/12-version-closeout/`, populate the code Tag identity, and compute the final manifest SHA-256.
|
|
23
|
+
5. Register the version materials with the formal state CLI, set the closeout artifact to `release-ready`, and complete `12-version-closeout` with that registered artifact as evidence.
|
|
24
|
+
6. Commit all version workflow materials and create immutable workflow `workflow-ready/<version-id>/rN` at that exact workflow commit. Record the workflow commit, workflow Tag, and manifest checksum in the lineage index without rewriting the tagged manifest.
|
|
25
|
+
7. Verify both Tags and the manifest checksum. Inspect the current workflow revision, then run `state.mjs transition --expected-revision <revision> --event version-closed --iteration-id <version-id> --artifact-id <closeout-artifact-id>` to update the audited cumulative development identity. Never edit `latest_line_version_id` directly.
|
|
26
|
+
8. Run formal state `verify`, archive tasks with `task-state.mjs archive-version --version-status release-ready --candidate-id <candidate-id> --evidence <closeout-artifact-id>`, checkpoint the Git and archive evidence, and finish the task.
|
|
27
|
+
9. Invoke `$ai-delivery-evolve-workflow evaluate --safe-point version --iteration-id <version-id>`. Record trial results and decisions, but never use an Evolution result as release intent.
|
|
28
|
+
|
|
29
|
+
## Stop Boundary
|
|
30
|
+
|
|
31
|
+
Report the release-ready version, code Tag, workflow Tag, manifest checksum, cumulative line head, archived task count, and next planned version. Stop and wait for either the next version iteration or an explicit user release request. Do not invoke release orchestration implicitly.
|
|
32
|
+
|
|
33
|
+
Read [version-closeout-contract.md](references/version-closeout-contract.md) before writing outputs.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
schema_version: 2
|
|
2
|
+
repo_id: "app"
|
|
3
|
+
repository_path: "code"
|
|
4
|
+
product_id: "PRODUCT-001"
|
|
5
|
+
branch: "line/PRODUCT-001"
|
|
6
|
+
previous_head: null
|
|
7
|
+
new_head: "<git-sha>"
|
|
8
|
+
version_id: "VER-0001"
|
|
9
|
+
version_ready_tag: "version-ready/VER-0001/r1"
|
|
10
|
+
fast_forward_verified: true
|
|
11
|
+
actor: "ai:<agent-id>"
|
|
12
|
+
advanced_at: "<RFC3339>"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
schema_version: 2
|
|
2
|
+
product_id: "PRODUCT-001"
|
|
3
|
+
version_id: "VER-0001"
|
|
4
|
+
predecessor_version_id: null
|
|
5
|
+
candidate_id: "CAND-0001"
|
|
6
|
+
repo_id: "app"
|
|
7
|
+
candidate_commit: "<git-sha>"
|
|
8
|
+
version_ready_tag: "version-ready/VER-0001/r1"
|
|
9
|
+
workflow_commit: "<workflow-git-sha>"
|
|
10
|
+
workflow_ready_tag: "workflow-ready/VER-0001/r1"
|
|
11
|
+
artifact_manifest: ".workflow/iterations/VER-0001/12-version-closeout/version-manifest.yaml"
|
|
12
|
+
artifact_sha256: "<sha256>"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
schema_version: 2
|
|
2
|
+
version_id: "VER-0001"
|
|
3
|
+
product_id: "PRODUCT-001"
|
|
4
|
+
predecessor_version_id: null
|
|
5
|
+
status: "release-ready"
|
|
6
|
+
candidate_id: "CAND-0001"
|
|
7
|
+
repository:
|
|
8
|
+
repo_id: "app"
|
|
9
|
+
code_commit: "<git-sha>"
|
|
10
|
+
code_tag: "version-ready/VER-0001/r1"
|
|
11
|
+
source_path: "code"
|
|
12
|
+
candidate_commit: "<git-sha>"
|
|
13
|
+
candidate_sha256: "<sha256>"
|
|
14
|
+
version_ready_tag: "version-ready/VER-0001/r1"
|
|
15
|
+
workflow_identity_record: ".workflow/delivery/version-lineage.yaml"
|
|
16
|
+
verification_artifact_id: "ART-VERIFY-0001"
|
|
17
|
+
material_index_artifact_id: "ART-MATERIAL-0001"
|
|
18
|
+
task_archive_manifest: ".workflow/control/archives/versions/VER-0001/version-manifest.json"
|
|
19
|
+
standards_baseline_id: "STANDARDS-BASELINE-001"
|
|
20
|
+
closed_at: "<RFC3339>"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Version Closeout Contract
|
|
2
|
+
|
|
3
|
+
## Required inputs
|
|
4
|
+
|
|
5
|
+
- planned version ID, product ID, predecessor version, and iteration plan;
|
|
6
|
+
- immutable candidate ID, commit, artifact digest, and passing verification decision;
|
|
7
|
+
- complete closed-task summary and unresolved-risk statement;
|
|
8
|
+
- current `line/<product-id>` head and applicable standards baseline.
|
|
9
|
+
|
|
10
|
+
## Required outputs
|
|
11
|
+
|
|
12
|
+
`version-manifest.yaml` binds the version to its candidate, verification, task archive, product/architecture/prototype/test baselines, and material index. `version-lineage.yaml` records exactly one predecessor and the cumulative ordered ancestry. `line-advance-record.yaml` records the old/new line heads, immutable tag, actor, and checks.
|
|
13
|
+
|
|
14
|
+
All outputs live under `.workflow/iterations/<version-id>/12-version-closeout/`, use stable IDs, and are registered through the formal state CLI. A version is `release-ready` only when every checksum resolves and the line fast-forward is proven.
|
|
15
|
+
|
|
16
|
+
After the `release-ready` closeout artifact is registered, `12-version-closeout` is completed, and both immutable Tags are verified, run the formal `version-closed` transition with that artifact ID. This audited event is the only writer of `workflow-state.yaml.latest_line_version_id`. Then archive version tasks to `.workflow/control/archives/versions/<version-id>/` and verify that active task/checkpoint shards were removed. The task archive is a separate checkpoint operation and does not replace this formal transition.
|
|
17
|
+
|
|
18
|
+
## Failure rules
|
|
19
|
+
|
|
20
|
+
Block closeout for active tasks, mutable candidates, failed verification, missing materials, Git divergence, an existing tag resolving to another commit, or a candidate that does not include a synchronized production hotfix. Mark affected candidates `stale`; never edit a previously closed version.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-define-product
|
|
3
|
+
description: Discover and define a product through a guided interview, then produce versioned discovery and product baselines. Use for a new product idea, a material feature request, unclear business requirements, product scope changes, terminal/channel decisions, product terminology changes, or when downstream work reports an ambiguous requirement.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Define Product
|
|
7
|
+
|
|
8
|
+
Turn an initial idea into two human-approved baselines without inventing unresolved business decisions.
|
|
9
|
+
|
|
10
|
+
## Artifact Location
|
|
11
|
+
|
|
12
|
+
Write every workflow document produced by this skill under project `.workflow/`. Place version-scoped node outputs in `.workflow/iterations/<iteration-id>/<node-id>/` and approved reusable product baselines in `.workflow/product/`. Do not relocate source code, automated test source, repository configuration, or non-document build artifacts.
|
|
13
|
+
|
|
14
|
+
## Task State
|
|
15
|
+
|
|
16
|
+
1. Invoke `$ai-delivery-checkpoint-task` before preflight to recover or initialize the task snapshot.
|
|
17
|
+
2. Checkpoint after every meaningful artifact, gate, validation, merge, deployment action, or other external milestone, and before compaction or interruption.
|
|
18
|
+
3. Before returning, finish the snapshot as `completed`, `blocked`, `failed`, or `interrupted`, with actual outputs, evidence, blockers, and one idempotent next action. A Hook event alone never proves completion.
|
|
19
|
+
4. When the next discovery decision belongs to the user, persist the exact single question with `--next-action-owner user`, then stop without any further mutation. After the user answers, explicitly transfer ownership to `agent` together with a new idempotent next action before continuing. Never recover or activate a user-owned question merely because a new session begins.
|
|
20
|
+
|
|
21
|
+
## Preflight
|
|
22
|
+
|
|
23
|
+
Read the project state, artifact registry, applicable standards, and existing product baseline. For a change, identify the affected terms, terminals, features, stories, and acceptance criteria before editing. In prototype-reconciliation mode also read the complete adjustment log, requirement change set, formal UI confirmations, prototype set, and bidirectional product coverage.
|
|
24
|
+
|
|
25
|
+
## Run Discovery
|
|
26
|
+
|
|
27
|
+
1. Interview the business sponsor one decision at a time. Recommend an answer and distinguish facts, assumptions, and proposals.
|
|
28
|
+
2. Define the problem, target users and stakeholders, goals, measurable outcomes, scope, non-scope, constraints, risks, core scenarios, and open questions.
|
|
29
|
+
3. Challenge ambiguous terms and capture the selected business vocabulary in the product manual. Do not perform other DDD activities.
|
|
30
|
+
4. Produce the discovery baseline and run completeness and contradiction checks.
|
|
31
|
+
5. Submit discovery Gate A for human approval. Do not start product definition while Gate A is rejected or incomplete.
|
|
32
|
+
|
|
33
|
+
## Define The Product
|
|
34
|
+
|
|
35
|
+
1. Define the product specification, capability structure, business flows, user stories, acceptance criteria, non-functional requirements, and business priority.
|
|
36
|
+
2. Create the mandatory channel and terminal scope matrix. Product decides which terminals exist; architecture decides how they are implemented.
|
|
37
|
+
3. Create a two-level feature definition:
|
|
38
|
+
- a feature catalog for global scope and prioritization;
|
|
39
|
+
- feature detail records for user goals, preconditions, behavior, outcomes, states, exceptions, and business rules.
|
|
40
|
+
4. Give every terminal, feature, story, and acceptance criterion a stable ID.
|
|
41
|
+
5. Trace features to terminals, stories, acceptance criteria, and goals. Represent many-to-many relationships in dedicated CSV association files.
|
|
42
|
+
6. Keep implementation choices out of product artifacts.
|
|
43
|
+
|
|
44
|
+
## Submit Gate B
|
|
45
|
+
|
|
46
|
+
Submit the complete product baseline as one review package while allowing each required artifact to be approved or rejected independently. Gate B passes only when every required item is approved. After any revision, revalidate consistency across the whole package.
|
|
47
|
+
|
|
48
|
+
Required outputs:
|
|
49
|
+
|
|
50
|
+
- `product-manual.md`, including the sole approved business glossary;
|
|
51
|
+
- `terminals.csv`;
|
|
52
|
+
- `features.csv` and feature detail Markdown files;
|
|
53
|
+
- `feature-terminals.csv`;
|
|
54
|
+
- `user-stories.csv`;
|
|
55
|
+
- `acceptance-criteria.csv`;
|
|
56
|
+
- traceability association CSV files;
|
|
57
|
+
- `product-baseline.yaml` with versions and item-level approval state.
|
|
58
|
+
|
|
59
|
+
In prototype-reconciliation mode also produce the terminal requirement change set, bidirectional product coverage, product artifact delta, and `product-prototype-reconciliation.yaml`.
|
|
60
|
+
|
|
61
|
+
Use the schemas and controlled values in [product-contract.md](references/product-contract.md). Copy starter files from `assets/product-template/` when creating the first baseline.
|
|
62
|
+
|
|
63
|
+
## Reconcile Confirmed Prototypes
|
|
64
|
+
|
|
65
|
+
Run this mode only after every visual or interactive prototype member is candidate-approved and its adjustments are terminal.
|
|
66
|
+
|
|
67
|
+
1. Review every row in `requirement-change-set.csv`; classify it as approved, rejected, or requiring clarification. Do not approve a requirement merely because the prototype implements it.
|
|
68
|
+
2. Verify both directions of `prototype-product-coverage.csv`: every prototype behavior must resolve to an approved feature/story/acceptance criterion, and every visual product behavior must resolve to a prototype element or justified `not-applicable` row.
|
|
69
|
+
3. Apply approved added, modified, retired, or superseded requirements to a new product baseline version. Preserve stable IDs for modifications and retire IDs instead of reusing them.
|
|
70
|
+
4. Re-run Gate B for every changed product artifact and record exact approval evidence. When nothing changes, retain the existing baseline and record an `aligned` no-change decision.
|
|
71
|
+
5. Write `product-prototype-reconciliation.yaml` with the input/output product baseline checksums, prototype/formal-UI checksums, terminal and terminology checks, requirement-change closure, stale artifacts, and required prototype revalidation.
|
|
72
|
+
6. Return rejected prototype behavior to experience for removal. Return an updated baseline to experience, mark affected prototype members stale, and require their staged re-approval. Repeat until the receipt is `status: valid`, `decision: aligned`, and every requirement change is terminal.
|
|
73
|
+
|
|
74
|
+
## Handoff
|
|
75
|
+
|
|
76
|
+
Hand an approved Gate B baseline to initial architecture. In prototype-reconciliation mode, hand the exact approved or unchanged product baseline plus a valid aligned reconciliation receipt back to experience design. Downstream stages must return new or conflicting business terms here rather than defining them locally.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
acceptance_id,story_id,given,when,then,quality_constraint,status
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Discovery Baseline
|
|
2
|
+
|
|
3
|
+
## Problem And Evidence
|
|
4
|
+
|
|
5
|
+
## Users And Stakeholders
|
|
6
|
+
|
|
7
|
+
## Goals And Measurable Outcomes
|
|
8
|
+
|
|
9
|
+
## Scope And Non-Scope
|
|
10
|
+
|
|
11
|
+
## Core Scenarios
|
|
12
|
+
|
|
13
|
+
## Constraints
|
|
14
|
+
|
|
15
|
+
## Risks And Assumptions
|
|
16
|
+
|
|
17
|
+
## Open Questions
|
|
18
|
+
|
|
19
|
+
## Gate A Approval
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Feature Detail: FEATURE-ID
|
|
2
|
+
|
|
3
|
+
## User Goal And Role
|
|
4
|
+
|
|
5
|
+
## Terminals
|
|
6
|
+
|
|
7
|
+
## Trigger And Preconditions
|
|
8
|
+
|
|
9
|
+
## Main Behavior
|
|
10
|
+
|
|
11
|
+
## Alternate Behavior
|
|
12
|
+
|
|
13
|
+
## Outcomes
|
|
14
|
+
|
|
15
|
+
## States And Exceptions
|
|
16
|
+
|
|
17
|
+
## Business Rules
|
|
18
|
+
|
|
19
|
+
## Source And Traceability IDs
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
feature_id,terminal_id,terminal_behavior,priority
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
feature_id,module,feature,subfeature,user_role,user_goal,description,preconditions,outcome,states_and_exceptions,priority,target_release,status
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Product Manual
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
## Problem
|
|
6
|
+
|
|
7
|
+
## Users And Stakeholders
|
|
8
|
+
|
|
9
|
+
## Goals And Success Metrics
|
|
10
|
+
|
|
11
|
+
## Scope And Non-Scope
|
|
12
|
+
|
|
13
|
+
## Business Flows
|
|
14
|
+
|
|
15
|
+
## Product Capabilities
|
|
16
|
+
|
|
17
|
+
## Business Glossary
|
|
18
|
+
|
|
19
|
+
| Canonical term | Definition | Excludes | Deprecated synonyms | Example | Related roles or flows | English identifier |
|
|
20
|
+
|---|---|---|---|---|---|---|
|
|
21
|
+
|
|
22
|
+
## Business Rules
|
|
23
|
+
|
|
24
|
+
## Risks, Assumptions, And Open Questions
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
terminal_id,name,audience,core_scenarios,release_scope,priority,notes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
story_id,feature_id,user_role,want,benefit,priority,status
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Product Contract
|
|
2
|
+
|
|
3
|
+
## Controlled Values
|
|
4
|
+
|
|
5
|
+
- Business priority: `must`, `should`, `could`, `wont`.
|
|
6
|
+
- Scope: `mvp`, `planned`, `later`, `excluded`.
|
|
7
|
+
- Approval: `pending`, `approved`, `rejected`.
|
|
8
|
+
|
|
9
|
+
## CSV Schemas
|
|
10
|
+
|
|
11
|
+
`terminals.csv`:
|
|
12
|
+
|
|
13
|
+
`terminal_id,name,audience,core_scenarios,release_scope,priority,notes`
|
|
14
|
+
|
|
15
|
+
`features.csv`:
|
|
16
|
+
|
|
17
|
+
`feature_id,module,feature,subfeature,user_role,user_goal,description,preconditions,outcome,states_and_exceptions,priority,target_release,status`
|
|
18
|
+
|
|
19
|
+
`feature-terminals.csv`:
|
|
20
|
+
|
|
21
|
+
`feature_id,terminal_id,terminal_behavior,priority`
|
|
22
|
+
|
|
23
|
+
`user-stories.csv`:
|
|
24
|
+
|
|
25
|
+
`story_id,feature_id,user_role,want,benefit,priority,status`
|
|
26
|
+
|
|
27
|
+
`acceptance-criteria.csv`:
|
|
28
|
+
|
|
29
|
+
`acceptance_id,story_id,given,when,then,quality_constraint,status`
|
|
30
|
+
|
|
31
|
+
Use separate two-column or three-column association CSV files for other many-to-many relationships. Never encode reference lists with commas or semicolons inside a cell.
|
|
32
|
+
|
|
33
|
+
## Prototype-Originated Requirement Changes
|
|
34
|
+
|
|
35
|
+
`requirement-change-set.csv`:
|
|
36
|
+
|
|
37
|
+
`requirement_change_id,source_adjustment_id,change_type,artifact_type,affected_id,proposed_id,phase,summary,before_ref,after_ref,reason,product_impact,architecture_impact,experience_impact,test_impact,status`
|
|
38
|
+
|
|
39
|
+
Use change types `added`, `modified`, `retired`, and `superseded`. Use statuses `identified`, `product-triage`, `awaiting-product-confirmation`, `approved`, `rejected`, `product-baseline-updated`, `impact-propagated`, `prototype-rebased`, and `closed`. A rejected row is terminal only with human rationale and evidence; an approved semantic change is terminal only after the approved product baseline and affected prototype revisions are linked.
|
|
40
|
+
|
|
41
|
+
`prototype-product-coverage.csv`:
|
|
42
|
+
|
|
43
|
+
`feature_id,story_id,acceptance_id,terminal_id,prototype_artifact_id,page_id,prototype_element_id,coverage_status,rationale`
|
|
44
|
+
|
|
45
|
+
Use `covered`, `not-applicable`, and `missing`. Every `not-applicable` row requires a rationale. Product reconciliation fails on `missing`, an unapproved prototype behavior, an uncovered visual requirement, or a non-terminal requirement change.
|
|
46
|
+
|
|
47
|
+
`product-prototype-reconciliation.yaml` records exact input/output product baseline identities and checksums, the complete candidate prototype set and formal-UI confirmations, coverage/change-set checksums, terminal/terminology/state checks, stale artifacts, required revalidation, and decision `aligned`, `product-update-required`, or `prototype-correction-required`. Only `aligned` may use `status: valid`.
|
|
48
|
+
|
|
49
|
+
## Product Manual
|
|
50
|
+
|
|
51
|
+
Include product summary, problem, users, goals, success metrics, scope, non-scope, business flows, product capability structure, business glossary, business rules, risks, assumptions, and open questions.
|
|
52
|
+
|
|
53
|
+
For each glossary term record canonical term, definition, exclusion, deprecated synonyms, usage example, related roles or flows, and canonical English identifier. Do not add bounded contexts, aggregates, repositories, or other DDD artifacts.
|
|
54
|
+
|
|
55
|
+
## Feature Details
|
|
56
|
+
|
|
57
|
+
Create one detail record per feature when the catalog description is insufficient. Cover goal, trigger, preconditions, main behavior, alternate behavior, outcomes, states, exceptions, business rules, and source IDs. Do not prescribe UI layout or technical implementation.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-deploy-production
|
|
3
|
+
description: Execute R08 production deployment of one human-approved immutable release package, including cumulative multi-version and same-version redeploy packages. Use only when the exact release manifest, package checksum, target environment, ordered delivery inventory, verification plan, and rollback plan are approved and unchanged at R07.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Deploy Production
|
|
7
|
+
|
|
8
|
+
Execute the approved plan exactly. Do not rebuild, patch, add unlisted items, change configuration ad hoc, or decide that the release succeeded.
|
|
9
|
+
|
|
10
|
+
## Artifact Location
|
|
11
|
+
|
|
12
|
+
Write deployment records and evidence to `.workflow/releases/<release-id>/R08-production-deployment/`. Deployed binaries, images, and other non-document artifacts remain in their release systems; record their immutable identities and digests in `.workflow/`.
|
|
13
|
+
|
|
14
|
+
## Task State
|
|
15
|
+
|
|
16
|
+
1. Invoke `$ai-delivery-checkpoint-task` before preflight to recover or initialize the task snapshot.
|
|
17
|
+
2. Checkpoint after every meaningful artifact, gate, validation, merge, deployment action, or other external milestone, and before compaction or interruption.
|
|
18
|
+
3. Before returning, finish the snapshot as `completed`, `blocked`, `failed`, or `interrupted`, with actual outputs, evidence, blockers, and one idempotent next action. A Hook event alone never proves completion.
|
|
19
|
+
|
|
20
|
+
## Preflight
|
|
21
|
+
|
|
22
|
+
1. Re-read human approval and verify its release version and package hash.
|
|
23
|
+
2. Resolve the configured code repository from `.workflow/config/workspace.yaml`; compare its `repo_id`, commit, code Tag, workflow Tag, manifest checksum, image digests, configuration baseline, migrations, IaC plan, target environment, and delivery inventory with the approved manifest.
|
|
24
|
+
3. Confirm the previous stable image digest and rollback compatibility evidence.
|
|
25
|
+
4. Confirm exclusive production release ownership and required credentials without exposing secrets.
|
|
26
|
+
5. Stop on any mismatch, missing item, expired approval, concurrent release, or unapproved operation.
|
|
27
|
+
|
|
28
|
+
## Execute
|
|
29
|
+
|
|
30
|
+
1. Record the current production version and environment state.
|
|
31
|
+
2. Execute listed items in approved order.
|
|
32
|
+
3. Record actual commands or deployment actions, actor, timestamps, results, and resulting identifiers.
|
|
33
|
+
4. Stop according to the approved failure policy. Do not improvise repairs.
|
|
34
|
+
5. Mark the deployment `deployed` only when execution finishes; do not mark it `released`.
|
|
35
|
+
6. Write deployment facts only to the workflow repository. Do not create or advance a code branch during deployment.
|
|
36
|
+
|
|
37
|
+
## Output
|
|
38
|
+
|
|
39
|
+
Produce an immutable deployment record containing release mode, current and target versions, newly included version range, actual delivery items, image digests, configuration and migration references, timestamps, results, deviations, and the production-verification handoff.
|
|
40
|
+
|
|
41
|
+
Read [deployment-contract.md](references/deployment-contract.md).
|
|
42
|
+
|
|
43
|
+
## Handoff
|
|
44
|
+
|
|
45
|
+
Invoke `$ai-delivery-verify-production`. Production success, image rollback, and `main` advancement belong to that node.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Production Deployment Contract
|
|
2
|
+
|
|
3
|
+
Require explicit release ID, mode, current/target versions, selected version range, R07-approved package hash, target environment, release lock, ordered delivery items, exact artifact digests, configuration and migration references, verification plan, rollback plan, and previous stable image digest.
|
|
4
|
+
|
|
5
|
+
Record deployment ID, actor, start and end timestamps, source and target versions, every attempted item, actual resulting identifiers, failures, deviations, and handoff state.
|
|
6
|
+
|
|
7
|
+
Abort on unlisted work, identity mismatch, mutable Tag, missing digest, stale approval, concurrent release, or unavailable rollback prerequisite. Never rebuild or patch in production.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-design-architecture
|
|
3
|
+
description: Design and reconcile a coherent application, technical, data, security, deployment, and observability architecture. Use after an approved product baseline, after experience design, for a material architecture change, when choosing a technology stack, or when downstream implementation or verification reveals an architectural constraint.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Architecture
|
|
7
|
+
|
|
8
|
+
Use one skill with `initial` and `reconcile` modes so coupled architecture views remain consistent.
|
|
9
|
+
|
|
10
|
+
## Artifact Location
|
|
11
|
+
|
|
12
|
+
Write every workflow document produced by this skill under project `.workflow/`. Place version-scoped node outputs in `.workflow/iterations/<iteration-id>/<node-id>/` and approved reusable architecture baselines in `.workflow/architecture/`. Do not relocate source code, automated test source, repository configuration, or non-document build artifacts.
|
|
13
|
+
|
|
14
|
+
## Task State
|
|
15
|
+
|
|
16
|
+
1. Invoke `$ai-delivery-checkpoint-task` before preflight to recover or initialize the task snapshot.
|
|
17
|
+
2. Checkpoint after every meaningful artifact, gate, validation, merge, deployment action, or other external milestone, and before compaction or interruption.
|
|
18
|
+
3. Before returning, finish the snapshot as `completed`, `blocked`, `failed`, or `interrupted`, with actual outputs, evidence, blockers, and one idempotent next action. A Hook event alone never proves completion.
|
|
19
|
+
|
|
20
|
+
## Preflight
|
|
21
|
+
|
|
22
|
+
Read the approved product baseline, business glossary, terminal matrix, feature catalog, applicable standards, and prior architecture decisions. Reject incomplete or inconsistent inputs instead of guessing product scope.
|
|
23
|
+
|
|
24
|
+
## Initial Mode
|
|
25
|
+
|
|
26
|
+
1. Convert non-functional requirements into measurable quality scenarios and budgets.
|
|
27
|
+
2. Define system context, application and component boundaries, terminal implementation strategies, data ownership, authentication and authorization, security controls, deployment topology, observability, and operational constraints.
|
|
28
|
+
3. Select technology stacks with exact supported versions, package and build tools, repository layout, dependency policy, and required commands.
|
|
29
|
+
4. Draft APIs, events, data contracts, migration strategy, test seams, and delivery constraints.
|
|
30
|
+
5. Record only decisions that are costly to reverse and based on real tradeoffs.
|
|
31
|
+
6. Submit major decisions for human approval before experience design proceeds.
|
|
32
|
+
|
|
33
|
+
Major decisions include platforms, paid services, security or privacy boundaries, hard-to-reverse data or infrastructure choices, material cost/performance/schedule tradeoffs, and deviations from approved product scope.
|
|
34
|
+
|
|
35
|
+
## Reconcile Mode
|
|
36
|
+
|
|
37
|
+
1. Read the experience baseline, `ui-handoff.yaml`, all staged Gate receipts (`UX-LF`, `UX-VS`, and `UX-UI`), aligned `product-prototype-reconciliation.yaml` receipt, experience/requirement change sets, interaction contract, design tokens, framework selection, component-state matrix, page-component map, frozen prototype set, every member manifest, management catalogs, review/impact records, traceability, and each source confirmation. Verify exact identities/checksums and require the handoff to be complete and free of stale references.
|
|
38
|
+
2. Verify that the selected UI framework/version is compatible with the architecture stack and dependency policy, and that every page family, component mapping, interaction, state, permission, query, upload, real-time behavior, failure mode, responsive rule, and accessibility requirement is technically supported. Use stable change/page/canvas/file/element/component IDs in findings.
|
|
39
|
+
3. Write one `prototype-architecture-validation.yaml` per set member with the UI handoff identity/checksum, all consumed artifact versions/checksums, exact architecture baseline version/checksum, implementability decision, affected changes/contracts/components, issues, and return node. An accepted receipt uses `status: valid`; a `changes-required` receipt uses `status: invalid`. Accept the handoff only when all member receipts pass, then advance accepted experience changes from `formal-ui-confirmed` to `architecture-accepted` and `ready-for-development` through the state CLI.
|
|
40
|
+
4. Return product or experience defects to their producer. Do not silently weaken approved behavior or edit the frozen prototype.
|
|
41
|
+
5. Finalize APIs, data access, events, component boundaries, test seams, deployment requirements, and implementation constraints.
|
|
42
|
+
6. Reopen human approval only when reconciliation creates or changes a major decision.
|
|
43
|
+
|
|
44
|
+
## Outputs
|
|
45
|
+
|
|
46
|
+
Produce one versioned architecture baseline containing:
|
|
47
|
+
|
|
48
|
+
- context, container, component, data, security, and deployment views;
|
|
49
|
+
- stack and version manifest;
|
|
50
|
+
- API/event contracts and schemas;
|
|
51
|
+
- data model and migration policy;
|
|
52
|
+
- authentication, authorization, threat controls, and audit requirements;
|
|
53
|
+
- quality budgets and capacity assumptions;
|
|
54
|
+
- repository, build, test, configuration, and observability rules;
|
|
55
|
+
- architecture decisions, risks, assumptions, and validation tasks;
|
|
56
|
+
- versioned major-decision gate/approval evidence in initial mode;
|
|
57
|
+
- prototype architecture validation receipt in reconcile mode;
|
|
58
|
+
- UI framework/dependency acceptance and exact `ui-handoff.yaml` receipt in reconcile mode;
|
|
59
|
+
- final test seams and component impact map.
|
|
60
|
+
|
|
61
|
+
Do not require DDD constructs. Use business terms from the product manual and provide explicit mappings for unavoidable technical names.
|
|
62
|
+
|
|
63
|
+
Read [architecture-contract.md](references/architecture-contract.md) and use `assets/architecture-template/` for a new baseline.
|
|
64
|
+
|
|
65
|
+
## Handoff
|
|
66
|
+
|
|
67
|
+
Initial mode feeds experience design and delivery-platform preparation. Reconcile mode accepts only an exact confirmed prototype version and produces the final baseline plus its prototype validation receipt for planning, test design, platform work, and implementation.
|
package/skills/ai-delivery-design-architecture/assets/architecture-template/architecture-baseline.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Architecture Baseline
|
|
2
|
+
|
|
3
|
+
## Mode And Sources
|
|
4
|
+
|
|
5
|
+
## Quality Scenarios And Budgets
|
|
6
|
+
|
|
7
|
+
## System Context And Terminal Strategy
|
|
8
|
+
|
|
9
|
+
## Application And Component Boundaries
|
|
10
|
+
|
|
11
|
+
## Technology Stack And Commands
|
|
12
|
+
|
|
13
|
+
## APIs, Events, And Schemas
|
|
14
|
+
|
|
15
|
+
## Data And Migration
|
|
16
|
+
|
|
17
|
+
## Security And Privacy
|
|
18
|
+
|
|
19
|
+
## Deployment, Configuration, And Observability
|
|
20
|
+
|
|
21
|
+
## Test Seams
|
|
22
|
+
|
|
23
|
+
## Decisions, Risks, Assumptions, And Probes
|
|
24
|
+
|
|
25
|
+
## Experience Reconciliation
|
package/skills/ai-delivery-design-architecture/assets/architecture-template/architecture-gate.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
artifact_id: ARCH-GATE-0001
|
|
2
|
+
artifact_type: architecture-major-decision-gate
|
|
3
|
+
version: 1
|
|
4
|
+
iteration_id: ITER-0001
|
|
5
|
+
status: pending
|
|
6
|
+
producer_skill: ai-delivery-design-architecture
|
|
7
|
+
architecture_baseline_ref: ARCH-INITIAL-0001@1
|
|
8
|
+
architecture_baseline_checksum: REPLACE_WITH_SHA256
|
|
9
|
+
major_decision_ids: []
|
|
10
|
+
human_approval_required: false
|
|
11
|
+
decision: not-required
|
|
12
|
+
approved_by: null
|
|
13
|
+
approved_at: null
|
|
14
|
+
evidence: []
|
|
15
|
+
standards: []
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
artifact_id: PROTOTYPE-ARCH-VALIDATION-0001
|
|
2
|
+
artifact_type: prototype-architecture-validation
|
|
3
|
+
version: 1
|
|
4
|
+
iteration_id: ITER-0001
|
|
5
|
+
status: draft
|
|
6
|
+
producer_skill: ai-delivery-design-architecture
|
|
7
|
+
input_artifacts:
|
|
8
|
+
ui_handoff: UI-HANDOFF-0001@1
|
|
9
|
+
prototype_set: PROTOTYPE-SET-0001@1
|
|
10
|
+
prototype_manifest: PROTOTYPE-0001@1
|
|
11
|
+
prototype_confirmation: PROTOTYPE-CONFIRMATION-0001@1
|
|
12
|
+
prototype_tool_selection: PROTOTYPE-TOOL-SELECTION-0001@1
|
|
13
|
+
prototype_review_decision: PROTOTYPE-REVIEW-DECISION-0001@1
|
|
14
|
+
prototype_impact_assessment: PROTOTYPE-IMPACT-ASSESSMENT-0001@1
|
|
15
|
+
standards: []
|
|
16
|
+
ui_handoff_ref: UI-HANDOFF-0001@1
|
|
17
|
+
ui_handoff_checksum: REPLACE_WITH_SHA256
|
|
18
|
+
prototype_set_ref: PROTOTYPE-SET-0001@1
|
|
19
|
+
prototype_set_checksum: REPLACE_WITH_SHA256
|
|
20
|
+
prototype_artifact_id: PROTOTYPE-0001
|
|
21
|
+
prototype_version: 1
|
|
22
|
+
prototype_manifest_ref: prototype-manifest-PROTOTYPE-0001.yaml
|
|
23
|
+
prototype_manifest_checksum: REPLACE_WITH_SHA256
|
|
24
|
+
prototype_confirmation_ref: PROTOTYPE-CONFIRMATION-0001@1
|
|
25
|
+
prototype_confirmation_checksum: REPLACE_WITH_SHA256
|
|
26
|
+
source_revision: REVISION-0001
|
|
27
|
+
review_bundle_algorithm: sha256
|
|
28
|
+
review_bundle_checksum: REPLACE_WITH_SHA256
|
|
29
|
+
tool_selection_checksum: REPLACE_WITH_SHA256
|
|
30
|
+
page_catalog_checksum: REPLACE_WITH_SHA256
|
|
31
|
+
canvas_catalog_checksum: REPLACE_WITH_SHA256
|
|
32
|
+
canvas_pages_checksum: REPLACE_WITH_SHA256
|
|
33
|
+
prototype_files_checksum: REPLACE_WITH_SHA256
|
|
34
|
+
prototype_file_terminals_checksum: REPLACE_WITH_SHA256
|
|
35
|
+
prototype_review_decision_checksum: REPLACE_WITH_SHA256
|
|
36
|
+
prototype_review_sessions_checksum: REPLACE_WITH_SHA256
|
|
37
|
+
prototype_review_comments_checksum: REPLACE_WITH_SHA256
|
|
38
|
+
prototype_adjustment_log_checksum: REPLACE_WITH_SHA256
|
|
39
|
+
prototype_impact_assessment_checksum: REPLACE_WITH_SHA256
|
|
40
|
+
traceability_checksum: REPLACE_WITH_SHA256
|
|
41
|
+
state_catalog_checksum: REPLACE_WITH_SHA256
|
|
42
|
+
feature_screen_coverage_checksum: REPLACE_WITH_SHA256
|
|
43
|
+
architecture_baseline_id: ARCH-FINAL-0001
|
|
44
|
+
architecture_baseline_version: 1
|
|
45
|
+
architecture_baseline_checksum: REPLACE_WITH_SHA256
|
|
46
|
+
decision: changes-required
|
|
47
|
+
affected_page_ids: []
|
|
48
|
+
affected_canvas_ids: []
|
|
49
|
+
affected_prototype_file_ids: []
|
|
50
|
+
affected_prototype_element_ids: []
|
|
51
|
+
affected_experience_change_ids: []
|
|
52
|
+
affected_ui_component_ids: []
|
|
53
|
+
component_impacts: []
|
|
54
|
+
contract_impacts: []
|
|
55
|
+
quality_budget_conflicts: []
|
|
56
|
+
blocking_issues: []
|
|
57
|
+
return_node: experience-design
|
|
58
|
+
evidence: []
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Architecture Contract
|
|
2
|
+
|
|
3
|
+
## Initial Baseline
|
|
4
|
+
|
|
5
|
+
Include:
|
|
6
|
+
|
|
7
|
+
- system context and external dependencies;
|
|
8
|
+
- terminal implementation strategy;
|
|
9
|
+
- application and component boundaries;
|
|
10
|
+
- technology stack with exact versions and lifecycle risk;
|
|
11
|
+
- data ownership, models, retention, migration, and recovery strategy;
|
|
12
|
+
- authentication, authorization, security, privacy, and audit controls;
|
|
13
|
+
- deployment topology, configuration, secrets, networking, and observability;
|
|
14
|
+
- measurable quality scenarios and budgets;
|
|
15
|
+
- draft APIs, events, schemas, test seams, and repository conventions;
|
|
16
|
+
- decision records, risks, assumptions, and validation probes.
|
|
17
|
+
|
|
18
|
+
Produce a versioned architecture-gate artifact that lists major decision IDs and records either their exact human approval evidence or an explicit `not-required` assessment. Use decisions `approved`, `not-required`, and `changes-required`; use `status: valid` only for `approved` or justified `not-required`. Experience design must not start from missing, pending, or invalid gate evidence.
|
|
19
|
+
|
|
20
|
+
## Reconciled Baseline
|
|
21
|
+
|
|
22
|
+
Add experience coverage validation, exact UI handoff acceptance, selected framework/dependency compatibility, interaction-driven queries, design-token/component constraints, final APIs/events/schemas, final component impact map, final public test seams, and implementation commands.
|
|
23
|
+
|
|
24
|
+
Produce one `prototype-architecture-validation.yaml` per prototype-set member. Pin the `ui-handoff.yaml` version/checksum, prototype-set and member identities, source confirmation, staged Gate receipts, aligned product reconciliation, framework selection, design tokens, interaction/component contracts, change sets, management/review/impact checksums, linked coverage, and final architecture baseline. Record decision (`accepted` or `changes-required`), affected experience change/page/canvas/file/element/component IDs, dependency/component/contract impacts, quality-budget conflicts, unresolved issues, evidence, and return node. Use `status: valid` only with `accepted`; reject any identity mismatch or handoff not ready for development. Do not modify experience artifacts.
|
|
25
|
+
|
|
26
|
+
## Architecture Decision Test
|
|
27
|
+
|
|
28
|
+
Record a decision only when it is costly to reverse, surprising without context, and based on a real tradeoff. Mark platform, paid service, security/privacy boundary, irreversible data/infrastructure, material cost or schedule, and product-deviation decisions as human-gated.
|
|
29
|
+
|
|
30
|
+
## Naming
|
|
31
|
+
|
|
32
|
+
Use product-manual terms. When technical naming must differ, record `business_term`, `technical_name`, and reason.
|