ai-delivery-workflow 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/docs/CLI-PARAMETER-REFERENCE.zh-CN.md +1 -0
  2. package/docs/FILE-REFERENCE.zh-CN.md +3 -3
  3. package/docs/MAINTENANCE-VERIFICATION.zh-CN.md +2 -2
  4. package/docs/PROJECT-MANUAL.zh-CN.md +10 -1
  5. package/docs/agents/workflow-manager-current-state.md +1 -1
  6. package/lib/communication-confirmation.mjs +177 -0
  7. package/lib/project-bootstrap.mjs +350 -3
  8. package/lib/project-installer.mjs +25 -1
  9. package/package.json +1 -1
  10. package/skills/ai-delivery-assemble-release/SKILL.md +4 -0
  11. package/skills/ai-delivery-bootstrap/SKILL.md +6 -0
  12. package/skills/ai-delivery-checkpoint-task/SKILL.md +4 -0
  13. package/skills/ai-delivery-checkpoint-task/references/checkpoint-contract.md +2 -0
  14. package/skills/ai-delivery-close-version/SKILL.md +15 -10
  15. package/skills/ai-delivery-close-version/references/version-closeout-contract.md +2 -1
  16. package/skills/ai-delivery-define-product/SKILL.md +8 -3
  17. package/skills/ai-delivery-deploy-production/SKILL.md +2 -0
  18. package/skills/ai-delivery-design-architecture/SKILL.md +12 -5
  19. package/skills/ai-delivery-design-architecture/assets/architecture-template/architecture-gate.yaml +2 -0
  20. package/skills/ai-delivery-design-architecture/assets/architecture-template/prototype-architecture-validation.yaml +2 -0
  21. package/skills/ai-delivery-design-architecture/references/architecture-contract.md +4 -0
  22. package/skills/ai-delivery-design-experience/SKILL.md +7 -3
  23. package/skills/ai-delivery-design-experience/assets/experience-template/product-prototype-reconciliation.yaml +2 -0
  24. package/skills/ai-delivery-design-experience/assets/experience-template/ui-handoff.yaml +3 -0
  25. package/skills/ai-delivery-design-experience/references/experience-contract.md +2 -2
  26. package/skills/ai-delivery-design-tests/SKILL.md +6 -0
  27. package/skills/ai-delivery-develop-iteration/SKILL.md +8 -1
  28. package/skills/ai-delivery-develop-iteration/assets/development-template/candidate-manifest.yaml +2 -0
  29. package/skills/ai-delivery-evolve-workflow/SKILL.md +2 -0
  30. package/skills/ai-delivery-execute-work-package/SKILL.md +6 -2
  31. package/skills/ai-delivery-manage-standards/SKILL.md +2 -0
  32. package/skills/ai-delivery-orchestrate/SKILL.md +4 -0
  33. package/skills/ai-delivery-orchestrate/assets/codebase-template/AGENTS.md +14 -0
  34. package/skills/ai-delivery-orchestrate/assets/codebase-template/CODEBASE_GUIDE.md +124 -0
  35. package/skills/ai-delivery-orchestrate/assets/codebase-template/docs/CODEBASE_INDEX.md +87 -0
  36. package/skills/ai-delivery-orchestrate/assets/communication-template/confirmation-examples.yaml +67 -0
  37. package/skills/ai-delivery-orchestrate/assets/communication-template/confirmation-summary.yaml +42 -0
  38. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/iterations/ITER-0001/02-solution-design/product-impact-assessment.yaml +42 -0
  39. package/skills/ai-delivery-orchestrate/assets/project-template/.workflow/tools/bootstrap/bootstrap.mjs +7 -2
  40. package/skills/ai-delivery-orchestrate/references/codebase-document-contract.md +93 -0
  41. package/skills/ai-delivery-orchestrate/references/communication-confirmation-contract.md +69 -0
  42. package/skills/ai-delivery-orchestrate/references/product-impact-assessment-contract.md +87 -0
  43. package/skills/ai-delivery-orchestrate/scripts/confirmation-state.mjs +30 -0
  44. package/skills/ai-delivery-orchestrate-release/SKILL.md +5 -1
  45. package/skills/ai-delivery-plan-iteration/SKILL.md +8 -1
  46. package/skills/ai-delivery-prepare-platform/SKILL.md +3 -1
  47. package/skills/ai-delivery-prepare-release/SKILL.md +4 -0
  48. package/skills/ai-delivery-review-change/SKILL.md +5 -1
  49. package/skills/ai-delivery-validate-artifacts/SKILL.md +12 -7
  50. package/skills/ai-delivery-validate-artifacts/references/artifact-contract.md +2 -1
  51. package/skills/ai-delivery-verify-candidate/SKILL.md +7 -2
  52. package/skills/ai-delivery-verify-candidate/references/candidate-verification-contract.md +1 -1
  53. package/skills/ai-delivery-verify-production/SKILL.md +4 -0
