feat(pattern-model): outcome-framed patterns + shared layer + web-product reframe#11
Merged
Conversation
…duct reframe Adopt the outcome-framed pattern model (Ask users for… / Help users to… / Pages): shared cross-medium concepts factored to a top-level reference/patterns/ layer, single-medium patterns staying in-medium, and a medium's patterns/ folder only ever holding patterns it implements (no bloat). First cut — web-product full reframe + slides/web-marketing placeholder scaffolding; Blocks deferred. - Extend check-reference.mjs structure gate to allow reference/patterns/ (shared concepts) alongside media-types/<medium>/patterns/ - Add reference/patterns/overview.md (the model, passive) + help-users/describe-a-case-study.md (worked cross-medium concept; slides impl linked, web-marketing TBD, no web-product entry) - Reframe + rename web-product patterns via git mv: authentication→sign-in, forms→complete-a-form, dashboards→dashboard, documentation kept; lead with user goal/context/principles, fold detail under "Solution in web-product"; README reindexed by Ask/Help/Pages - Light-touch slides/web-marketing pattern-model notes; wire slides case-studies Implements link to the shared concept - Add contribute/proposing-a-pattern.md (Medium/Heavy; proposing-a-block deferred), linked from overview + CONTRIBUTING + proposing-a-reference-change - Update create-web-app pattern-loading refs; record renames in MIGRATION-MAP - Regenerate plugin payloads; gates green (reference:check --all, verify:plugins) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adopts the outcome-framed pattern model in
kuat-agent-rules— implementing the resolved design indocs/migration/kuat-pattern-model.md(§9, Ed) per the execution promptdocs/migration/pattern-model-rollout-prompt.md. First cut: web-product full reframe + placeholder/shared scaffolding for slides & web-marketing. Blocks deferred.Why
Patterns were UI-named, single-medium-only scenarios with no way to express a concept shared across media (e.g. a case study told in slides vs on a marketing page) without duplication. This adopts GOV.UK-style outcome framing (Ask users for… / Help users to… / Pages) and a concept↔implementation split: shared concepts factored to a top-level layer only when cross-medium, single-medium patterns staying in-medium, and a medium's
patterns/folder only ever holding patterns it implements (no bloat).What changed
skills/scripts/check-reference.mjsstructure()to allow the shared layerreference/patterns/alongsidemedia-types/<medium>/patterns/. (Required first: the check walks the whole tree, so the new folder was illegal until extended.)reference/patterns/overview.md(the model, passive) +help-users/describe-a-case-study.md(the worked cross-medium concept — slides implementation linked, web-marketing TBD, no web-product entry).git mv, history preserved):authentication→sign-in,forms→complete-a-form,dashboards→dashboard,documentationkept. Each leads user goal → context → principles, folds existing layout/design/content/a11y/impl detail under Solution in web-product, then Best Practices + Examples. README reindexed by Ask/Help/Pages.slides/patterns/case-studies.mdgains an Implements: link to the shared concept.contribute/proposing-a-pattern.md(Medium/Heavy;proposing-a-blockdeferred), linked from overview, CONTRIBUTING, and proposing-a-reference-change.create-web-apppattern-loading refs updated to the reframed slugs; renames recorded inreference/MIGRATION-MAP.md.plugins/**regenerated viabuild:plugins.Reviewer notes
proposing-a-block; docs only mention a Block could link later.plugins/**changes are generated (npm run build:plugins) — review the source underreference/,contribute/,skills/; do not hand-edit payloads.docs/migration/verification reports + eval outputs still cite the old pattern paths by design — they're point-in-time records; the rename is carried by MIGRATION-MAP, not by rewriting history.Verification (all green)
reference:check --all— passive, 337 links resolve, structure, token drift ✅verify:plugins— both payloads, snapshot 0 broken, 7 contributor skills kept out ✅patterns/holds only its own ✅Full write-up:
docs/migration/report-pattern-model.md. Decisions logged indocs/migration/LOG.md.🤖 Generated with Claude Code