diff --git a/manifest.yaml b/manifest.yaml index c20096b..b1013d6 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -1327,7 +1327,6 @@ templates: persona: configurable protocols: [anti-hallucination, self-verification, adversarial-falsification, operational-constraints, requirements-elicitation, iterative-refinement, change-propagation, traceability-audit, code-compliance-audit, test-compliance-audit] taxonomies: [specification-drift] - format: multi-artifact - name: collaborate-requirements-change path: templates/collaborate-requirements-change.md @@ -1392,7 +1391,6 @@ templates: persona: configurable protocols: [anti-hallucination, self-verification, operational-constraints, adversarial-falsification, requirements-from-implementation, requirements-elicitation, iterative-refinement, traceability-audit] taxonomies: [specification-drift] - format: multi-artifact - name: maintenance-workflow path: templates/maintenance-workflow.md @@ -1405,7 +1403,6 @@ templates: persona: configurable protocols: [anti-hallucination, self-verification, adversarial-falsification, operational-constraints, traceability-audit, code-compliance-audit, test-compliance-audit, change-propagation, iterative-refinement] taxonomies: [specification-drift] - format: multi-artifact pipelines: document-lifecycle: diff --git a/templates/audit-implementation-alignment.md b/templates/audit-implementation-alignment.md index cf2c775..7d4f230 100644 --- a/templates/audit-implementation-alignment.md +++ b/templates/audit-implementation-alignment.md @@ -25,10 +25,10 @@ params: implementation_patch: "The structured implementation patch (code/artifact + verification changes)" existing_artifacts: "Existing implementation and verification artifacts for context" input_contract: - type: [spec-patch, implementation-patch] + type: spec-patch description: > - Structured patches for specifications and implementation, to be - audited for alignment. + A structured specification patch as the primary input, plus an + implementation patch to be audited for alignment against it. output_contract: type: investigation-report description: > diff --git a/templates/audit-spec-alignment.md b/templates/audit-spec-alignment.md index 2f834c9..1df41b5 100644 --- a/templates/audit-spec-alignment.md +++ b/templates/audit-spec-alignment.md @@ -24,10 +24,11 @@ params: spec_patch: "The structured specification patch (design + validation changes)" existing_artifacts: "Existing requirements, design, and validation documents for context" input_contract: - type: [requirements-patch, spec-patch] + type: requirements-patch description: > - Structured patches for requirements and specifications, plus the - user's original intent description. + A structured requirements patch as the primary input, plus the + user's original intent description and the specification + patch for cross-referencing. output_contract: type: investigation-report description: > diff --git a/templates/engineering-workflow.md b/templates/engineering-workflow.md index a4868f5..44cfa4b 100644 --- a/templates/engineering-workflow.md +++ b/templates/engineering-workflow.md @@ -24,7 +24,7 @@ protocols: - reasoning/test-compliance-audit taxonomies: - specification-drift -format: multi-artifact +format: null params: persona: "Persona to use — select from library (e.g., software-architect, electrical-engineer, mechanical-engineer)" project_name: "Name of the project, product, or system being changed" diff --git a/templates/generate-implementation-changes.md b/templates/generate-implementation-changes.md index ce70bf5..b4e372f 100644 --- a/templates/generate-implementation-changes.md +++ b/templates/generate-implementation-changes.md @@ -105,7 +105,39 @@ For each impacted verification artifact: including negative cases, boundary conditions, and ordering constraints. -### Step 4 — Assemble Patch +### Step 4 — Invariant Check + +For every existing invariant, constraint, and runtime assumption in +the implementation and verification artifacts: + +1. Verify it is **preserved** by the combined downstream changes. +2. If an invariant is **modified**, flag it explicitly and verify + the modification is justified by the upstream specification change. +3. If an invariant is **violated**, STOP and report the conflict. + +### Step 5 — Completeness Check + +Verify every upstream specification change has at least one downstream +change (or an explicit "no downstream impact" justification): + +1. Walk the input specification patch manifest entry by entry. +2. Confirm each appears in the traceability matrix as Complete, + Partial (with explanation), or No-Impact (with rationale). +3. Flag any specification change with no downstream entry as + **DROPPED** — this must be resolved before finalizing. + +### Step 6 — Conflict Detection + +Check for conflicts within the downstream change set: + +1. **Internal conflicts** — two changes that modify the same + location in contradictory ways. +2. **Cross-artifact conflicts** — an implementation change that + contradicts a verification change. +3. **Upstream-downstream conflicts** — a downstream change that + contradicts the intent of its upstream specification change. + +### Step 7 — Assemble Patch Produce a single structured-patch document containing: diff --git a/templates/generate-spec-changes.md b/templates/generate-spec-changes.md index 7d89fc3..fb3fe56 100644 --- a/templates/generate-spec-changes.md +++ b/templates/generate-spec-changes.md @@ -94,7 +94,39 @@ For each impacted validation entry: 4. Verify every requirement in the patch has at least one linked test case after changes are applied. -### Step 4 — Assemble Patch +### Step 4 — Invariant Check + +For every existing invariant, constraint, and assumption in the +design and validation artifacts: + +1. Verify it is **preserved** by the combined downstream changes. +2. If an invariant is **modified**, flag it explicitly and verify + the modification is justified by the upstream requirement change. +3. If an invariant is **violated**, STOP and report the conflict. + +### Step 5 — Completeness Check + +Verify every upstream requirement change has at least one downstream +change (or an explicit "no downstream impact" justification): + +1. Walk the input requirement patch manifest entry by entry. +2. Confirm each appears in the traceability matrix as Complete, + Partial (with explanation), or No-Impact (with rationale). +3. Flag any requirement change with no downstream entry as + **DROPPED** — this must be resolved before finalizing. + +### Step 6 — Conflict Detection + +Check for conflicts within the downstream change set: + +1. **Internal conflicts** — two changes that modify the same + location in contradictory ways. +2. **Cross-artifact conflicts** — a design change that contradicts + a validation change. +3. **Upstream-downstream conflicts** — a downstream change that + contradicts the intent of its upstream requirement change. + +### Step 7 — Assemble Patch Produce a single structured-patch document containing: diff --git a/templates/maintenance-workflow.md b/templates/maintenance-workflow.md index 368574a..9adbb30 100644 --- a/templates/maintenance-workflow.md +++ b/templates/maintenance-workflow.md @@ -24,7 +24,7 @@ protocols: - reasoning/iterative-refinement taxonomies: - specification-drift -format: multi-artifact +format: null params: persona: "Persona to use — select from library (e.g., software-architect, electrical-engineer)" project_name: "Name of the project, product, or system" diff --git a/templates/spec-extraction-workflow.md b/templates/spec-extraction-workflow.md index beade43..f958c5e 100644 --- a/templates/spec-extraction-workflow.md +++ b/templates/spec-extraction-workflow.md @@ -22,7 +22,7 @@ protocols: - reasoning/traceability-audit taxonomies: - specification-drift -format: multi-artifact +format: null params: persona: "Persona to use — select from library (e.g., software-architect, electrical-engineer, reverse-engineer)" project_name: "Name of the project, product, or system to bootstrap"