Back to Plate

sync shadcn user review boundary

docs/plans/2026-05-28-sync-shadcn-user-review-boundary.md

53.0.812.5 KB
Original Source

sync shadcn user review boundary

Objective: Repair sync-shadcn so planning mode stops for user review like slate-plan. Planning runs must write the range plan, update planned-state only, ask the user to review the plan, and stop. Implementation starts only on a later user instruction that accepts a named plan and slice.

Goal plan: docs/plans/2026-05-28-sync-shadcn-user-review-boundary.md

Template: docs/plans/templates/goal-repair.md

Primary template: docs/plans/templates/goal-repair.md

Applied packs:

  • none

Expectation:

  • user expectation: the plan should stop to ask for review, like slate-plan.
  • observed miss: sync-shadcn asked before implementation but still allowed a plan/delegate flow inside the same skill activation.
  • owning skill/template/helper: .agents/rules/sync-shadcn.mdc and docs/plans/templates/sync-shadcn.md; generated .agents/skills/sync-shadcn/SKILL.md must be synced by pnpm install.
  • repair classification: derived-skill two-phase user-review boundary.

Completion threshold:

  • Repair closure is legal only when the source owner is patched, generated skills are synced when .agents/rules/** changed, a source audit proves the repair text exists, the repaired template or rule is smoke-checked, deliberate non-repairs are recorded, and node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-28-sync-shadcn-user-review-boundary.md passes.
  • .agents/rules/sync-shadcn.mdc defines planning mode as plan -> stop for user review, and implementation mode as a later explicit acceptance.
  • docs/plans/templates/sync-shadcn.md includes user-review boundary rows in threshold, start gates, checklist, completion gates, phase table, and final handoff.
  • Generated .agents/skills/sync-shadcn/SKILL.md contains the boundary after pnpm install.
  • A blank instantiated sync-shadcn plan still fails check-complete.mjs.
  • No apps/www implementation files are changed.

Verification surface:

  • pnpm install generated skill sync.
  • Source audits over .agents/rules/sync-shadcn.mdc, .agents/skills/sync-shadcn/SKILL.md, and docs/plans/templates/sync-shadcn.md.
  • Template smoke using create-goal-scratchpad.mjs --template sync-shadcn.
  • Incomplete-plan guard using check-complete.mjs on the smoke plan.
  • Final repair plan check with check-complete.mjs.

Constraints:

  • Repair one expectation narrowly.
  • Patch source-of-truth files, not generated skill mirrors.
  • Do not weaken evidence safety or completion gates just to reduce annoyance.
  • Do not broaden the repair to unrelated skills/templates.

Boundaries:

  • Source of truth: latest user correction plus the pasted slate-plan user-review/execution-mode boundary.
  • Allowed edit scope: .agents/rules/sync-shadcn.mdc, docs/plans/templates/sync-shadcn.md, generated skill mirrors from pnpm install, this repair plan, and a temporary smoke plan for verification.
  • Derived skill scope: shadcn docs sync planning and accepted implementation handoff only.
  • Non-goals: no apps/www implementation, no generic autogoal changes, no new shadcn sync plan run.

Output budget strategy:

  • Use exact file reads and capped rg audits. No broad upstream diff work is needed for this repair.

Blocked condition:

  • Block only if pnpm install cannot regenerate the skill, the template helper cannot instantiate sync-shadcn, or the checker cannot validate ordinary generated plans after source-consistent fixes.

Repair state:

  • repair_type: derived-skill user-review boundary repair
  • current_phase: closeout
  • current_phase_status: complete
  • next_phase: final response
  • goal_status: active

Current verdict:

  • verdict: repair required
  • confidence: high
  • next owner: sync-shadcn source rule/template
  • reason: slate-plan has an explicit user-review boundary; sync-shadcn needs the same shape before implementation.

Completion rule:

  • Do not call update_goal(status: complete) while any required checklist item remains unchecked. If an item does not apply, check it and add N/A: <reason>.
  • Do not call update_goal(status: complete) until every completion threshold above is satisfied, final repair evidence is recorded, and node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-28-sync-shadcn-user-review-boundary.md passes.
  • Do not create hook state for this repair. This file plus the active goal are the durable state.

Start Gates:

GateAppliesEvidence
Expectation restatedyesUser asked for plan to stop and ask for review like slate-plan.
Active goal checkedyesget_goal returned no active goal; create_goal created this repair objective.
Named plan or skill readyesUser provided slate-plan body; current sync-shadcn rule/template and this plan were read.
Owning source selectedyesRepair belongs to .agents/rules/sync-shadcn.mdc and docs/plans/templates/sync-shadcn.md.
Repair classification selectedyesDerived-skill two-phase planning/review/implementation boundary.
Safety conflict checkedyesNo conflict: this prevents accidental implementation and strengthens review gating.
Output budget strategy recordedyesExact reads and capped source audits only.

Work Checklist:

  • Expectation and observed miss are stated with source evidence.
  • Primary owner selected: runtime plan, template, skill rule, or helper/checker.
  • Secondary owners are justified or marked N/A.
  • Patch touches source-of-truth files only.
  • Derived skill vs generic autogoal ownership decision is recorded.
  • Output budget discipline recorded and followed: broad searches are scoped, capped, counted, or artifacted instead of streamed into goal context.
  • Deliberate non-repairs are recorded.
  • Final response shape is recorded.

Completion Gates:

GateAppliesRequired actionEvidence
Source owner patchedyesPatch the selected source owner or record runtime-plan-only repair.agents/rules/sync-shadcn.mdc and docs/plans/templates/sync-shadcn.md patched.
Generated skill syncyesIf .agents/rules/** changed, run pnpm install and verify generated SKILL.md syncpnpm install passed; generated .agents/skills/sync-shadcn/SKILL.md includes the review boundary.
Template smokeyesInstantiate the repaired template or inspect it directly when a smoke plan would create noisenode .agents/rules/autogoal/scripts/create-goal-scratchpad.mjs --template sync-shadcn --title "sync shadcn review boundary smoke" created the smoke plan.
Incomplete-plan guardyesVerify an unfinished generated plan still fails check-complete.mjs, or record N/A with reasonnode .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-28-sync-shadcn-review-boundary-smoke.md failed as expected with unresolved sync gates, including User-review boundary recorded and User review boundary.
Completed-plan representabilityyesVerify the repaired expectation can be recorded in a completed plan without editing the template again, or record N/ATemplate now includes review status, review stop phase, user-review gate, and final handoff rows.
Helper/checker testsnoIf scripts changed, run focused script tests; otherwise N/AN/A: no helper/checker scripts changed.
Autoreview / reviewnoRun applicable review gate or record N/A for docs-only/source-rule-only repairN/A: source-rule/template-only repair, no app implementation patch.
Final lintyesRun scoped formatter/lint or record ignored-path/N/A reasongit diff --check -- ... passed; pnpm exec biome check ... passed for supported files.
Output budget disciplineyesVerify no unbounded high-volume command output was streamed, or record the accidental output and recoveryExact reads/audits used. One bad quoted rg pattern caused shell command substitution; recorded and rerun correctly.
Goal plan completeyesRun node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-28-sync-shadcn-user-review-boundary.mdPassed.

Phase / pass table:

PhaseStatusEvidenceNext
IntakecompleteCreated repair goal and goal-repair plan.target selection
Target selectioncompleteSource owner is sync-shadcn rule/template; no generic autogoal patch.patch
PatchcompleteRule/template patched.verification
Verificationcompletepnpm install, source audit, smoke template, expected incomplete-plan failure, smoke removal, diff check, and Biome supported-file check passed.closeout
CloseoutcompleteFinal response will report boundary and verification.final response

Findings:

  • Current sync-shadcn already asked before implementation, but the wording was weaker than slate-plan: it did not force a separate later activation for implementation.
  • slate-plan explicitly separates planning mode from execution mode and tells the user to invoke the skill again after reviewing the plan.

Decisions and tradeoffs:

  • Mirror slate-plan only for the user-review boundary, not its full score/pass machinery. Shadcn sync needs inventory accounting, not a Slate architecture scorecard.

Repair patch notes:

  • Added a User Review Boundary section to .agents/rules/sync-shadcn.mdc.
  • Updated docs/plans/templates/sync-shadcn.md so planning completion includes asking for review and later invocation before implementation.

Deliberate non-repairs:

  • Do not import Slate Plan scoring/pass schedule. That would be ceremony sludge for shadcn sync.
  • Do not change apps/www; this is workflow repair only.

Error attempts:

Error / failed attemptCountNext different moveResolution
rg pattern used backticks inside a double-quoted shell string and zsh tried to run sync-shadcn1Rerun with single-quoted patternReran audit successfully.

Verification evidence:

  • pnpm install passed and Skiller regenerated the generated skill.
  • rg -n 'User Review Boundary|Review the plan|planning mode|implementation mode|later user|later instruction|same activation|accepted plan path|user-review boundary|invoke \sync-shadcn` again' .agents/rules/sync-shadcn.mdc .agents/skills/sync-shadcn/SKILL.md docs/plans/templates/sync-shadcn.md` found the review boundary in source, generated skill, and template.
  • node .agents/rules/autogoal/scripts/create-goal-scratchpad.mjs --template sync-shadcn --title "sync shadcn review boundary smoke" instantiated the template.
  • node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-28-sync-shadcn-review-boundary-smoke.md failed as expected for an unfinished plan.
  • test ! -e docs/plans/2026-05-28-sync-shadcn-review-boundary-smoke.md passed after deleting the smoke file.
  • git diff --check -- .agents/rules/sync-shadcn.mdc .agents/skills/sync-shadcn/SKILL.md docs/plans/templates/sync-shadcn.md docs/plans/2026-05-28-sync-shadcn-user-review-boundary.md AGENTS.md .agents/AGENTS.md passed.
  • pnpm exec biome check .agents/AGENTS.md AGENTS.md docs/plans/templates/sync-shadcn.md docs/plans/2026-05-28-sync-shadcn-user-review-boundary.md docs/sync/shadcn/status.json passed for the supported file Biome checked.
  • node .agents/rules/autogoal/scripts/check-complete.mjs docs/plans/2026-05-28-sync-shadcn-user-review-boundary.md passed.

Final repair handoff:

  • Expectation: planning mode stops for review before implementation.
  • Repaired owner: .agents/rules/sync-shadcn.mdc and docs/plans/templates/sync-shadcn.md.
  • Files changed: .agents/rules/sync-shadcn.mdc, generated .agents/skills/sync-shadcn/SKILL.md, docs/plans/templates/sync-shadcn.md, and this repair plan.
  • Verification: pnpm install, source audit, smoke plan, expected incomplete smoke failure, smoke removal, git diff --check, and Biome supported-file check.
  • Caveat: no apps/www implementation in this repair.

Timeline:

  • 2026-05-28T14:15:58.611Z Goal repair plan created.

Reboot status:

QuestionAnswer
Where am I?Intake
Where am I going?Target selection, patch, verification, closeout
What is the goal?Add a Slate Plan-style user-review stop to sync-shadcn.
What have I learned?The previous sync flow asked a question but did not make implementation a later activation.
What have I done?Patched source rule/template, regenerated skill, smoke-tested template, and verified source audits.

Open risks:

  • None.