Maintain a verification workflow
Treat the request text that activated this skill as the verification surface to audit.
This method repairs verifier drift. When evidence exposes a product defect, report it and route
authorized product repairs to pkstack-verified-goal with
the unchanged expectation. A verifier-maintenance request alone does not authorize product edits.
Do not assume a passing old check still covers current behavior. Preserve this sequence:
- Locate the surface. Find the authoritative verification skill, its feature-map index, every
feature record, executable commands, implementation entrypoints, and existing evidence. Use
.pkstack/bin/projectctl feature list --output json and feature show <slug> --output json when
PKStack is set up. Feature records use schema 2; unsupported records need a fresh reviewed
contract grounded in the current implementation and public surface.
- Check index hygiene. Reconcile the index, feature files, and user-visible surface. Record
missing, stale, duplicate, or orphaned entries before editing.
Also find native
.kiro/specs/*/pkstack-verification.json bridges. Treat their
requirements.md or bugfix.md, design.md, and tasks.md as Kiro-owned planning artifacts;
reconcile each bridge to its exact published feature or reviewed command without rewriting the
native plan.
- Run independent source audits. Keep one live coordinator responsible for the shared runtime
and evidence surface. Assign one read-only native Kiro sub-agent per feature when the
records are independent. Each compares the claimed behavior and path with current code and real
entrypoints and returns file pointers, drift, and risks. Do not let auditors edit shared files.
- Reconcile first. Combine the audits into one coverage ledger. Classify each feature as
clean, changed, or blocked and distinguish product drift from verifier drift.
- Run the mandatory live pass. The single coordinator exercises every feature's launch,
doctor/preflight, drive,
evidence capture, failure recovery, evidence survival, and cleanup/residue checks on its real
surface. Static inspection or a unit-only shortcut cannot replace this pass. After an initial
failed drive, allow exactly one recovery retry. If the real surface remains unreachable, record
verified-unreachable with the failed commands and environment evidence rather than retrying
indefinitely or substituting inspection. Verify that failed attempts leave no unsafe residue and
that bounded evidence remains available after cleanup.
- Triage and repair verifier scope. Modify only the project-local, user-owned verification skill
and feature records unless the user separately requested product repairs. Never relax an
expectation to preserve green output. Keep blocked checks explicit.
- Prove or stop. For every remaining initial-map draft, review its complete contract and run
.pkstack/bin/projectctl feature publish <slug> --output json; publication executes the stored
verifier and changes draft state only after it passes. For an already published verifier changed
during this pass, run feature verify <slug> --output json. Never hand-edit draft: false or use
another feature's evidence. Then run .pkstack/bin/projectctl feature validate --output json and
nearby tests. Report a clean, changed-and-proved, verified-unreachable, or blocked outcome. When
verifier assets changed and the user separately authorized a pull request, group the maintenance
result into one reviewed pull request rather than one per feature. Without that authorization,
leave the local result and report the exact next action.
- Refresh spec bindings last. After a changed feature passes its required proof, rerun
.pkstack/bin/projectctl goal bind-spec <spec-name> --feature <slug> --output json. An identical
bridge is a no-op. A changed bridge requires explicit --overwrite only after comparing the old
and new contracts. Never preserve green output by pointing a spec at a weaker verifier.
Keep scratch audit notes uncommitted. Return the index reconciliation, per-feature outcome, changed
contracts, exact live runs, recovery and residue results, observed side effects, and unverified gaps.
1---2name: maintain-verification-skill3description: Audit and update an existing verification workflow against current user-visible behavior while preserving scope, safety, and executable proof.4---56# Maintain a verification workflow78Treat the request text that activated this skill as the verification surface to audit.910This method repairs verifier drift. When evidence exposes a product defect, report it and route11authorized product repairs to [`pkstack-verified-goal`](../pkstack-verified-goal/SKILL.md) with12the unchanged expectation. A verifier-maintenance request alone does not authorize product edits.1314Do not assume a passing old check still covers current behavior. Preserve this sequence:15161. **Locate the surface.** Find the authoritative verification skill, its feature-map index, every17 feature record, executable commands, implementation entrypoints, and existing evidence. Use18 `.pkstack/bin/projectctl feature list --output json` and `feature show <slug> --output json` when19 PKStack is set up. Feature records use schema 2; unsupported records need a fresh reviewed20 contract grounded in the current implementation and public surface.212. **Check index hygiene.** Reconcile the index, feature files, and user-visible surface. Record22 missing, stale, duplicate, or orphaned entries before editing.23 Also find native `.kiro/specs/*/pkstack-verification.json` bridges. Treat their24 `requirements.md` or `bugfix.md`, `design.md`, and `tasks.md` as Kiro-owned planning artifacts;25 reconcile each bridge to its exact published feature or reviewed command without rewriting the26 native plan.273. **Run independent source audits.** Keep one live coordinator responsible for the shared runtime28 and evidence surface. Assign one read-only native Kiro sub-agent per feature when the29 records are independent. Each compares the claimed behavior and path with current code and real30 entrypoints and returns file pointers, drift, and risks. Do not let auditors edit shared files.314. **Reconcile first.** Combine the audits into one coverage ledger. Classify each feature as32 **clean**, **changed**, or **blocked** and distinguish product drift from verifier drift.335. **Run the mandatory live pass.** The single coordinator exercises every feature's launch,34 doctor/preflight, drive,35 evidence capture, failure recovery, evidence survival, and cleanup/residue checks on its real36 surface. Static inspection or a unit-only shortcut cannot replace this pass. After an initial37 failed drive, allow exactly one recovery retry. If the real surface remains unreachable, record38 **verified-unreachable** with the failed commands and environment evidence rather than retrying39 indefinitely or substituting inspection. Verify that failed attempts leave no unsafe residue and40 that bounded evidence remains available after cleanup.416. **Triage and repair verifier scope.** Modify only the project-local, user-owned verification skill42 and feature records unless the user separately requested product repairs. Never relax an43 expectation to preserve green output. Keep blocked checks explicit.447. **Prove or stop.** For every remaining initial-map draft, review its complete contract and run45 `.pkstack/bin/projectctl feature publish <slug> --output json`; publication executes the stored46 verifier and changes draft state only after it passes. For an already published verifier changed47 during this pass, run `feature verify <slug> --output json`. Never hand-edit `draft: false` or use48 another feature's evidence. Then run `.pkstack/bin/projectctl feature validate --output json` and49 nearby tests. Report a clean, changed-and-proved, verified-unreachable, or blocked outcome. When50 verifier assets changed and the user separately authorized a pull request, group the maintenance51 result into one reviewed pull request rather than one per feature. Without that authorization,52 leave the local result and report the exact next action.538. **Refresh spec bindings last.** After a changed feature passes its required proof, rerun54 `.pkstack/bin/projectctl goal bind-spec <spec-name> --feature <slug> --output json`. An identical55 bridge is a no-op. A changed bridge requires explicit `--overwrite` only after comparing the old56 and new contracts. Never preserve green output by pointing a spec at a weaker verifier.5758Keep scratch audit notes uncommitted. Return the index reconciliation, per-feature outcome, changed59contracts, exact live runs, recovery and residue results, observed side effects, and unverified gaps.