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,44 @@
|
|
|
1
|
+
# AI 研发交付说明
|
|
2
|
+
|
|
3
|
+
## 双仓工作区强制规则
|
|
4
|
+
|
|
5
|
+
- `.workflow/config/workspace.yaml` 所在目录是工作流 Git 仓库;只允许从其中 `code_repository.path` 解析唯一代码 Git 仓库。
|
|
6
|
+
- 工作流仓库跟踪 `.workflow/`、项目级 Skills、共享任务分片、checkpoint、审批和 Manifest,并精确忽略代码子目录。代码仓库独立跟踪源码、自动化测试、代码分支和代码 Tag。
|
|
7
|
+
- 所有 `line/*`、`version/*`、`work/*`、`release/*`、`release-fix/*`、`hotfix/*`、代码 `main` 和 `version-ready/*` 操作只能在代码仓库执行。`workflow-ready/*` 只能在工作流仓库创建。
|
|
8
|
+
- 本机 runtime 不存在且下一动作属于 `agent` 时,由 `recover` 从 `.workflow/control/tasks/` 和最新共享 checkpoint 恢复;`user/external` 等待态保持只读,收到输入后由 `activate` 原子恢复并转交。若本机与共享 revision 或语义 checksum 冲突则停止。只有显式 `task-state.mjs publish --task-id <id> --push` 才允许推送共享状态。
|
|
9
|
+
- 代码引用必须包含 `repo_id`、`code_commit`、可选 `code_tag`、`source_path` 和 SHA-256。版本发布身份必须同时核验代码 Tag、工作流 Tag 和 Manifest checksum。
|
|
10
|
+
- 根 `.gitattributes` 必须保持安装器写入的工作流 `eol=lf` 规则,避免跨平台 checkout 改变受控物料字节和 checksum;该规则不得扩展到嵌套代码仓。
|
|
11
|
+
|
|
12
|
+
开始工作前:
|
|
13
|
+
|
|
14
|
+
1. 只使用安装在 `.agents/skills/` 下的项目级 Skill,不得在全局安装或更新本工作流。
|
|
15
|
+
1.1 用户说“开始”“继续”“下一步”“现在做到哪了”、直接描述需求或明确提出发布,都属于有效自然语言入口。AI 必须自主规划并调用所需 Skill 和项目内 CLI,不得要求用户输入 Skill 名称或执行工作流命令;只向用户询问业务事实、物料确认、人工 Gate 或外部副作用授权。
|
|
16
|
+
2. 首次进入项目或重启会话时,先使用 `$ai-delivery-bootstrap`,并在项目根运行 `node .workflow/tools/bootstrap/bootstrap.mjs inspect` 只读识别状态。空项目进入需求发现,存量代码项目生成草稿上下文,中断任务进入 checkpoint 恢复,不一致状态停止并报告。
|
|
17
|
+
2.1 已完成 `init` 且没有正式交付物和 task shard 时,先运行项目内 `bootstrap` 入口生成上下文,再以 `INIT-0001` 建立 `TASK-INIT-0001-00`(Bootstrap)和依赖它的 `TASK-INIT-0001-01`(产品发现)。首次业务问题之前必须已有合法任务身份;不得从聊天记忆临时编造下一任务。
|
|
18
|
+
3. 修改代码或交付物前,先读取 Bootstrap 返回的 `runtime.next_action_owner`。仅当责任方为 `agent` 时,运行 `$ai-delivery-checkpoint-task recover --iteration-id <iteration-id>`,只继续返回的 `recommended_task_id`,并通过 `task-state.mjs activate` 激活任务。责任方为 `user` 时,只原样询问记录的单个业务问题,禁止 recover、activate、checkpoint、正式状态、物料或 Git 写入;责任方为 `external` 时,只报告等待条件。收到所需输入后,必须通过 `activate` 同时提供 `--next-action-owner agent` 和新的幂等 `--next-action`,由 CLI 在需要时从共享 shard 原子恢复本机 runtime 并转交责任方。
|
|
19
|
+
4. 任务、checkpoint、恢复状态、活动任务标记和版本归档只能由 `.agents/skills/ai-delivery-checkpoint-task/scripts/task-state.mjs` 修改。
|
|
20
|
+
5. 正式流程、物料和 Gate 状态只能由 `node .workflow/tools/state/state.mjs ...` 修改。禁止直接编辑 `.workflow/delivery/workflow-state.yaml`、`.workflow/delivery/artifact-registry.yaml` 和 `.workflow/delivery/state-events.jsonl`。
|
|
21
|
+
5.1 研发 scope 使用 `iteration-started`,发布 scope 仅在用户明确发布后使用 `release-started`;两者可并行且不得互相重置。节点必须满足流程图前置条件、成功证据和当前尝试的强制 Gate。
|
|
22
|
+
6. 状态脚本失败时必须停止并修复输入、revision 冲突或脚本问题,不得手工修改受控文件绕过失败。
|
|
23
|
+
7. 每次状态变更前运行 `inspect` 获取当前 revision;每次节点交接、版本收尾、生产审批、部署和发布归档前运行 `verify`。
|
|
24
|
+
8. 读取 `.workflow/standards/index.yaml`,只加载适用于当前任务且状态为 `approved` 的规范。
|
|
25
|
+
9. 应用 `STD-DOC-LANG-001`:面向人阅读的交付文档默认使用简体中文;技术标识、Schema、命令、路径、协议值和引用原文保持不变。
|
|
26
|
+
10. 应用 `STD-ARTIFACT-PATH-001`:研发流程文档写入 `.workflow/`;计划版本产物写入 `.workflow/iterations/<version-id>/<node-id>/`;独立发布产物写入 `.workflow/releases/<release-id>/<release-node>/`;不得忽略整个 `.workflow/`。
|
|
27
|
+
11. 应用 `STD-TEST-LOCATION-001`:应用测试使用代码仓库既有框架和原生测试位置,不写入 `.workflow/`;临时测试输出按代码仓库规则忽略,不得登记为正式交付物。
|
|
28
|
+
12. 每个交付物记录实际应用的规范 ID 和版本。已登记物料发生变更时创建新 ID,并使用 `--supersedes` 关联旧版本,不得覆盖旧版本。
|
|
29
|
+
13. 一个任务组开始前,将全部已知任务按 `sequence` 和 `depends_on` 登记为 `queued`。每个任务用 `next_action_owner: agent | user | external` 明确下一动作责任方;重复 evidence 必须保持唯一。激活推荐任务后,在有意义的里程碑写入 checkpoint,并在交还控制权前结束当前任务状态。
|
|
30
|
+
13.1 `task-state.mjs` 会从权威 `.workflow/config/workspace.yaml` 解析嵌套代码仓并写入 `code_branch`、`code_commit`;不得从安装清单副本推断代码路径,也不得把工作流分支或工作流提交作为代码身份。`blockers` 只保存当前未解决阻塞,解除阻塞后必须通过脚本切换状态并清空当前列表。
|
|
31
|
+
14. Hook 日志只用于脱敏审计和心跳,不得作为任务完成、Gate 批准或正式交付物的替代品,也不得修改正式或 runtime 状态。
|
|
32
|
+
15. 研发流程在 `12-version-closeout` 结束。登记 `release-ready` 收尾物料、完成节点并验证不可变身份后,必须通过正式状态 CLI 的 `version-closed` 事件更新累计研发版本,再归档任务上下文;不得直接编辑状态文件,也不得因为版本完成而自动发布。
|
|
33
|
+
16. 后续计划版本必须从最新 `line/<product-id>` 开始;`main` 始终表示当前生产验证成功历史。
|
|
34
|
+
17. 只有用户明确提出发布并选择截止版本时,才使用 `$ai-delivery-orchestrate-release`。系统必须计算从当前生产版本到目标版本的连续闭包。
|
|
35
|
+
18. 同版本重新发布必须创建新 release ID,并重新执行环境快照、验证和生产审批。R09 只向 R10 交付已验证生产身份;R10 登记 `released` 归档物料并完成节点后,必须通过 `release-archived` 事件更新生产版本和 release ID。历史版本恢复通过旧镜像 digest,不创建 rollback 分支。
|
|
36
|
+
19. 不得绕过流程 Gate、修改已批准基线、推断缺失批准,或在恢复后自动重放生产动作。
|
|
37
|
+
20. 版本任务归档的权威位置是 `.workflow/control/archives/versions/<version-id>/`。归档完成后不得把对应任务或 checkpoint 留在活动集合,普通恢复不得加载归档详情。
|
|
38
|
+
21. 需要人工浏览工作流和物料时,在项目根目录运行 `.\.workflow\tools\viewer\start.cmd`(Windows)或 `sh ./.workflow/tools/viewer/start.sh`(macOS/Linux)。查看器是可删除、可由 `init` 重装的只读工具,其缺失不影响工作流运行。
|
|
39
|
+
## 项目级工作流自进化
|
|
40
|
+
|
|
41
|
+
- 用户明确提出工作流意见或建议时,使用 `$ai-delivery-evolve-workflow` 记录脱敏反馈并返回反馈 ID;普通讨论和 AI 推测不得冒充用户反馈。
|
|
42
|
+
- `.workflow/evolution/`、`.workflow/extensions/` 的治理状态只能由 `node .workflow/tools/evolution/evolve.mjs ...` 修改。不得直接编辑索引或以放入文件代替注册、校验、批准和启用。
|
|
43
|
+
- 自进化只在任务完成、版本收尾或显式 review 安全点评估,并从下一任务或下一版本生效。它不得修改受管 Skill、正式状态 CLI、Hook、人工 Gate 或已批准项目规范。
|
|
44
|
+
- 风险优先级为核心安全与 Gate、已批准规范、人工批准扩展、自动 trial 扩展。中高风险、Node 脚本和 `block` 必须绑定扩展版本 checksum 的明确人工批准。
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Formal State Contract
|
|
2
|
+
|
|
3
|
+
## Authority
|
|
4
|
+
|
|
5
|
+
Portable active task and checkpoint authority is sharded by task under `.workflow/control/tasks/` and `.workflow/control/checkpoints/`. Closed versions move to `.workflow/control/archives/versions/<version-id>/`; normal recovery scans only active collections and explicit audit reads the archive. Local `.workflow/delivery/runtime/` contains only non-portable execution state and optional detailed archive copies.
|
|
6
|
+
|
|
7
|
+
Use `.workflow/tools/state/state.mjs` as the only writer for:
|
|
8
|
+
|
|
9
|
+
- `.workflow/delivery/workflow-state.yaml`;
|
|
10
|
+
- `.workflow/delivery/artifact-registry.yaml`;
|
|
11
|
+
- `.workflow/delivery/state-events.jsonl`.
|
|
12
|
+
|
|
13
|
+
Use `.agents/skills/ai-delivery-checkpoint-task/scripts/task-state.mjs` as the only writer for runtime task snapshots, checkpoints, recovery state, and version archives. Hooks may append their own redacted lifecycle records but may not infer task, artifact, Gate, node, candidate, release, or deployment completion.
|
|
14
|
+
|
|
15
|
+
Do not edit controlled files directly, including after a command error. Inspect, repair the cause, and rerun with the newly observed revision.
|
|
16
|
+
|
|
17
|
+
## Commands
|
|
18
|
+
|
|
19
|
+
Run from the project root:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
node .workflow/tools/state/state.mjs inspect
|
|
23
|
+
node .workflow/tools/state/state.mjs verify
|
|
24
|
+
node .workflow/tools/state/state.mjs rebuild
|
|
25
|
+
node .workflow/tools/state/state.mjs artifact register --expected-revision <revision> --id <artifact-id> --artifact-type <type> --path <.workflow/path> --node <node-id> --status <status> --version <version> --producer-skill <skill>
|
|
26
|
+
node .workflow/tools/state/state.mjs artifact register --expected-revision <revision> --id <new-id> --path <.workflow/path> --node <node-id> --status <status> --supersedes <old-id>
|
|
27
|
+
node .workflow/tools/state/state.mjs artifact status --expected-revision <revision> --id <artifact-id> --status <status> --evidence <reference>
|
|
28
|
+
node .workflow/tools/state/state.mjs transition --expected-revision <revision> --event node-started --iteration-id <iteration-id> --node <node-id>
|
|
29
|
+
node .workflow/tools/state/state.mjs transition --expected-revision <revision> --event release-started --iteration-id <release-id>
|
|
30
|
+
node .workflow/tools/state/state.mjs transition --expected-revision <revision> --event node-completed --iteration-id <iteration-id> --node <node-id> --evidence <artifact-id>
|
|
31
|
+
node .workflow/tools/state/state.mjs transition --expected-revision <revision> --event version-closed --iteration-id <version-id> --artifact-id <closeout-artifact-id>
|
|
32
|
+
node .workflow/tools/state/state.mjs transition --expected-revision <revision> --event release-archived --iteration-id <release-id> --artifact-id <archive-artifact-id> --production-version-id <version-id>
|
|
33
|
+
node .workflow/tools/state/state.mjs gate request --expected-revision <revision> --gate-id <gate-id> --iteration-id <iteration-id> --node <node-id> --evidence <artifact-id>
|
|
34
|
+
node .workflow/tools/state/state.mjs gate decide --expected-revision <revision> --gate-id <gate-id> --decision <decision> --actor <actor-id> --rationale <text> --evidence <artifact-id>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Repeat `--evidence` for multiple evidence IDs. Use `iteration-started` only for development and `release-started` only after explicit user release intent. Other events are `node-started`, `node-completed`, `node-blocked`, `node-unblocked`, `candidate-selected`, `release-selected`, `version-closed`, and `release-archived`.
|
|
38
|
+
|
|
39
|
+
`workflow-state.yaml` schema 2 owns independent `development_state` and `release_state` objects. Each has its own scope ID, revision, node collections, Gate collections, node attempts, and selected identities. The top-level revision remains the serialized audit-stream revision. A release may advance while later cumulative development is active; neither scope resets the other.
|
|
40
|
+
|
|
41
|
+
`version-closed` requires completed `12-version-closeout` and a registered `release-ready` artifact from that node; it is the only writer of `latest_line_version_id`. `release-archived` requires completed `R10-release-archive`, a registered `released` artifact from that node, and `--production-version-id`; it is the only writer of `production_version_id` and `production_release_id`. These identities live in the audited `workflow-state.yaml`; descriptive or legacy compatibility fields in `project.yaml` are not authoritative.
|
|
42
|
+
|
|
43
|
+
New development work uses nodes `00-bootstrap` through `12-version-closeout`; independent release work uses `R00-release-request` through `R10-release-archive`. Legacy nodes `12-release-preparation` through `16-version-archive` are accepted only when registering or reading historical artifacts; transition and Gate commands reject them as read-only. Use artifact statuses `release-ready` for a closed unpublished version and `included-in-release` when a specific release has consumed that immutable version manifest.
|
|
44
|
+
|
|
45
|
+
## Mutation Order
|
|
46
|
+
|
|
47
|
+
1. Recover and activate the runtime task.
|
|
48
|
+
2. Write and validate the artifact in `.workflow/`.
|
|
49
|
+
3. Inspect formal state and capture both revisions.
|
|
50
|
+
4. Register the artifact or change its status.
|
|
51
|
+
5. Request and decide every required Gate with explicit actor, rationale, and registered evidence.
|
|
52
|
+
6. Transition the node only after graph prerequisites are satisfied by current-scope completion or successful registered baseline evidence, completion evidence has an allowed success status, mandatory Gates for the current node attempt pass, and no Gate remains pending.
|
|
53
|
+
7. Run `verify`.
|
|
54
|
+
8. Checkpoint or finish the runtime task with the resulting IDs and revisions.
|
|
55
|
+
|
|
56
|
+
Every mutation uses optimistic concurrency through `--expected-revision`. A revision conflict means another writer won; inspect and reconcile before choosing a new command.
|
|
57
|
+
|
|
58
|
+
## Integrity
|
|
59
|
+
|
|
60
|
+
The CLI uses one shared formal-state lock, atomic replacement, SHA-256 artifact checksums, and append-style JSONL audit events. The shared lock serializes both revision streams so concurrent workflow and registry commands cannot overwrite each other's audit append. `verify` checks schemas, revisions, both scope identities, node-state exclusivity, artifact identity and path uniqueness, `.workflow/` path containment, artifact checksums, audit revision continuity, and the last audit checksum for each formal stream.
|
|
61
|
+
|
|
62
|
+
Formal approval is never inferred. A Gate decision requires an explicit actor, rationale, and registered evidence. A Hook event, chat message, file timestamp, UI state, or successful command alone is not approval.
|
|
63
|
+
|
|
64
|
+
Version completion never implies release intent. Registering a `release-ready` artifact or completing `12-version-closeout` must not create an R-node transition. `R00-release-request` requires successful evidence registered on R00 with `artifact_type: release-request`. Mandatory Gate IDs are `GATE-A`, `GATE-B`, `UX-LF`, `UX-VS`, `UX-UI`, and `PRODUCTION-APPROVAL`. Only a genuinely non-visual experience scope may use `not-required` for a UX Gate; the decision must retain its experience evidence and add successful `02-product-definition` evidence whose artifact type contains `terminal` (the canonical type is `product-terminal-scope`). Gate A, Gate B, and production approval require `approved`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Workflow Model
|
|
2
|
+
|
|
3
|
+
## Installation And State
|
|
4
|
+
|
|
5
|
+
Install all delivery Skills under `.agents/skills/`, keep Hook configuration in `.codex/config.toml`, and write durable workflow documents under `.workflow/`. Formal state is mutated only by `.workflow/tools/state/state.mjs`; runtime tasks are mutated only by `task-state.mjs`.
|
|
6
|
+
|
|
7
|
+
Formal state schema 2 separates `development_state` from `release_state`. The two scopes own independent IDs, revisions, nodes, Gates, and selections while sharing only the serialized audit revision and cumulative/production identities. Start them with `iteration-started` and `release-started` respectively. Release activity never prevents the next cumulative development version from starting.
|
|
8
|
+
|
|
9
|
+
## Development State Machine
|
|
10
|
+
|
|
11
|
+
`00-bootstrap -> 01-product-discovery -> 02-product-definition -> 03-architecture-initial -> 04-experience-design(UX-LF -> UX-VS -> UX-UI) -> 02-product-definition(prototype-reconciliation) -> 05-architecture-reconcile -> 07-iteration-planning -> 08-test-design -> 09-development -> 10-change-review -> 11-candidate-verification -> 12-version-closeout -> release-ready`
|
|
12
|
+
|
|
13
|
+
Start `06-platform-preparation` after initial architecture and join it before candidate verification. Closeout creates an immutable version-ready Tag, advances `line/<product-id>`, archives closed version tasks, and stops. It never changes `main` or starts a release.
|
|
14
|
+
|
|
15
|
+
The state CLI enforces graph prerequisites. A later iteration may satisfy an unaffected prerequisite with a registered successful baseline artifact instead of replaying the node. Reopening a completed node requires an explicit reason and creates a new node attempt, so prior Gate decisions cannot silently approve revised output.
|
|
16
|
+
|
|
17
|
+
## Independent Release State Machine
|
|
18
|
+
|
|
19
|
+
`R00-release-request -> R01-version-selection -> R02-release-eligibility -> R03-material-aggregation -> R04-release-candidate -> R05-release-verification -> R06-release-preparation -> R07-production-approval -> R08-production-deployment -> R09-production-verification -> R10-release-archive`
|
|
20
|
+
|
|
21
|
+
Only explicit user release intent may create R00. The user selects a cumulative target version. The system computes the continuous range after current production through that target and blocks gaps, stale candidates, backward targets, or divergence on any adjacent code or workflow commit edge. Same-version redeploy is permitted with a new release ID and fresh snapshots, verification, and approval.
|
|
22
|
+
|
|
23
|
+
## Gates And Transition Rules
|
|
24
|
+
|
|
25
|
+
Retain discovery Gate A, product Gate B, major architecture decisions, prototype tool selection, mandatory human `UX-LF`/`UX-VS`/`UX-UI`, standard governance, and exact-package production approval. Product reconciliation after all prototype candidates must be `valid/aligned`; intermediate handoffs use downstream contract validation.
|
|
26
|
+
|
|
27
|
+
Advance only from immutable referenced inputs. Mark dependents stale after upstream change. Preserve failed candidates, releases, Tags, and deployment records. Treat image rollback as deployment state, never Git state. On restart reconcile workspace, Git, artifacts, and external systems; never automatically replay production actions.
|
|
28
|
+
|
|
29
|
+
Legacy nodes `12-release-preparation` through `16-version-archive` remain readable only for historical audit compatibility and are not used for new work.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-orchestrate-release
|
|
3
|
+
description: Orchestrate a production release independently from iteration delivery by recording an explicit user request, selecting a release-ready cumulative target version, routing release eligibility, material assembly, verification, preparation, human approval, deployment, production verification, and archive. Use only when the user explicitly asks to publish, release, deploy completed versions, or resume an existing R00-R10 release.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Orchestrate Independent Release
|
|
7
|
+
|
|
8
|
+
Coordinate `R00` through `R10`. Never infer release intent from completed versions or start production work from normal iteration orchestration.
|
|
9
|
+
|
|
10
|
+
## Start From Explicit Intent
|
|
11
|
+
|
|
12
|
+
1. Inspect formal state and list eligible cumulative target versions with production and development-line context.
|
|
13
|
+
2. Require the user-selected target version. Record `release_id`, actor, rationale, target environment, current production version, and target version in `.workflow/releases/<release-id>/R00-release-request/`; register it on R00 with successful status and `artifact_type: release-request` before starting the node.
|
|
14
|
+
3. Run the formal `release-started` transition for that release ID. It initializes only `release_state` and must leave an active or completed `development_state` unchanged.
|
|
15
|
+
4. Permit `same-version-redeploy` when target equals production, but create a new release ID and require fresh environment capture, verification, and production approval.
|
|
16
|
+
5. Reject a target older than production. Route historical restoration to immutable-image rollback rather than release or Git history changes.
|
|
17
|
+
|
|
18
|
+
## Route Release Nodes
|
|
19
|
+
|
|
20
|
+
1. `R01-version-selection`: invoke `$ai-delivery-assemble-release` to calculate and freeze the version selection.
|
|
21
|
+
2. `R02-release-eligibility`: require continuous lineage, immutable tags, eligible artifacts, every adjacent code and workflow ancestry edge, available images, compatible migrations/configuration, and no stale candidate.
|
|
22
|
+
3. `R03-material-aggregation`: aggregate checksummed requirements, architecture, prototypes, code, images, configuration, migrations, tests, risks, operations, and rollback materials.
|
|
23
|
+
4. `R04-release-candidate`: create `release/<release-id>-<slug>` from the exact target `version-ready` tag and freeze a release candidate.
|
|
24
|
+
5. `R05-release-verification`: invoke `$ai-delivery-verify-candidate` with `scope: release`.
|
|
25
|
+
6. `R06-release-preparation`: invoke `$ai-delivery-prepare-release` for the selected version closure.
|
|
26
|
+
7. `R07-production-approval`: request mandatory Gate `PRODUCTION-APPROVAL`, bound to the exact package checksum and target environment. It cannot be waived with `not-required`.
|
|
27
|
+
8. `R08-production-deployment`: invoke `$ai-delivery-deploy-production` only after approval.
|
|
28
|
+
9. `R09-production-verification`: invoke `$ai-delivery-verify-production` and decide `released` or rollback/recovery.
|
|
29
|
+
10. `R10-release-archive`: register the final archive artifact as `released`, complete R10 with that artifact as evidence, tag the released commit, then run `state.mjs transition --expected-revision <revision> --event release-archived --iteration-id <release-id> --artifact-id <archive-artifact-id> --production-version-id <version-id>`. Verify the formal state before compacting release task context. Never edit production identity fields directly.
|
|
30
|
+
|
|
31
|
+
Run formal `verify` at every handoff. Preserve failed releases and evidence. Stop instead of replaying a production action after recovery.
|
|
32
|
+
|
|
33
|
+
Read [release-workflow-contract.md](references/release-workflow-contract.md) and use the request and selection assets.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
release_id: "REL-0001"
|
|
3
|
+
product_id: "PRODUCT-001"
|
|
4
|
+
requested_by: "human:<id>"
|
|
5
|
+
rationale: "<release reason>"
|
|
6
|
+
target_environment: "production"
|
|
7
|
+
current_production_version: "VER-0002"
|
|
8
|
+
target_version: "VER-0005"
|
|
9
|
+
requested_at: "<RFC3339>"
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
release_id: "REL-0001"
|
|
3
|
+
mode: "incremental"
|
|
4
|
+
current_production_version: "VER-0002"
|
|
5
|
+
target_version: "VER-0005"
|
|
6
|
+
newly_included_versions:
|
|
7
|
+
- "VER-0003"
|
|
8
|
+
- "VER-0004"
|
|
9
|
+
- "VER-0005"
|
|
10
|
+
dependency_closure:
|
|
11
|
+
- "VER-0001"
|
|
12
|
+
- "VER-0002"
|
|
13
|
+
- "VER-0003"
|
|
14
|
+
- "VER-0004"
|
|
15
|
+
- "VER-0005"
|
|
16
|
+
selection_frozen_at: "<RFC3339>"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Independent Release Workflow Contract
|
|
2
|
+
|
|
3
|
+
The development state machine ends at `12-version-closeout`. Only an explicit user request creates `R00-release-request`.
|
|
4
|
+
|
|
5
|
+
Each release owns `.workflow/releases/<release-id>/R00-release-request/` through `R10-release-archive/`. Every node consumes registered immutable inputs and registers versioned outputs. Release IDs are unique even when the target commit and image digest were previously deployed.
|
|
6
|
+
|
|
7
|
+
For an incremental release, `newly_included_versions` is the ordered open interval after current production through the selected target. `dependency_closure` is the complete cumulative lineage from the first version through the target. For a same-version redeploy, the newly included range is empty while the target version remains the immutable provenance source.
|
|
8
|
+
|
|
9
|
+
Only `R07-production-approval` is the production human Gate. Any package, environment, configuration, migration, image, or target change invalidates it. Rollback restores the previous compatible image digest and never creates or moves a Git branch.
|
|
10
|
+
|
|
11
|
+
`R09-production-verification` supplies the verified deployed version and immutable evidence but does not update the authoritative production identity. After a `released` archive artifact is registered and `R10-release-archive` is completed, run the formal `release-archived` transition. This event is the only writer of `workflow-state.yaml.production_version_id` and `production_release_id`, including same-version redeploys with a new release ID.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-plan-iteration
|
|
3
|
+
description: Plan an agile AI delivery iteration by prioritizing business outcomes and sequencing independently verifiable vertical slices. Use after architecture reconciliation, when starting or replanning an iteration, after test or production feedback, or when scope, dependencies, risks, or release priorities change.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Plan Iteration
|
|
7
|
+
|
|
8
|
+
Plan business capability increments. Do not pre-split work into fixed frontend, backend, database, or human-role silos.
|
|
9
|
+
|
|
10
|
+
## Artifact Location
|
|
11
|
+
|
|
12
|
+
Write every workflow document produced by this skill under project `.workflow/`, defaulting version-scoped planning outputs to `.workflow/iterations/<iteration-id>/<node-id>/`. 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 approved product, final architecture, and experience baselines; exact `ui-handoff.yaml`; aligned `product-prototype-reconciliation.yaml`; experience/requirement change sets; interaction, visual, component, and page-component contracts; the confirmed prototype set and accepted architecture receipts; current backlog; production state; applicable standards; and unresolved risks. Require `development_readiness: ready-for-development` and reject stale changes, missing receipts, non-passing decisions, or identity/checksum mismatches. Distinguish product priority from technical execution order.
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
1. Build or update the product backlog from stable feature, story, and acceptance IDs.
|
|
27
|
+
2. Rank items by business value, urgency, user impact, risk reduction, and learning value.
|
|
28
|
+
3. Map feature dependencies and architecture constraints.
|
|
29
|
+
4. Slice work vertically so each slice produces independently testable user or operational value.
|
|
30
|
+
5. Define MVP or planned-version scope, cumulative version order, allowed concurrency, and risk probes. Do not assume any completed version will be published immediately.
|
|
31
|
+
6. Prefer high-value, high-risk, and early-feedback slices while respecting prerequisites.
|
|
32
|
+
7. Define entry criteria, completion criteria, and measurable iteration outcomes.
|
|
33
|
+
8. Attach the exact prototype-set identity/checksum, relevant member identity/revision/checksum, management/review/impact checksums, and stable page/canvas/file/element IDs to every UI-bearing slice in `slice-prototype-traceability.csv`.
|
|
34
|
+
9. Map every actionable `added`, `modified`, `retired`, or `superseded` row to a selected slice in `slice-experience-change-traceability.csv`. Preserve its phase status and implementation/test impact; do not schedule `proposed`, `blocked`, or `stale` changes.
|
|
35
|
+
10. Record deviations when technical sequence delays a higher business priority; request human approval only if release scope or an approved product decision changes.
|
|
36
|
+
11. Replan after verified feedback rather than preserving stale dates or task lists.
|
|
37
|
+
|
|
38
|
+
## Outputs
|
|
39
|
+
|
|
40
|
+
- `backlog.csv` with business priority and rationale;
|
|
41
|
+
- `vertical-slices.csv`;
|
|
42
|
+
- `slice-dependencies.csv`;
|
|
43
|
+
- cumulative planned-version roadmap and explicit dependency order;
|
|
44
|
+
- risk probes and assumptions;
|
|
45
|
+
- definition of ready and definition of done;
|
|
46
|
+
- product-to-iteration traceability;
|
|
47
|
+
- `slice-prototype-traceability.csv` for UI-bearing work;
|
|
48
|
+
- `slice-experience-change-traceability.csv` showing which added/modified/retired experience changes enter each slice;
|
|
49
|
+
- replanning rules and current plan baseline.
|
|
50
|
+
|
|
51
|
+
Do not output component-level technical tasks. The development orchestrator derives those just in time from a selected slice and the latest architecture.
|
|
52
|
+
|
|
53
|
+
Read [planning-contract.md](references/planning-contract.md) and use `assets/planning-template/` for a new iteration.
|
|
54
|
+
|
|
55
|
+
## Handoff
|
|
56
|
+
|
|
57
|
+
Send the next selected vertical slice and its approved sources to `$ai-delivery-design-tests`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
backlog_id,source_type,source_id,title,business_priority,value,urgency,risk_reduction,learning_value,release_scope,status,rationale
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
predecessor_slice_id,successor_slice_id,dependency_type,rationale
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
slice_id,experience_change_id,change_type,phase_status,implementation_impact,test_impact
|
package/skills/ai-delivery-plan-iteration/assets/planning-template/slice-prototype-traceability.csv
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
slice_id,prototype_artifact_id,prototype_version,source_revision,prototype_file_id,canvas_id,page_id,prototype_element_id
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
slice_id,source_type,source_id
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
slice_id,iteration_id,title,user_or_operational_outcome,entry_criteria,done_criteria,risk,sequence,status
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Planning Contract
|
|
2
|
+
|
|
3
|
+
## Backlog
|
|
4
|
+
|
|
5
|
+
`backlog.csv`:
|
|
6
|
+
|
|
7
|
+
`backlog_id,source_type,source_id,title,business_priority,value,urgency,risk_reduction,learning_value,release_scope,status,rationale`
|
|
8
|
+
|
|
9
|
+
## Vertical Slices
|
|
10
|
+
|
|
11
|
+
`vertical-slices.csv`:
|
|
12
|
+
|
|
13
|
+
`slice_id,iteration_id,title,user_or_operational_outcome,entry_criteria,done_criteria,risk,sequence,status`
|
|
14
|
+
|
|
15
|
+
`slice-sources.csv`:
|
|
16
|
+
|
|
17
|
+
`slice_id,source_type,source_id`
|
|
18
|
+
|
|
19
|
+
`slice-dependencies.csv`:
|
|
20
|
+
|
|
21
|
+
`predecessor_slice_id,successor_slice_id,dependency_type,rationale`
|
|
22
|
+
|
|
23
|
+
Use dependency types `blocks`, `enables`, and `validates`.
|
|
24
|
+
|
|
25
|
+
`slice-prototype-traceability.csv`:
|
|
26
|
+
|
|
27
|
+
`slice_id,prototype_artifact_id,prototype_version,source_revision,prototype_file_id,canvas_id,page_id,prototype_element_id`
|
|
28
|
+
|
|
29
|
+
`slice-experience-change-traceability.csv`:
|
|
30
|
+
|
|
31
|
+
`slice_id,experience_change_id,change_type,phase_status,implementation_impact,test_impact`
|
|
32
|
+
|
|
33
|
+
## Rules
|
|
34
|
+
|
|
35
|
+
- Preserve business priority from product sources.
|
|
36
|
+
- Use technical constraints to choose sequence, not to silently redefine priority.
|
|
37
|
+
- Prefer thin end-to-end behavior over horizontal frontend/backend layers.
|
|
38
|
+
- Pin the ready UI handoff, aligned product reconciliation, experience-change set, confirmed prototype-set ID/version/checksum and every relevant member `prototype_artifact_id`, version, `source_revision`, `review_bundle_checksum`, tool-selection checksum, page/canvas/file catalog checksums, review/adjustment checksums, and impact-assessment checksum in the iteration plan. Map UI-bearing slices to individual experience-change and page/canvas/file/element rows without delimiter-packed CSV fields. Schedule only `ready-for-development` changes.
|
|
39
|
+
- Describe affected component scope only at planning time; defer technical tasks and roles to development.
|
|
40
|
+
- Replan from verified evidence and record scope-impact decisions.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-prepare-platform
|
|
3
|
+
description: Prepare the delivery and operations platform required to build, test, observe, release, and roll back an application. Use after initial architecture, when environments or CI/CD are missing, when infrastructure or configuration changes, or when candidate verification requires a reproducible test environment.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prepare Delivery Platform
|
|
7
|
+
|
|
8
|
+
Run as a parallel stream after initial architecture and join application development before independent candidate verification.
|
|
9
|
+
|
|
10
|
+
## Artifact Location
|
|
11
|
+
|
|
12
|
+
Write every platform plan, configuration inventory, environment ledger, readiness report, and workflow document under project `.workflow/`, defaulting version-scoped outputs to `.workflow/iterations/<iteration-id>/<node-id>/`. Infrastructure source and executable configuration remain in architecture-defined repository locations and are referenced by path, version, and checksum.
|
|
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 initial and final architecture as available, deployment topology, stack manifest, quality targets, security standards, current environment baselines, and iteration scope. Treat cloud, paid-service, privacy, and hard-to-reverse infrastructure changes as major architecture decisions.
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
1. Determine actual platform capabilities required by architecture and the current iteration; do not create irrelevant infrastructure.
|
|
27
|
+
2. Implement reproducible build and artifact management, CI/CD, environment definitions, configuration and secret references, infrastructure as code, migrations, health checks, observability, backups, and rollback automation.
|
|
28
|
+
3. Build test and staging environments from versioned definitions.
|
|
29
|
+
4. Validate migration ordering, backward compatibility, old-image rollback compatibility, configuration safety, and environment parity.
|
|
30
|
+
5. Exercise deployment and rollback outside production.
|
|
31
|
+
6. Record environment-specific differences without using Git branches to represent environments.
|
|
32
|
+
|
|
33
|
+
## Outputs
|
|
34
|
+
|
|
35
|
+
- build and CI/CD definitions;
|
|
36
|
+
- immutable artifact and registry conventions;
|
|
37
|
+
- IaC and environment baselines;
|
|
38
|
+
- configuration key and secret-reference catalogs without secret values;
|
|
39
|
+
- migration and rollback procedures;
|
|
40
|
+
- logs, metrics, traces, dashboards, alerts, health checks, and SLO support;
|
|
41
|
+
- backup and recovery evidence;
|
|
42
|
+
- reproducible test-environment evidence;
|
|
43
|
+
- platform change and risk records.
|
|
44
|
+
|
|
45
|
+
Read [platform-contract.md](references/platform-contract.md) and use `assets/platform-template/` for operational catalogs.
|
|
46
|
+
|
|
47
|
+
## Handoff
|
|
48
|
+
|
|
49
|
+
Candidate verification may start only when the application candidate and reproducible test environment are both available. Production deployment later consumes the frozen platform items in the approved release package.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
environment_id,release_or_candidate_id,commit_sha,artifact_set_ref,configuration_baseline,migration_set_ref,iac_ref,deployed_at,verification_status
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Platform Contract
|
|
2
|
+
|
|
3
|
+
## Required Capabilities
|
|
4
|
+
|
|
5
|
+
Create only capabilities required by architecture and iteration scope. Consider build, registry, CI/CD, environments, IaC, configuration, secret references, database migrations, health checks, logs, metrics, traces, dashboards, alerts, backups, recovery, and rollback.
|
|
6
|
+
|
|
7
|
+
## Environment Ledger
|
|
8
|
+
|
|
9
|
+
Record environment ID, deployed version, commit, artifact-set reference, configuration baseline hash, migration-set reference, IaC state or plan, deployment timestamp, and verification state. Store artifact and migration membership in separate association files. Never use a branch name as environment identity.
|
|
10
|
+
|
|
11
|
+
## Safety Rules
|
|
12
|
+
|
|
13
|
+
- Never store secret values in delivery artifacts.
|
|
14
|
+
- Promote the same immutable artifact between environments.
|
|
15
|
+
- Exercise deployment and rollback before production.
|
|
16
|
+
- Prove old-image compatibility with post-release data, configuration, and infrastructure.
|
|
17
|
+
- Prefer backward-compatible expand/contract schema changes.
|
|
18
|
+
- Record production differences from test and staging environments.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-prepare-release
|
|
3
|
+
description: Prepare an independently verified multi-version or same-version release candidate for production by freezing its complete delivery inventory and proving rollback compatibility. Use only at R06 after explicit release orchestration and R05 release verification pass; do not use for normal iteration completion.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Prepare Release
|
|
7
|
+
|
|
8
|
+
Create an auditable release package. Do not deploy production.
|
|
9
|
+
|
|
10
|
+
## Artifact Location
|
|
11
|
+
|
|
12
|
+
Write release manifests, change inventories, rollback documents, and workflow records to `.workflow/releases/<release-id>/R06-release-preparation/`. Images, binaries, and other non-document release artifacts remain in their artifact stores and are referenced by immutable digest.
|
|
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 explicit release request, frozen version selection, passing release candidate, prior production release, all included version manifests, changed baselines, verification evidence, platform artifacts, Git state, and environment baselines. Acquire the serialized release transition through `$ai-delivery-manage-git`.
|
|
23
|
+
|
|
24
|
+
## Freeze The Candidate
|
|
25
|
+
|
|
26
|
+
1. Confirm the release branch was created from the selected target's exact immutable `version-ready` tag and that the target descends from production.
|
|
27
|
+
2. Re-run impacted and final release gates after any release-fix candidate.
|
|
28
|
+
3. Freeze the exact release ID, target version, version closure, commit, Tag, application artifact digests, configuration baseline, migrations, IaC plan, and standards baseline.
|
|
29
|
+
4. Never merge additional code after final regression. Any material change creates a new candidate and repeats affected verification.
|
|
30
|
+
|
|
31
|
+
## Build The Release Package
|
|
32
|
+
|
|
33
|
+
Generate `release-manifest.yaml` and a unified `delivery-items.csv`. Dynamically add detailed inventories only for actual change types, including container images, configuration, database migrations, infrastructure, feature flags, scheduled jobs, static assets, certificates, observability, and SBOMs.
|
|
34
|
+
|
|
35
|
+
Include requirements, product, experience, architecture, source, dependency, security, environment, data, test, defect, operations, compatibility, risk, deployment, verification, and rollback changes. Never include secret values.
|
|
36
|
+
|
|
37
|
+
Require every delivery item to reference an order, verification step, and rollback or recovery action. Identify images by digest, not mutable tag. Identify IaC plans and configuration baselines by immutable hash.
|
|
38
|
+
|
|
39
|
+
## Prove Rollback Readiness
|
|
40
|
+
|
|
41
|
+
Verify that the last-known-good image remains available and compatible with the new database, configuration, and infrastructure state. Prefer expand/contract migrations. Block automatic image rollback when compatibility is not proven and require an approved recovery or forward-fix plan.
|
|
42
|
+
|
|
43
|
+
Read [release-contract.md](references/release-contract.md) and use `assets/release-template/` for inventories.
|
|
44
|
+
|
|
45
|
+
## Handoff
|
|
46
|
+
|
|
47
|
+
Return exactly one immutable prepared release package to `$ai-delivery-orchestrate-release`. Human production approval occurs independently at `R07-production-approval`.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
item_id,item_type,name,change_type,target,version_ref,artifact_ref,deploy_order,verification_ref,rollback_ref
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
release_id: RELEASE-0001
|
|
2
|
+
iteration_id: ITER-0001
|
|
3
|
+
version: 0.1.0
|
|
4
|
+
target_environment: production
|
|
5
|
+
commit_sha: ""
|
|
6
|
+
tag: ""
|
|
7
|
+
package_hash: ""
|
|
8
|
+
artifact_digests: []
|
|
9
|
+
configuration_baseline: ""
|
|
10
|
+
migration_set: []
|
|
11
|
+
iac_plan_hash: ""
|
|
12
|
+
standards_baseline_ref: ""
|
|
13
|
+
verification_ref: ""
|
|
14
|
+
previous_stable_release_id: ""
|
|
15
|
+
approval:
|
|
16
|
+
status: pending
|
|
17
|
+
approved_by: null
|
|
18
|
+
approved_at: null
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Release Contract
|
|
2
|
+
|
|
3
|
+
## Release Manifest
|
|
4
|
+
|
|
5
|
+
Record release ID, mode, selected target and continuous version closure, target environment, commit, immutable version and release Tags, package hash, application artifact digests, configuration baseline, migration set, IaC plan hash, standards baseline, R05 verification result, previous stable release, known risks, and inventory references. Production approval is a separate R07 artifact and is not created here.
|
|
6
|
+
|
|
7
|
+
## Unified Delivery Index
|
|
8
|
+
|
|
9
|
+
`delivery-items.csv`:
|
|
10
|
+
|
|
11
|
+
`item_id,item_type,name,change_type,target,version_ref,artifact_ref,deploy_order,verification_ref,rollback_ref`
|
|
12
|
+
|
|
13
|
+
Use `add`, `update`, `remove`, and `unchanged-required` change types. Generate detailed CSV files only for actual item types.
|
|
14
|
+
|
|
15
|
+
## Required Change Coverage
|
|
16
|
+
|
|
17
|
+
Consider product, terminology, terminal, feature, experience, architecture, API, data, code, dependencies, container images, configuration, secrets references, migrations, infrastructure, flags, jobs, assets, certificates, observability, tests, defects, compatibility, operations, and accepted risk.
|
|
18
|
+
|
|
19
|
+
## Image Rollback Gate
|
|
20
|
+
|
|
21
|
+
Record previous image digest, registry availability, schema compatibility, configuration compatibility, infrastructure compatibility, rollback action, verification action, and any manual recovery requirement. Block automatic rollback when compatibility is unproven.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ai-delivery-review-change
|
|
3
|
+
description: Independently review a technical work-package change against approved product behavior, architecture, repository standards, security constraints, and test quality. Use before merging a work branch, after a review fix, or when a candidate failure suggests a code-level compliance defect.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Review Change
|
|
7
|
+
|
|
8
|
+
Review independently from the implementation context. Do not edit product code or approve a change with unresolved blocking findings.
|
|
9
|
+
|
|
10
|
+
## Artifact Location
|
|
11
|
+
|
|
12
|
+
Write every review report, findings table, decision, and evidence reference produced by this skill under project `.workflow/`, defaulting version-scoped outputs to `.workflow/iterations/<iteration-id>/<node-id>/`. Do not write review documents beside application source.
|
|
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 work package, diff, approved source artifacts, standards versions, architecture constraints, TDD evidence, test results, allowed modification scope, exact UI handoff/product-reconciliation checksums, task-to-experience-change actions, and page/canvas/file/element mappings for UI-bearing work. Re-run relevant checks when evidence is absent or stale.
|
|
23
|
+
|
|
24
|
+
## Review Axes
|
|
25
|
+
|
|
26
|
+
1. **Specification:** verify the requested behavior and acceptance criteria without adding unrequested capability.
|
|
27
|
+
2. **Architecture:** verify boundaries, contracts, stack, data, security, configuration, migration, and observability rules.
|
|
28
|
+
3. **Standards:** apply all pinned standards and repository instructions.
|
|
29
|
+
4. **Correctness:** inspect error paths, state transitions, concurrency, compatibility, resource handling, and rollback impact.
|
|
30
|
+
5. **Tests:** verify behavior through confirmed seams, independent expected values, useful failure sensitivity, and adequate regression coverage.
|
|
31
|
+
6. **Scope:** flag unrelated files, hidden generated changes, dependency drift, and ownership violations.
|
|
32
|
+
7. **Experience conformance:** for UI-bearing changes, verify each `ready-for-development` experience change was implemented with its declared create/update/remove/migrate/no-code action, exact member revision, interaction/component-state obligations, and stable page/canvas/file/element mappings; reject stale, untracked, or visually inferred work.
|
|
33
|
+
|
|
34
|
+
## Output
|
|
35
|
+
|
|
36
|
+
Report findings first, ordered by severity, with tight file and line references. For each finding include evidence, violated source ID, impact, and required correction. Then report open questions, check results, residual risk, and one decision: `pass`, `fail`, or `blocked`.
|
|
37
|
+
|
|
38
|
+
Do not use `pass` when required checks did not run. Do not repair findings yourself; return them to the work-package executor.
|
|
39
|
+
|
|
40
|
+
Read [review-contract.md](references/review-contract.md).
|