Skip to content

feat: enforce agent-executed UAT run with PR-attached results before ship hand-back - #100

Merged
utx0 merged 44 commits into
mainfrom
metta/enforce-agent-executed-uat-run-results-attached-pr-before
Aug 23, 2026
Merged

feat: enforce agent-executed UAT run with PR-attached results before ship hand-back#100
utx0 merged 44 commits into
mainfrom
metta/enforce-agent-executed-uat-run-results-attached-pr-before

Conversation

@utx0

@utx0 utx0 commented Aug 23, 2026

Copy link
Copy Markdown
Member

Summary

Every ship-path skill (metta-ship, metta-propose, metta-quick, metta-auto, metta-fix-issues, metta-fix-gap) now runs the archived UAT.md through the metta-uat-runner subagent between metta finalize and git push, attaches a ## UAT results summary to the PR (body at create, comment on an existing PR), and treats any failed step as a hand-back blocker — the PR stays open, unmerged, and flagged. Manual-acceptance steps skip and never block; machine-verified steps pass automatically.

  • Config: uat.enforce_on_ship (default on — Zod .default(true), omitted-key default, and explicit enforce_on_ship: true in the metta install scaffold; opting out is the explicit action)
  • Finalize: metta finalize --json now emits uatEnforceOnShip beside uatPath; abort/dry-run paths hardcode true (fail-toward-enforce); absent field in older payloads is treated as true
  • Skills: shared frozen "UAT gate (before hand-back)" block (U0–U6), byte-identical canonical sentence across all 12 skill files; metta-ship gains Agent in allowed-tools plus an already-finalized branch with a reuse short-circuit; fix-issues/fix-gap tie issue/gap removal to a passed gate; propose distinguishes "PR open, flagged — UAT failed" from the ready hand-back
  • Tests: new tests/skill-uat-ship-gate.test.ts (39 grep-assert ordering/identity assertions) plus extensions to config-loader, cli-install, finalizer, and cli-finalize suites
  • Specs: delta requirements merged into finalize-ship (8 ADDED, 1 MODIFIED); guard hooks, metta-uat-runner agent, /metta-uat skill, and uat-generator deliberately untouched

Verification: 135 test files, 2756 passed, 2 skipped, 0 failed; tsc --noEmit, lint, and build clean. Review: correctness PASS_WITH_WARNINGS (minor), security PASS_WITH_WARNINGS (minor), quality PASS — no critical/major findings. Spec traceability: 24/24 delta scenarios evidenced.

UAT results

Result: 8 pass / 0 fail / 35 skip (of 43 steps) — PASS
Run: 2026-08-23 · record committed as docs(enforce-agent-executed-uat-run-results-attached-pr-before): UAT run record (72fa3e0) · spec/archive/2026-08-23-enforce-agent-executed-uat-run-results-attached-pr-before/UAT.md

Skipped — needs manual acceptance

The 35 skipped steps require live ship-path skill executions, real PR operations (gh pr create/comment/merge), live guard-hook sessions, or metta finalize/metta install invocations forbidden to the runner. Static ordering and identity guarantees for those flows are covered by the passing skill-uat-ship-gate suite (39/39). Full per-step reasons are in the committed run record.

Passed steps include: schema default-on (omitted key → enforce_on_ship: true), strict rejection of unknown/non-boolean uat config, metta-ship Agent allowed-tools in both byte-identical copies, single-runner-path confirmation, skip-not-fail semantics, and the full test-suite gate.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK

ryder and others added 30 commits August 23, 2026 16:12
…install-scaffold default-on for enforce_on_ship
…fold explicit uat.enforce_on_ship in install config

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AA8wwFpob25iYZFCBBEtKK
… uat override into scaffolded config block in finalize CLI test
ryder added 14 commits August 23, 2026 17:05
@utx0
utx0 merged commit 406264d into main Aug 23, 2026
2 checks passed
@utx0
utx0 deleted the metta/enforce-agent-executed-uat-run-results-attached-pr-before branch August 23, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant