docs(ai-briefing): profiled rich-config convention + engine/profile split design#105
Conversation
…plit design Codify the design(ai-briefing) gate (melodic-software/medley#1392): - Playbook seam-2 amendment: profiled-folder convention (root = default profile, additive named .claude/<plugin>/<name>/ overlays) as a one-increment PRECEDENT-EXTENSION of the tracked-rich-config folder form. - docs/ai-briefing-design.md: engine/profile/personal split, branding scrub, overridable ranking-policy defaults, interim medley cutover home, and the deferred dedicated-repo record. Rationale record; emitted issue bodies stand alone. Refs melodic-software/medley#1392
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_3a865c7c-3fa0-4f68-bbf2-657d12f74bbe) |
|
Claude finished @kyle-sexton's task in 1m 59s —— View job PR Review
SummaryPure documentation PR — no executable code, no plugin manifests, no schema changes. Changes are internally consistent and well-grounded in the existing playbook conventions. Ready to merge with one minor wording note.
|
Follow-up to #105. The profiled-folder selection rule read "exactly one profile **folder** present → use it," but the `.claude/<plugin>/` root is itself a folder, so a skimming reader could misread it. Tightened to "exactly one named profile **subfolder** present." One-word clarity fix; no semantic change. Addresses the review note on #105. Refs melodic-software/medley#1392 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Documentation-only clarification with no runtime or config semantics change. > > **Overview** > Clarifies the **profiled folder** convention in `MIGRATION-PLAYBOOK.md` so the auto-selection step is not misread: the ladder now says **exactly one named profile subfolder** present → use it, instead of “exactly one profile folder,” which could be confused with the `.claude/<plugin>/` root directory (also a folder). > > The rest of the resolution ladder (`active_profile`, `--profile`, root default) is unchanged; this is wording only, not a behavior change. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 95502df. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
… position The tier-2 lowercase fallback matched the first `recommended` anywhere, so an issue whose body says "... is not recommended" before its real lowercase "recommended: ..." marker rendered the rejected option as the recommendation — the same false positive tier 1 exists to avoid. Anchor the fallback to marker position (line start, after optional list/blockquote/bold decoration), and add a discriminating fixture (#105) proving the marker beats an earlier "not recommended" line. 42/42 pass, shellcheck + typos clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>


Codifies the
design(ai-briefing)gate — the generic engine plugin + extracted-profile design and the general profiled rich-config convention that ai-briefing is the reference adopter of.What lands
docs/MIGRATION-PLAYBOOK.md) — the profiled-folder convention: files at.claude/<plugin>/are the default profile;.claude/<plugin>/<name>/subfolders are additive named overlays. Root-is-default means single-config consumers never nest and growing a profile later is additive, never a reorg. One-increment PRECEDENT-EXTENSION of the tracked-rich-config folder form; composes with the concern-named folder.docs/ai-briefing-design.md— the engine/profile/personal split, branding scrub, overridable ranking-policy defaults, interim medley-cutover home, and the deferred dedicated-SETWorks-repo record with a revisit trigger.Decisions (owner, interview mode, 2026-07-12)
.claude/ai-briefing/setworks/, plugin enabled) via a cutover; dedicated SETWorks repo deferred (clean tracked→tracked move later, no republish).setworks_impactstack lens is profile-only.Emitted issues (self-contained; do not depend on this note)
publish(ai-briefing)— author the engine plugin.cutover(ai-briefing)(medley) — shed the skill, move the profile, enable the plugin, reconcile CI/typos/html-artifacts surfaces; blocked on publish, appended to sweep.Refs melodic-software/medley#1392
Note
Low Risk
Documentation-only changes to playbook, a new design record, and README; no runtime or plugin code.
Overview
Adds documentation for the
ai-briefingmigration gate and a reusable profiled-folder tracked-config pattern.docs/MIGRATION-PLAYBOOK.mdextends seam 2 with profiled folders:.claude/<plugin>/is the default profile;.claude/<plugin>/<profile-name>/overlays it per key. Profile selection uses one present folder, elseactive_profileor--profile, else root. This is distinct from concern-named folders (multi-plugin) and composes with them.ai-briefingis named as the reference adopter.docs/ai-briefing-design.mdrecords splitting the in-repo skill into a generic engine plugin, a SETWorks named profile (interim home medley at.claude/ai-briefing/setworks/), and personal state in${CLAUDE_PLUGIN_DATA}. It documents overridable engine ranking defaults, branding scrub, deferred dedicated SETWorks repo triggers, and follow-on issuespublish(ai-briefing)andcutover(ai-briefing).README.mdlists the new design doc in the docs index.Reviewed by Cursor Bugbot for commit 7aa3794. Bugbot is set up for automated code reviews on this repo. Configure here.