@@ -0,0 +1,67 @@
1
+ schema_version: 1
2
+ summary_id: CONFIRMATION-EXAMPLE-0001
3
+ version: 2
4
+ status: confirmed
5
+ node: 01-product-shaping
6
+ iteration_id: ITERATION-EXAMPLE-0001
7
+ task_id: TASK-EXAMPLE-0001
8
+ owner: product-and-architecture-reviewers
9
+ source_revision: EXAMPLE-SOURCE-REVISION
10
+ updated_at: 2026-08-23T00:00:00Z
11
+ frontier_round: 2
12
+ shared_understanding: true
13
+ shared_understanding_actor: human:product-owner
14
+ shared_understanding_confirmed_at: 2026-08-23T00:05:00Z
15
+ grouping_rationale: null
16
+ records:
17
+ - confirmation_id: CONF-PRODUCT-0001
18
+ question_id: Q-PRODUCT-0001
19
+ parent_decision_id: null
20
+ frontier_round: 1
21
+ category: business_decision
22
+ status: confirmed
23
+ question: "Which problem is in the first release?"
24
+ recommendation: "Start with preventing missed handoffs."
25
+ options:
26
+ - id: MISSED-HANDOFFS
27
+ label: "Prevent missed handoffs"
28
+ rationale: "Matches the observed operational pain and keeps scope narrow."
29
+ decision: "Prevent missed handoffs"
30
+ rationale: "The sponsor prioritizes accountability over reporting breadth."
31
+ actor: human:product-owner
32
+ confirmed_at: 2026-08-23T00:01:00Z
33
+ depends_on: []
34
+ evidence_refs: ["bootstrap-report@1"]
35
+ authority_refs: ["product-manual@1"]
36
+ impact_refs: ["scope-baseline@1"]
37
+ owner: product-owner
38
+ next_action: "Ask the dependent architecture boundary question."
39
+ next_action_owner: agent
40
+ supersedes: null
41
+ superseded_by: null
42
+ - confirmation_id: CONF-ARCH-0001
43
+ question_id: Q-ARCH-0001
44
+ parent_decision_id: CONF-PRODUCT-0001
45
+ frontier_round: 2
46
+ category: architecture_decision
47
+ status: confirmed
48
+ question: "Should handoff ownership be enforced in the workflow state model?"
49
+ recommendation: "Enforce explicit owner transfer and zero-mutation waits."
50
+ options:
51
+ - id: EXPLICIT-OWNER
52
+ label: "Explicit owner transfer"
53
+ rationale: "Prevents an agent from guessing through a user wait."
54
+ decision: "Explicit owner transfer"
55
+ rationale: "The sponsor accepts the additional checkpoint fields for auditability."
56
+ actor: human:maintainer
57
+ confirmed_at: 2026-08-23T00:04:00Z
58
+ depends_on: [CONF-PRODUCT-0001]
59
+ evidence_refs: ["checkpoint-contract@1"]
60
+ authority_refs: ["architecture-baseline@1", "architecture-gate@1"]
61
+ impact_refs: ["checkpoint-contract@1"]
62
+ owner: architecture-owner
63
+ next_action: "Link both decisions to the approved baselines before Gate completion."
64
+ next_action_owner: agent
65
+ supersedes: null
66
+ superseded_by: null
67
+ open_questions: []
@@ -0,0 +1,42 @@
1
+ schema_version: 1
2
+ summary_id: CONFIRMATION-SUMMARY-0001
3
+ version: 1
4
+ status: draft
5
+ node: 01-product-shaping
6
+ iteration_id: ITERATION-0001
7
+ task_id: TASK-0001
8
+ owner: team-or-role
9
+ source_revision: REPLACE_WITH_CODE_OR_WORKFLOW_COMMIT
10
+ updated_at: REPLACE_WITH_ISO_TIMESTAMP
11
+ frontier_round: 1
12
+ shared_understanding: false
13
+ shared_understanding_actor: null
14
+ shared_understanding_confirmed_at: null
15
+ grouping_rationale: null
16
+ records:
17
+ - confirmation_id: CONF-0001
18
+ question_id: Q-0001
19
+ parent_decision_id: null
20
+ frontier_round: 1
21
+ category: business_decision
22
+ status: proposed
23
+ question: "What decision must the user make?"
24
+ recommendation: "Recommended option and why."
25
+ options:
26
+ - id: OPTION-A
27
+ label: "Option A"
28
+ rationale: "Tradeoff and evidence."
29
+ decision: null
30
+ rationale: null
31
+ actor: null
32
+ confirmed_at: null
33
+ depends_on: []
34
+ evidence_refs: []
35
+ authority_refs: []
36
+ impact_refs: []
37
+ owner: product-owner
38
+ next_action: "Ask Q-0001 and wait for the user's answer."
39
+ next_action_owner: user
40
+ supersedes: null
41
+ superseded_by: null
42
+ open_questions: []
@@ -0,0 +1,42 @@
1
+ artifact_id: PRODUCT-IMPACT-ASSESSMENT-0001
2
+ artifact_type: product-impact-assessment
3
+ version: 1
4
+ iteration_id: ITER-0001
5
+ status: draft
6
+ producer_skill: ai-delivery-design-architecture
7
+ source_node: 02-solution-design
8
+ input_artifacts: []
9
+ product_baseline:
10
+ id: PRODUCT-BASELINE-0001
11
+ version: 1
12
+ checksum: REPLACE_WITH_SHA256
13
+ decision: clarification-required
14
+ trigger:
15
+ kind: prototype-adjustment
16
+ summary: REPLACE_WITH_OBSERVED_CHANGE
17
+ affected_product_assets:
18
+ terminals: []
19
+ features: []
20
+ stories: []
21
+ acceptance_criteria: []
22
+ non_functional_requirements: []
23
+ business_terms: []
24
+ affected_design_assets:
25
+ experience_changes: []
26
+ prototype_pages: []
27
+ review_scenes: []
28
+ architecture_decisions: []
29
+ quality_budgets: []
30
+ confirmation:
31
+ questions: []
32
+ summary_ref: .workflow/communication/confirmation-summary.yaml
33
+ return:
34
+ required: true
35
+ node: 01-product-shaping
36
+ mode: prototype-reconciliation
37
+ reason: REPLACE_WITH_REASON
38
+ rebaselines_required: []
39
+ stale_artifacts: []
40
+ product_reconciliation_ref: null
41
+ evidence: []
42
+ blocking_issues: []
@@ -1,13 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import path from "node:path";
4
- import { bootstrapProject, inspectProjectState } from "./project-bootstrap.mjs";
4
+ import { bootstrapProject, inspectProjectState, projectCodebaseIndex } from "./project-bootstrap.mjs";
5
5
 
