docs/plans/2026-05-25-strict-package-api-release-artifact-gate.md
Objective:
Make the package-api pack stricter so package/API work cannot finish with an ambiguous release-artifact decision.
Goal plan: docs/plans/2026-05-25-strict-package-api-release-artifact-gate.md
Template: docs/plans/templates/task.md
Primary template: docs/plans/templates/task.md
Applied packs:
Task source:
package-api, not a separate changeset pack, should own the release-artifact gate.package-api forces .changeset, registry changelog, or explicit no-artifact reason; .changeset path loads the changeset skill; registry-only work uses docs/components/changelog.mdx; lint and checker pass.Completion threshold:
docs/plans/templates/packs/package-api.md says it owns the release-artifact decision and explicitly rejects a separate changeset pack..changeset, registry changelog, or N/A: <reason>.changeset skill loading when .changeset is required and keeps registry-only work on docs/components/changelog.mdx.main.pnpm lint:fix passes and node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-25-strict-package-api-release-artifact-gate.md passes.Verification surface:
docs/plans/templates/packs/package-api.md.pnpm lint:fix.Constraints:
changeset pack.changeset prose rules inside the pack; point to the skill for writing/version rules.Boundaries:
docs/plans/templates/packs/package-api.md.Blocked condition:
Task state:
Current verdict:
Completion rule:
update_goal(status: complete) while any required checklist item remains unchecked. If an item does not apply, check it and add N/A: <reason>.update_goal(status: complete) until every completion threshold above is satisfied, final handoff evidence is recorded, and node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-25-strict-package-api-release-artifact-gate.md passes.Start Gates:
| Gate | Applies | Evidence |
|---|---|---|
| Skill analysis before edits | yes | Loaded autogoal and changeset; used changeset as release-prose policy source. |
| Active goal checked or created | yes | Active goal created for hardening package-api release-artifact gates. |
| Source of truth read before edits | yes | Read docs/plans/templates/packs/package-api.md, task template release rows, and changeset rules. |
| Tracker comments and attachments read | no | N/A: chat-only task. |
| Video transcript evidence required | no | N/A: no video. |
docs/solutions checked for non-trivial existing-code work | no | N/A: template-only policy hardening; memory/source search provided release context. |
| TDD decision before behavior change or bug fix | no | N/A: no runtime behavior. |
| Branch decision for code-changing task | no | N/A: no branch action requested and repo rule forbids proactive branch hygiene. |
| Release artifact decision | yes | The task changes the release-artifact gate itself; no actual package release artifact is needed. |
| Browser tool decision for browser surface | no | N/A: no browser surface. |
| PR expectation decision | no | N/A: no PR requested. |
| Tracker sync expectation decision | no | N/A: no tracker. |
| Agent-native pack selected | yes | Plan templates are agent workflow surfaces. |
| Agent-facing action surface identified | yes | The changed action is how agents close package/API work with release artifacts. |
| Source rule versus generated mirror boundary identified | yes | Only docs/plans/templates/packs/package-api.md changed; no generated mirror sync applies. |
agent-native-reviewer loaded or waiver recorded | yes | Loaded reviewer; scoped manual review applied to the template wording. |
Work Checklist:
<video-transcripts> XML, or marked N/A with reason..agents/**, .claude/**, .codex/**, skills, hooks, commands, prompts, or user-action tooling..agents/rules/** changed, or N/A reason is recorded.Completion Gates:
| Gate | Applies | Required action | Evidence |
|---|---|---|---|
| Named verification threshold | yes | Run source/search audits, lint, and checker | Source audit passed, pnpm lint:fix passed, checker passed. |
| Bug reproduced before fix | no | Record N/A with reason | N/A: no bug fix. |
| Targeted behavior verification | yes | Source-audit changed pack behavior | Search audit confirms strict release-artifact rows are present. |
| TypeScript or typed config changed | no | Record N/A with reason | N/A: markdown template only. |
| Package exports or file layout changed | no | Record N/A with reason | N/A: no package files changed. |
| Package manifests, lockfile, or install graph changed | no | Record N/A with reason | N/A: no manifest or lockfile edit. |
| Agent rules or skills changed | no | Record N/A with reason | N/A: no .agents/rules/** or skill mirror changed. |
| Workspace authority proof | yes | Run verification in owning repo | Commands run in /Users/zbeyens/git/plate-2. |
| Browser surface changed | no | Record N/A with reason | N/A: no browser route. |
| Browser final proof | no | Record N/A with reason | N/A: no browser route. |
| CI-controlled template output changed | no | Record N/A with reason | N/A: docs plan templates are source workflow templates. |
| Package behavior or public API changed | no | Record N/A with reason | N/A: no package behavior changed; the pack now tells future package work how to decide. |
| Registry-only component work changed | no | Record N/A with reason | N/A: no registry component changed. |
| Docs or content changed | yes | Verify source-backed claims and parser need | Markdown workflow template changed; no MDX content parser applies. |
| High-risk mini gate | yes | Record failure mode, proof plan, and boundary | Failure mode is agents skipping or misclassifying release artifacts; proof is explicit matrix in package-api. |
| Agent-native review for agent/tooling changes | yes | Load reviewer and close findings | Reviewer loaded; manual review found the action discoverable and not split into a new pack. |
| Local install corruption suspected | no | Record N/A with reason | N/A: no local corruption signal. |
| Autoreview for non-trivial implementation changes | no | Record N/A with reason | N/A: micro markdown template hardening; source audit is sufficient. |
| PR create or update | no | Record N/A with reason | N/A: no PR requested. |
| PR proof image hosting | no | Record N/A with reason | N/A: no PR image. |
| Tracker sync-back | no | Record N/A with reason | N/A: no tracker. |
| Final handoff contract | yes | Fill final handoff fields | Filled below. |
| Final lint | yes | Run pnpm lint:fix | Passed with no fixes applied. |
| Goal plan complete | yes | Run node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-25-strict-package-api-release-artifact-gate.md | Passed. |
| Knowledge extraction | no | Record N/A with reason | N/A: the reusable rule lives directly in the pack. |
| Agent source / generated sync | no | Record N/A with reason | N/A: no .agents/rules/** changed. |
| Agent action discoverability | yes | Source-audit the plan template an agent will use | package-api pack now states the matrix and skill handoff. |
| Agent-native review | yes | Load reviewer and close findings | Loaded reviewer; no actionable issue from scoped manual review. |
Phase / pass table:
| Phase | Status | Evidence | Next |
|---|---|---|---|
| Intake and source read | complete | Read pack, task template release rows, changeset skill, and memory release context. | implementation |
| Implementation | complete | Updated docs/plans/templates/packs/package-api.md. | verification |
| Verification | complete | Source audit, lint, and checker passed. | closeout |
| PR / tracker sync | complete | N/A: no PR or tracker requested. | final response |
| Closeout | complete | Plan filled; final commands close the mechanical gates. | final response |
Findings:
Decisions and tradeoffs:
changeset as the artifact-writing skill.package-api..changeset.Implementation notes:
docs/plans/templates/packs/package-api.md..changeset, registry changelog, or no-artifact reasoning.Review fixes:
Error attempts:
| Error / failed attempt | Count | Next different move | Resolution |
|---|---|---|---|
| None | 0 | N/A | N/A |
Verification evidence:
package-api states no separate changeset pack.Release artifact path selected, Published package changeset, Registry changelog, and No release artifact.pnpm lint:fix passed with no fixes applied.node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-25-strict-package-api-release-artifact-gate.md passed.Final handoff contract:
changeset skill.Final handoff / sync:
Timeline:
Reboot status:
| Question | Answer |
|---|---|
| Where am I? | Closeout |
| Where am I going? | Run lint/checker, close goal, final response |
| What is the goal? | Make package-api stricter for changeset/changelog/no-artifact decisions |
| What have I learned? | The right split is package-api for classification, changeset for writing |
| What have I done? | Updated package-api pack and plan evidence |
Open risks: