Back to Plate

release changelog toggles

docs/plans/2026-06-07-release-changelog-toggles.md

53.1.37.3 KB
Original Source

release changelog toggles

Objective: Add two controls next to RSS on /docs/releases: one toggles package release notes, the other toggles Plate UI registry changes.

Completion threshold:

  • Both toggles render next to RSS.
  • Both toggles are enabled by default.
  • Package changes can be hidden without hiding Plate UI changes.
  • Plate UI changes can be hidden without hiding package changes.
  • /docs/releases still serves and the www typecheck passes.

Verification surface:

  • pnpm lint:fix
  • pnpm --filter www typecheck
  • curl http://localhost:3000/docs/releases
  • source inspection for the two independent state branches
  • node .agents/skills/autogoal/scripts/check-complete.mjs docs/plans/2026-06-07-release-changelog-toggles.md

Constraints:

  • Keep the change scoped to the releases page and release index component.
  • Do not change registry changelog data.
  • Do not commit, push, or open a PR.

Boundaries:

  • Edited apps/www/src/app/(app)/docs/releases/release-page-content.tsx.
  • Edited apps/www/src/components/release-index.tsx.
  • Browser surface: /docs/releases.
  • Tracker sync: N/A, no tracker.
  • Non-goals: no release layout redesign, no changeset, no registry data edits.

Output budget strategy: Use focused source reads, scoped checks, and short grep/curl verification.

Blocked condition: No blocker remains. The Browser plugin was not exposed by tool discovery, so interaction proof used typecheck plus HTTP-rendered markup/source inspection.

Start Gates:

GateAppliesEvidence
Skill analysis before editsyesUsed autogoal and task
Active goal checked or createdyesActive goal created for release toggles
Source of truth read before editsyesRead release page and release index components
Tracker comments and attachments readnoN/A: no tracker source
Video transcript evidence requirednoN/A: no video
docs/solutions checked for non-trivial existing-code worknoN/A: small UI toggle
TDD decision before behavior change or bug fixyesN/A: no established component test harness for this page; verified by typecheck and rendered route
Branch decision for code-changing taskyesN/A: user did not ask for branch or PR
Release artifact decisionyesN/A: app UI only, no package/runtime release artifact
Browser tool decision for browser surfaceyesBrowser tool searched; not exposed in this turn
PR expectation decisionyesN/A: user did not ask for PR
Tracker sync expectation decisionnoN/A: no tracker
Output budget strategy recordedyesFocused source reads and checks
Browser pack selectedyes/docs/releases is a browser surface
Browser route / app surface identifiedyes/docs/releases
Browser tool decision recordedyesBrowser plugin unavailable via tool discovery
Console/network caveat policy recordedyesNo Browser console access; HTTP route proof recorded

Work Checklist:

  • Objective, threshold, verification, constraints, boundaries, and blocker are concrete.
  • Source classified as user request for /docs/releases UI.
  • Video evidence marked N/A.
  • Nearby implementation patterns read.
  • State is owned at release page-content level and passed to the release index.
  • Release artifact marked N/A.
  • Final handoff shape decided.
  • Branch handling marked N/A.
  • Local-env-rot policy marked N/A; no suspicious failure.
  • Workspace authority recorded.
  • High-risk note marked N/A; small app UI state change.
  • Autoreview marked N/A; trivial two-file UI toggle.
  • Agent-native review marked N/A.
  • Output budget discipline followed.
  • Browser route and expected visible outcome recorded.
  • Browser proof caveat recorded.
  • Browser final caveat ready for handoff.

Completion Gates:

GateAppliesRequired actionEvidence
Named verification thresholdyesRun lint, typecheck, route proofAll passed or recorded below
Bug reproduced before fixnoN/AFeature request
Targeted behavior verificationyesVerify independent booleans in source and rendered buttonsSource has separate showPackageChanges and showPlateUiChanges; HTML has both pressed by default
TypeScript or typed config changedyesRun www typecheckPassed
Package exports or file layout changednoN/ANo exports/layout changes
Package manifests, lockfile, or install graph changednoN/ANo manifest changes
Agent rules or skills changednoN/ANo agent files touched
Workspace authority proofyesRun checks in /Users/zbeyens/git/plateDone
Browser surface changedyesVerify routeHTTP route proof; Browser plugin unavailable
Browser final proofyesRecord caveatNo screenshot because Browser tool unavailable
CI-controlled template output changednoN/ANo template output touched
Package behavior or public API changednoN/AApp UI only
Registry-only component work changednoN/ANo registry data/source changed
Docs or content changednoN/ANo docs content changed
High-risk mini gatenoN/ASmall local UI state change
Agent-native review for agent/tooling changesnoN/ANo agent files changed
Local install corruption suspectednoN/ANo suspicious failure
Autoreview for non-trivial implementation changesnoN/ATrivial two-file UI toggle
PR create or updatenoN/AUser did not ask
Task-style PR body verifiednoN/ANo PR
PR proof image hostingnoN/ANo PR
Tracker sync-backnoN/ANo tracker
Final handoff contractyesSummarize exact outcome and checksReady
Final lintyesRun pnpm lint:fixPassed, no fixes
Output budget disciplineyesAvoid broad outputFollowed
Goal plan completeyesRun check-completePending final gate
Browser interaction proofyesExercise route or record blockerBrowser plugin unavailable; source/HTTP proof used
Browser console/network checknoN/ABrowser plugin unavailable
Browser final proof artifactyesRecord route proof/caveatcurl returned 200 and rendered default pressed buttons

Phase / pass table:

PhaseStatusEvidenceNext
Intake and source readcompletecomponents readimplementation complete
Implementationcompletetwo-file patchverification complete
Verificationcompletelint, typecheck, curlcloseout
PR / tracker synccompleteN/Afinal response
Closeoutcompleteplan updatedfinal response

Verification evidence:

  • pnpm lint:fix passed with no fixes.
  • pnpm --filter www typecheck passed, including docs source parity and registry source checks.
  • curl -sS -o /tmp/plate-releases-toggle.html -w '%{http_code} %{content_type}\n' http://localhost:3000/docs/releases returned 200 text/html; charset=utf-8.
  • Rendered HTML includes Package changes and Plate UI buttons with aria-pressed="true" next to RSS.

Reboot status: Complete. The toggles are implemented in the releases page header and wired to the release index rendering.

Open risks: Browser plugin was unavailable, so no click screenshot/console proof was captured in this turn.