6
6
  function usage() {
7
7
  return [
8
8
  "Usage:",
9
9
  " node .workflow/tools/bootstrap/bootstrap.mjs inspect [project]",
10
10
  " node .workflow/tools/bootstrap/bootstrap.mjs bootstrap [project] [--dry-run]",
11
+ " node .workflow/tools/bootstrap/bootstrap.mjs project-index [project] [--output path]",
11
12
  ].join("\n");
12
13
  }
13
14
 
@@ -17,12 +18,16 @@ try {
17
18
  if (command === "--help" || command === "help") {
18
19
  process.stdout.write(`${usage()}\n`);
19
20
  } else {
20
- const projectArg = args.find((value, index) => index > 0 && !value.startsWith("--"));
21
+ const projectArg = args.find((value, index) => index > 0 && !value.startsWith("--") && args[index - 1] !== "--output");
21
22
  const target = path.resolve(projectArg || process.cwd());
23
+ const outputIndex = args.indexOf("--output");
24
+ const output = outputIndex >= 0 ? args[outputIndex + 1] : null;
22
25
  const result = command === "inspect"
23
26
  ? inspectProjectState(target)
24
27
  : command === "bootstrap"
25
28
  ? bootstrapProject(null, target, { dryRun: args.includes("--dry-run") })
29
+ : command === "project-index"
30
+ ? projectCodebaseIndex(path.resolve(target, inspectProjectState(target).workspace?.code_repository?.path || "code"), output ? path.resolve(target, output) : null)
26
31
  : null;
27
32
  if (!result) throw new Error(`Unknown command: ${command}\n\n${usage()}`);
28
33
  process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
@@ -0,0 +1,93 @@
1
+ # Codebase Documentation Contract
2
+
3
+ This contract defines the project-owned documentation that lives in the independent code repository. It is a writing and validation contract, not a second workflow state store.
4
+
5
+ ## Files
6
+
7
+ ```text
8
+ code/
9
+ ├─ AGENTS.md
10
+ ├─ CODEBASE_GUIDE.md
11
+ └─ docs/
12
+ └─ CODEBASE_INDEX.md
13
+ ```
14
+
15
+ - `CODEBASE_GUIDE.md` is the human-readable handbook for repository maintainers and contributors.
16
+ - `AGENTS.md` is a short agent entrypoint. It contains only high-priority rules and conditional pointers into the handbook and index.
17
+ - `docs/CODEBASE_INDEX.md` is the human-readable navigation map for directories, modules, entrypoints, tests, dependencies, risks, and maintenance ownership.
18
+
19
+ `docs/CODEBASE_INDEX.md` remains the single source of truth. When a CLI, CodeGraph adapter, or validator needs structured input, generate the read-only machine projection with `node .workflow/tools/bootstrap/bootstrap.mjs project-index <project>`. The projection is written to the workflow repository at `.workflow/delivery/bootstrap/codebase-index.yaml`, includes the source checksum and status, and is never edited directly or copied back into Markdown.
20
+
21
+ ## Authority
22
+
23
+ The project workflow repository remains authoritative for approved architecture, standards, formal state, task scope, Gates, and release identity. Code-repository documentation explains how to apply those decisions while working in source. When the handbook conflicts with an approved workflow artifact, stop relying on the conflicting section, report the conflict, and update the handbook through the owning workflow node.
24
+
25
+ The environment is authoritative for facts it already expresses precisely, such as package scripts, compiler options, CI jobs, and directory names. The handbook should capture rationale, conventions, risks, and entrypoints that the environment cannot express reliably; it should link to rather than duplicate long configuration files.
26
+
27
+ ## Audience and language
28
+
29
+ Write for a repository maintainer first. Use plain Simplified Chinese for explanatory prose and preserve technical identifiers, paths, commands, schemas, and protocol values exactly. A maintainer should be able to answer these questions without reading source code first:
30
+
31
+ 1. What is this project and where does execution start?
32
+ 2. How do I install, run, test, debug, review, and release it?
33
+ 3. Which layers and modules may depend on each other?
34
+ 4. Which paths are high risk, generated, externally maintained, or not directly editable?
35
+ 5. Which tests and evidence are required after a change?
36
+ 6. Who maintains this document and when must it be updated?
37
+
38
+ ## Guide sections
39
+
40
+ `CODEBASE_GUIDE.md` must contain, or explicitly link to, these sections:
41
+
42
+ 1. project overview and ownership;
43
+ 2. quick start and verified commands;
44
+ 3. repository map and runtime entrypoints;
45
+ 4. layering and dependency direction;
46
+ 5. naming, testing, error, logging, configuration, security, and migration conventions;
47
+ 6. change workflow and verification expectations;
48
+ 7. risks, generated files, protected paths, and rollback notes;
49
+ 8. documentation ownership, freshness, approval references, and update triggers.
50
+
51
+ ## Index fields
52
+
53
+ Every index row describes a directory or a key file relative to the code-repository root. Use these columns when applicable:
54
+
55
+ | Field | Meaning |
56
+ | --- | --- |
57
+ | `path` | Relative path; never an absolute path or a path containing `..`. |
58
+ | `purpose` | Why the directory or file exists. |
59
+ | `entrypoints` | Main executable, route, public API, or command entrypoints. |
60
+ | `tests` | Relevant native test paths or commands. |
61
+ | `dependencies` | Important allowed dependencies or consumers. |
62
+ | `risk` | `low`, `medium`, or `high`, with a short reason for `high`. |
63
+ | `generated` | Whether a command regenerates the content. |
64
+ | `owner` | Team or role responsible for keeping the entry accurate. |
65
+ | `source_commit` | Code commit the entry was checked against. |
66
+ | `last_reviewed` | ISO date of the latest human or validator review. |
67
+ | `status` | `observed`, `approved`, or `stale`. |
68
+ | `references` | Architecture, standards, task, test, or operational references. |
69
+
70
+ Directory-level rows are the default. Use file-level rows for entrypoints, cross-layer adapters, persistence/authentication/deployment configuration, generated boundaries, and high-risk modules. The index is not required to enumerate every ordinary source file.
71
+
72
+ ## Freshness and safety
73
+
74
+ - `observed` means discovered by Bootstrap or a tool and not yet approved by a maintainer.
75
+ - `approved` means reviewed against the current code and the relevant approved architecture/standards.
76
+ - `stale` means the recorded `source_commit` or referenced path may no longer describe the code.
77
+ - A missing, stale, conflicting, or path-invalid entry must be reported before code modification relies on it.
78
+ - Never put credentials, private keys, production data, or large source excerpts in these files.
79
+ - `init` and `upgrade` must preserve existing code-repository documentation. Any creation or revision must be explicit, reviewable, and attributable to the owning workflow task.
80
+ - A projection with a checksum mismatch, invalid source index, or stale source commit is unusable until the Markdown source is reviewed and regenerated.
81
+
82
+ ## Writing quality
83
+
84
+ Prefer short paragraphs, tables, links, and concrete examples. Put the answer before the background. Keep one rule in one authoritative location. Link to formal workflow artifacts instead of copying their full contents. Every procedural section should end with a checkable command, file, review, or evidence criterion.
85
+
86
+ ## Completion checklist
87
+
88
+ - A maintainer can find the runtime entrypoint, test entrypoint, and high-risk paths within one screen of navigation.
89
+ - Every high-risk index row names its tests, owner, and update trigger.
90
+ - Commands are verified from repository configuration or a recorded validation run.
91
+ - All paths resolve inside the code repository and all status/commit metadata is current.
92
+ - Conflicts with workflow architecture or standards are explicitly linked and not silently resolved in prose.
93
+ - Any machine consumer reads the generated projection only after verifying `source_checksum` against the current Markdown source.
@@ -0,0 +1,69 @@
1
+ # Communication Confirmation Contract
2
+
3
+ This contract records structured user decisions without storing a conversation transcript. It is a traceability index, not a second product, architecture, standards, task, or formal-state authority.
4
+
5
+ ## Placement and authority
6
+
7
+ Store a mutable draft and its later immutable revisions under the current workflow repository's version-scoped node directory:
8
+
9
+ ```text
10
+ .workflow/iterations/<iteration-id>/<node-id>/confirmation-summary.yaml
11
+ ```
12
+
13
+ The summary may point to product, architecture, standards, task, Gate, or release artifacts, but those owning artifacts remain authoritative. A `confirmed` record is incomplete until its `authority_refs` points to the owning artifact or explicitly records the handoff that will create it.
14
+
15
+ Do not store full chat transcripts, credentials, production data, or model reasoning. Preserve only the question, recommendation, decision, rationale, evidence references, impact, and next action needed to resume safely.
16
+
17
+ ## Knowledge categories
18
+
19
+ Allowed `category` values are:
20
+
21
+ - `observed_fact`: source, configuration, Git, test, or runtime fact found by the Agent;
22
+ - `business_fact`, `business_decision`, `domain_term`, `business_constraint`;
23
+ - `architecture_decision`;
24
+ - `standard_decision`;
25
+ - `risk`, `assumption`, `open_question`;
26
+ - `execution_fact`, `execution_decision`.
27
+
28
+ Facts require `evidence_refs`. User decisions require `actor`, `decision`, and `confirmed_at`; an Agent recommendation is never approval. `domain_term` records must point to the Product Manual Business Glossary or a superseding product artifact. `architecture_decision` records must point to an architecture baseline, decision record, or architecture Gate.
29
+
30
+ ## Confirmation statuses
31
+
32
+ `proposed` is waiting for a decision. `confirmed` and `rejected` close a decision. `deferred` remains unresolved and must retain a responsible owner and next action. `superseded` is historical and must point to the replacement through `supersedes` or `superseded_by`.
33
+
34
+ ## Decision tree and frontier
35
+
36
+ Each record has a stable `confirmation_id`, a `question_id`, a `frontier_round`, and optional `depends_on` decision IDs. The current frontier consists only of `proposed` records whose dependencies are closed by `confirmed`, `rejected`, or a valid superseding record. A dependency cycle, unknown dependency, or proposed record with unresolved dependencies is invalid rather than silently skipped.
37
+
38
+ The default interaction policy is one user decision per round. Multiple questions may be presented together only when they are independent, low-risk, and the summary explicitly records the grouping rationale.
39
+
40
+ ## All-node integration
41
+
42
+ Every formal development and release node uses this same protocol when a user or external decision is needed. The node-specific authority remains the owner shown below:
43
+
44
+ | Node | Questions and knowledge to capture | Authority / return path |
45
+ | --- | --- | --- |
46
+ | `00-bootstrap` | observed repository facts, missing context, first product frontier | Bootstrap report; business choices return to `01-product-shaping` |
47
+ | `01-product-shaping` | users, goals, scope, terminals, domain terms, business rules, priority, risk acceptance | discovery/product baseline and `GATE-A`/`GATE-B` |
48
+ | `02-solution-design` | architecture tradeoffs, UX choices, new terminals, non-functional impact, product-impact assessment | architecture/experience baseline, UX Gates, or product return |
49
+ | `03-delivery-readiness` | Slice boundaries, dependencies, environments, test policy, budget exceptions | scope manifest, test/platform contracts, or scope amend |
50
+ | `04-implementation` | behavior ambiguity, implementation constraints, risk acceptance, allowed-file changes | task evidence, approved change set, or owning-node return |
51
+ | `05-candidate-assurance` | exceptions, residual risk, test gaps, candidate acceptance | review/verification evidence or producer return |
52
+ | `06-version-closeout` | unresolved decisions, release readiness, archive exceptions | version manifest/closeout; release intent remains separate |
53
+ | `R00`-`R10` release | release intent, target selection, eligibility exceptions, production approval, deployment/rollback decisions | release artifacts, `PRODUCTION-APPROVAL`, production evidence |
54
+
55
+ At node entry, read the current summary before asking a question. After each answer, append or supersede the record, recompute the frontier, and link the decision to its authority artifact before advancing. A node may continue without a question only when its evidence proves the decision is agent-verifiable or an approved baseline is unchanged.
56
+
57
+ ## Shared understanding
58
+
59
+ Set `shared_understanding: true` only after the current frontier is empty and the user has confirmed the summary. `deferred` and `open_question` records may remain, but each must identify an owner and an idempotent `next_action`. A node must not perform an action that depends on an unresolved decision.
60
+
61
+ ## Wait and mutation boundary
62
+
63
+ When `next_action_owner` is `user` or `external`, the task remains a zero-mutation wait state. Recovery reports the exact recorded question or wait condition; it does not activate tasks, mutate formal state, register artifacts, or change Git. After the required input arrives, the controlled task CLI transfers ownership to `agent` with a new idempotent next action.
64
+
65
+ ## Superseding and provenance
66
+
67
+ Never edit a confirmed record in place. A correction creates a new record with `supersedes`, retains the previous checksum/reference, and routes affected artifacts stale or back to their owning node. Every summary revision should retain `summary_id`, `version`, `source_revision`, `owner`, and `updated_at`.
68
+
69
+ See `assets/communication-template/confirmation-examples.yaml` for a maintainer-readable two-round example: a confirmed product decision opens an architecture frontier, and shared understanding is recorded only after both decisions have authority references.
@@ -0,0 +1,87 @@
1
+ # Product Impact Assessment Contract
2
+
3
+ `product-impact-assessment.yaml` is the shared design-stage receipt for any finding that may change an approved product baseline. It is an impact record, not a product decision. Product intent, scope, terminology, priority, risk acceptance, and terminal selection remain owned by `01-product-shaping`.
4
+
5
+ ## When to create one
6
+
7
+ Create one before continuing `02-solution-design` when design discovers any of the following:
8
+
9
+ - a Prototype adjustment changes user-visible behavior, acceptance, or a terminal;
10
+ - a new logical terminal, Page, Review Scene, or channel is needed;
11
+ - a quality, security, privacy, compliance, availability, performance, or cost requirement changes product tradeoffs;
12
+ - an architecture constraint changes a goal, business rule, scope, priority, risk acceptance, or terminology;
13
+ - a user confirmation is needed to choose between materially different product outcomes.
14
+
15
+ Use `no-impact` only when the evidence proves that approved product behavior, scope, terminals, terminology, acceptance, and non-functional requirements are unchanged.
16
+
17
+ ## Controlled values
18
+
19
+ `decision` is one of:
20
+
21
+ - `no-impact`: design may continue after recording evidence;
22
+ - `architecture-only`: only implementation structure changes and approved product behavior is unchanged;
23
+ - `product-update-required`: product must create and approve a successor baseline;
24
+ - `clarification-required`: a user decision is needed before classification can close.
25
+
26
+ `status` is `draft`, `awaiting-product`, `resolved`, `invalid`, or `superseded`. A resolved `no-impact` or `architecture-only` assessment has `status: resolved`; `product-update-required` and `clarification-required` remain `awaiting-product` until a valid product reconciliation receipt is linked.
27
+
28
+ ## Required fields
29
+
30
+ ```yaml
31
+ artifact_id: PRODUCT-IMPACT-ASSESSMENT-0001
32
+ artifact_type: product-impact-assessment
33
+ version: 1
34
+ iteration_id: ITER-0001
35
+ status: draft
36
+ producer_skill: ai-delivery-design-architecture
37
+ source_node: 02-solution-design
38
+ input_artifacts: []
39
+ product_baseline:
40
+ id: PRODUCT-BASELINE-0001
41
+ version: 1
42
+ checksum: SHA256
43
+ decision: clarification-required
44
+ trigger:
45
+ kind: prototype-adjustment
46
+ summary: "Describe the observed change"
47
+ affected_product_assets:
48
+ terminals: []
49
+ features: []
50
+ stories: []
51
+ acceptance_criteria: []
52
+ non_functional_requirements: []
53
+ business_terms: []
54
+ affected_design_assets:
55
+ experience_changes: []
56
+ prototype_pages: []
57
+ review_scenes: []
58
+ architecture_decisions: []
59
+ quality_budgets: []
60
+ confirmation:
61
+ questions: []
62
+ summary_ref: .workflow/communication/confirmation-summary.yaml
63
+ return:
64
+ required: true
65
+ node: 01-product-shaping
66
+ mode: prototype-reconciliation
67
+ reason: "Explain why product ownership is required"
68
+ rebaselines_required: []
69
+ stale_artifacts: []
70
+ product_reconciliation_ref: null
71
+ evidence: []
72
+ blocking_issues: []
73
+ ```
74
+
75
+ Every listed asset uses a stable ID. Every input and evidence item pins a version and checksum when one exists. `return.node` is `01-product-shaping` for `product-update-required` and `clarification-required`; it is the owning design phase for a closed `no-impact` or `architecture-only` result.
76
+
77
+ ## Closure and propagation
78
+
79
+ 1. The producing design skill writes the assessment and checkpoints it before asking a user question or changing downstream artifacts.
80
+ 2. `product-update-required` or `clarification-required` blocks the current design handoff. Product owns the question and writes `product-prototype-reconciliation.yaml` plus a new approved product baseline when needed.
81
+ 3. A successor product baseline supersedes the input baseline. Affected architecture, experience, planning, test, and delivery artifacts become `stale` until revalidated against the successor checksum.
82
+ 4. `architecture-only` may continue only when the assessment explicitly proves no product asset changed and any major architecture decision has its own approval.
83
+ 5. `no-impact` and `architecture-only` do not authorize editing a frozen Prototype or approved product baseline.
84
+
85
+ ## Compatibility
86
+
87
+ The existing `prototype-impact-assessment.yaml` remains a Prototype-local evidence record. Its `assessments`, review checksums, and adjustment log are consumed as `input_artifacts` or `affected_design_assets`; it must be wrapped by this contract before a cross-node return or final handoff. The old `decision: changes-required` maps to `product-update-required` only when an affected product asset is listed; otherwise it maps to `architecture-only` or `clarification-required` after review.
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import { readConfirmationSummary } from "../../../lib/communication-confirmation.mjs";
3
+
4
+ const [command, file] = process.argv.slice(2);
5
+ if (!command || !file || !["validate", "frontier"].includes(command)) {
6
+ console.error("Usage: confirmation-state.mjs <validate|frontier> <confirmation-summary.yaml>");
7
+ process.exit(2);
8
+ }
9
+ try {
10
+ const result = readConfirmationSummary(file);
11
+ const payload = {
12
+ summary_checksum: result.checksum,
13
+ valid: result.validation.valid,
14
+ errors: result.validation.errors,
15
+ warnings: result.validation.warnings,
16
+ frontier: result.validation.frontier,
17
+ blocked_proposals: result.validation.blocked_proposals,
18
+ };
19
+ process.stdout.write(`${JSON.stringify(command === "frontier" ? {
20
+ summary_checksum: payload.summary_checksum,
21
+ valid: payload.valid,
22
+ errors: payload.errors,
23
+ frontier: payload.frontier,
24
+ blocked_proposals: payload.blocked_proposals,
25
+ } : payload, null, 2)}\n`);
26
+ process.exit(result.validation.valid ? 0 : 1);
27
+ } catch (error) {
28
+ console.error(error.message);
29
+ process.exit(1);
30
+ }
@@ -5,6 +5,8 @@ description: Orchestrate a production release independently from iteration deliv
5
5
 
6
6
  # Orchestrate Independent Release
7
7
 
8
+ Release nodes use the shared confirmation protocol for explicit release intent, target selection, eligibility exceptions, production approval, deployment, rollback, and archive decisions. User/external waits are zero-mutation and never replay production actions.
9
+
8
10
  Coordinate `R00` through `R10`. Never infer release intent from completed versions or start production work from normal iteration orchestration.
9
11
 
10
12
  ## Start From Explicit Intent
@@ -18,7 +20,7 @@ Coordinate `R00` through `R10`. Never infer release intent from completed versio
18
20
  ## Route Release Nodes
19
21
 
20
22
  1. `R01-version-selection`: invoke `$ai-delivery-assemble-release` to calculate and freeze the version selection, including the R00 `main` snapshot and exactly one target `version-ready` Tag.
21
- 2. `R02-release-eligibility`: require continuous lineage, immutable tags, eligible artifacts, and the unchanged R00 main snapshot. For incremental release the snapshot must precede the target Tag; for same-version redeploy the target Tag must already be reachable from the snapshot. Also require every adjacent code and workflow ancestry edge, available images, compatible migrations/configuration, and no stale candidate.
23
+ 2. `R02-release-eligibility`: require continuous lineage, immutable tags, eligible artifacts, and the unchanged R00 main snapshot. For incremental release the snapshot must precede the target Tag; for same-version redeploy the target Tag must already be reachable from the snapshot. Also require every adjacent code and workflow ancestry edge, available images, compatible migrations/configuration, a resolved or superseded product impact assessment, and no stale candidate.
22
24
  3. `R03-material-aggregation`: aggregate checksummed requirements, architecture, prototypes, code, images, configuration, migrations, tests, risks, operations, and rollback materials.
23
25
  4. `R04-release-candidate`: invoke `$ai-delivery-manage-git`'s `scripts/release-git.mjs create-candidate` with `--release-id`, `--release-branch`, `--expected-main`, one `--source-tag`, its exact `--source-commit`, `--receipt`, and `--apply`. It creates `release/<release-id>-<slug>` from that snapshot. It merges the Tag with `--no-ff` for incremental release; for same-version redeploy when the Tag is already in the snapshot, it freezes that snapshot as the no-new-merge candidate. A moved `main` invalidates this release ID's candidate instead of changing its base.
24
26
  5. `R05-release-verification`: invoke `$ai-delivery-verify-candidate` with `scope: release`, bound to the exact candidate merge commit. Any release-fix creates a new candidate and repeats affected verification.
@@ -31,3 +33,5 @@ Coordinate `R00` through `R10`. Never infer release intent from completed versio
31
33
  Run routine formal `verify` at every handoff and reserve `verify --history` for R10 or an explicit history audit. Preserve failed releases and evidence. Stop instead of replaying a production action after recovery.
32
34
 
33
35
  Read [release-workflow-contract.md](references/release-workflow-contract.md) and use the request and selection assets.
36
+
37
+ Validate the confirmation summary and require an explicit release decision linked to the release artifact. Proposed, deferred, or superseded records cannot authorize release; ambiguity returns to its owning node and leaves the release waiting.
@@ -5,6 +5,8 @@ description: Plan an agile AI delivery iteration by prioritizing business outcom
5
5
 
6
6
  # Plan Iteration
7
7
 
8
+ When scope, priority, dependency, budget, or acceptance choices need confirmation, use `../ai-delivery-orchestrate/references/communication-confirmation-contract.md` and the version-scoped `confirmation-summary.yaml`. Recompute the frontier after each answer and keep unresolved business choices out of `scope freeze`.
9
+
8
10
  Plan business capability increments. Do not pre-split work into fixed frontend, backend, database, or human-role silos.
9
11
 
10
12
  ## Artifact Location
@@ -23,7 +25,7 @@ This Skill owns the planning task phases inside `03-delivery-readiness` and conv
23
25
 
24
26
  ## Preflight
25
27
 
26
- 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 exact confirmed Prototype revision and checksum; its source and review-bundle checksums; the normalized terminal, Page, Review Scene, trigger-condition, route, and UI Mapping catalogs; and the accepted architecture receipt; current backlog; production state; applicable standards; and unresolved risks. Require `development_readiness: ready-for-development` and reject stale changes, missing or conflicting references, non-passing decisions, or identity/checksum mismatches. Never infer a relationship from a file name or catalog order. Distinguish product priority from technical execution order.
28
+ 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 exact confirmed Prototype revision and checksum; its source and review-bundle checksums; the normalized terminal, Page, Review Scene, trigger-condition, route, and UI Mapping catalogs; and the accepted architecture receipt; current backlog; production state; applicable standards; unresolved risks; and the code repository handbook/index entries for affected paths. Require `development_readiness: ready-for-development` and reject stale changes, missing or conflicting references, non-passing decisions, or identity/checksum mismatches. Never infer a relationship from a file name or catalog order. Distinguish product priority from technical execution order.
27
29
 
28
30
  ## Workflow
29
31
 
@@ -54,9 +56,14 @@ Read approved product, final architecture, and experience baselines; exact `ui-h
54
56
  - `slice-experience-change-traceability.csv` showing which added/modified/retired experience changes enter each slice;
55
57
  - replanning rules and current plan baseline.
56
58
  - a draft `scope-manifest.yaml` whose approved contents are frozen through `scope freeze`; later `scope amend` revisions are append-only and budget `scope warn` records never mutate it.
59
+ - handbook/index readiness receipt recording the consulted `source_commit`, path/command/test validation, maintainer owner, and whether affected documentation needs an approved update.
57
60
 
58
61
  Do not output component-level technical tasks. The development orchestrator derives those just in time from a selected slice and the latest architecture.
59
62
 
63
+ ## Confirmation Boundary
64
+
65
+ Read the current confirmation summary before proposing scope. Agent-verifiable facts require evidence; only product-owner scope choices and risk acceptance become user questions. Append each answer, recompute the frontier, and keep unresolved business decisions out of `scope freeze`.
66
+
60
67
  Read [planning-contract.md](references/planning-contract.md) and use `assets/planning-template/` for a new iteration.
61
68
 
62
69
  ## Handoff
@@ -5,6 +5,8 @@ description: Prepare the delivery and operations platform required to build, tes
5
5
 
6
6
  # Prepare Delivery Platform
7
7
 
8
+ When a platform, environment, dependency, cost, or risk choice needs a user or external decision, read `../ai-delivery-orchestrate/references/communication-confirmation-contract.md`, update the current `confirmation-summary.yaml`, and wait without mutation while ownership is `user` or `external`.
9
+
8
10
  Run as a parallel stream after initial architecture and join application development before independent candidate verification.
9
11
 
10
12
  ## Artifact Location
@@ -23,7 +25,7 @@ This Skill contributes a parallel task stream inside `03-delivery-readiness`; it
23
25
 
24
26
  ## Preflight
25
27
 
26
- 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.
28
+ Read initial and final architecture as available, deployment topology, stack manifest, quality targets, security standards, current environment baselines, iteration scope, and the current confirmation summary. Treat cloud, paid-service, privacy, and hard-to-reverse infrastructure changes as major architecture decisions. Agent-investigated platform facts require evidence; user choices about cost, risk, privacy, or irreversible infrastructure require a frontier confirmation and the architecture/approval artifact that owns the decision.
27
29
 
28
30
  ## Workflow
29
31
 
@@ -5,6 +5,8 @@ description: Prepare an independently verified multi-version or same-version rel
5
5
 
6
6
  # Prepare Release
7
7
 
8
+ Use `../ai-delivery-orchestrate/references/communication-confirmation-contract.md` for release intent, target selection, exception, rollback, and external-side-effect questions. Version completion never substitutes for explicit release intent.
9
+
8
10
  Create an auditable release package. Do not deploy production.
9
11
 
10
12
  ## Artifact Location
@@ -46,3 +48,5 @@ Read [release-contract.md](references/release-contract.md) and use `assets/relea
46
48
  ## Handoff
47
49
 
48
50
  Return exactly one immutable prepared release package to `$ai-delivery-orchestrate-release`. Human production approval occurs independently at `R07-production-approval`.
51
+
52
+ Read the closeout confirmation summary and require an explicit, current release intent. Version completion or candidate pass never authorizes publication or external side effects.
@@ -5,6 +5,8 @@ description: Independently review a technical work-package change against approv
5
5
 
6
6
  # Review Change
7
7
 
8
+ When review feedback requires an exception, risk acceptance, or scope decision, use `../ai-delivery-orchestrate/references/communication-confirmation-contract.md`; link the confirmed result to the approved `change_set_id` or return it to the owning producer.
9
+
8
10
  Review independently from the implementation context. Do not edit product code or approve a change with unresolved blocking findings.
9
11
 
10
12
  ## Artifact Location
@@ -23,7 +25,7 @@ Use `04-implementation` for pre-merge package review phases. Use `05-candidate-a
23
25
 
24
26
  ## Preflight
25
27
 
26
- Read the work package, diff, approved source artifacts, standards versions, architecture constraints, TDD evidence, test results, allowed modification scope, exact UI handoff and `product-prototype-reconciliation.yaml` checksums, Prototype revision and UI Mapping checksums, task-to-experience-change actions, and terminal/Page/Review Scene/prototype-element/UI component/frontend-source/acceptance mappings for UI-bearing work. Reject missing or conflicting references and never infer relationships from file names or row order. Re-run relevant checks when evidence is absent or stale.
28
+ Read the work package, diff, approved source artifacts, standards versions, architecture constraints, TDD evidence, test results, allowed modification scope, codebase handbook/index read receipt, exact UI handoff and `product-prototype-reconciliation.yaml` checksums, Prototype revision and UI Mapping checksums, task-to-experience-change actions, and terminal/Page/Review Scene/prototype-element/UI component/frontend-source/acceptance mappings for UI-bearing work. Reject missing or conflicting references and never infer relationships from file names or row order. Re-run relevant checks when evidence is absent or stale. Confirm structural changes have a matching index update or an explicit, justified no-change assessment.
27
29
 
28
30
  ## Two-Phase Review Protocol
29
31
 
@@ -48,3 +50,5 @@ Report findings first, ordered by severity, with tight file and line references.
48
50
  Do not use `pass` when required checks did not run. Do not repair findings yourself; return the approved change set to the work-package executor and wait for concentrated rereview evidence.
49
51
 
50
52
  Read [review-contract.md](references/review-contract.md).
53
+
54
+ Review findings and confirmation records are separate evidence. If a finding requires user acceptance, an exception, or a product/architecture decision, append a proposed record and stop at its owning node; chat cannot close a Gate or expand allowed scope.