workbench-closeout-validator
Workbench Closeout Validator
Use this skill when reviewing or automating status-changing closeout comments for Workbench, Multica, Capy, Conductor, Hermes, Codex, Linear, Slack, or PR surfaces.
The validator is anti-LGTM infrastructure: it preserves the literal verdict and
stops adapters from turning a FLAG closeout into PASS or Done.
Required Input Shape
Status-changing closeout must contain these headings in this order:
CHANGED:
VERIFIED:
REMAINING:
PRS / LINKS:
VERDICT: PASS | FLAG | BLOCK
REMAINING: is mandatory even when (none).
Local Validator
Use the strict parser, not free-form prose matching:
node scripts/workbench-closeout-validator.mjs \
--comment-file <closeout.md> \
--target-status "Done" \
--references-json <references.json> \
--affected-issues-json <affected-issues.json>
node scripts/test-workbench-closeout-validator.mjs
For Linear webhook or adapter events, use the audit-only wrapper:
node scripts/workbench-closeout-audit-linear-adapter.mjs \
--event-file <linear-closeout-event.json>
node scripts/test-workbench-closeout-audit-linear-adapter.mjs
The adapter emits WORKBENCH_CLOSEOUT_AUDIT and a sanitized follow-up payload.
It must not block, revert, or rewrite Linear status transitions.
Reference records use this public-safe shape:
[
{ "type": "contains", "id": "#24", "state": "merged" },
{ "type": "dogfood-platform", "id": "#25" },
{ "type": "discovered-via", "id": "#26" },
{ "type": "cross-issue-side-effect", "id": "SYN-40" }
]
Affected issue records use:
[
{ "id": "SYN-39", "remaining_synced": true },
{ "id": "SYN-40", "remaining_synced": false }
]
Validation Rules
DonerequiresVERDICT: PASS;FLAGorBLOCKcannot move to Done.BlockedrequiresVERDICT: BLOCK.Ready for Mergemay carryPASSorFLAG, but notBLOCK.containsreferences require merged or head-on-main proof.dogfood-platform,discovered-via, andcross-issue-side-effectreferences do not require merge proof by themselves.- If one closeout affects multiple issues and
REMAINING:is not(none), relevant remaining lines must be synced to every affected issue description or comment.
Failure Handling
Validator failures do not silently rewrite the issue status. They emit
WORKBENCH_CLOSEOUT_VALIDATION with:
validator_verdict: BLOCKfor malformed fields, verdict/status mismatch, or invalidcontainsreferences;validator_verdict: FLAGfor missing cross-issue sync proof or missing reference-state proof;follow_up_required: truewhen audit trail work must be spawned.
Live adapters should create a FLAG follow-up issue and notify Supervisor
instead of hiding the failure.
More from fearvox/multica-ultimate-workbench
workbench-conductor
Two-ring orchestration, routing, issue and comment discipline, and role boundaries for the Multica Workbench.
5workbench-sdd
Specification-driven development from raw requirement to product design, technical design, task list, execution, and verification.
5workbench-self-awareness-infra
Capability discovery and current-state verification for Heavy Path, ambiguous repo/runtime ownership, and runtime-dependent Standard Path work.
5workbench-design-docs
Product design, technical design documents, user-facing copy, specs, diagrams, and handoff documentation.
5workbench-token-context-discipline
Compact context, cache-aware execution, scoped evidence reads, and role-specific skill attachment discipline.
4workbench-product-brainstorming
Bounded product ideation, workflow design, ambition checks, tradeoffs, and smallest-test shaping.
4