From 0d035fcab63545f004b922212ef67c73d6e5fee7 Mon Sep 17 00:00:00 2001 From: bastien Date: Fri, 25 Sep 2026 16:28:21 +0200 Subject: [PATCH] feat(profile): default profile = full; reset applies it, current is label-driven MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No profile selected (.active-profile absent, empty or legacy "none") now means the `full` profile is in force: DEFAULT_PROFILE declared once in lib/profile.sh, resolved by active_profile(); the statusline reads the constant and shows `full` instead of `?`; `gstack off` trims to it instead of erroring. `reset` goes to the default profile (= `set full`: enables its list, parks any non-listed gstack or managed item). `current` names the active label and scores that profile only, saying `default — not applied yet` until a set/apply/reset wrote the cache; the "none" sentinel and the cross-profile best-guess scan are gone (they keyed on the parked-gstack count, which says nothing under BDR-030's gstack-off default). Hermetic suite lib/tests/profile-default.test.sh (29 checks) seeds gstack as OFF like a real tree. Citers updated: profile SKILL, Makefile help, plugin-advisor PROFILE line + reset paragraph, toggle-external header. --- Makefile | 4 +- agents/plugin-advisor.md | 9 +- hooks/statusline.sh | 13 ++- lib/profile.sh | 139 +++++++++++++++++------------- lib/tests/profile-default.test.sh | 131 ++++++++++++++++++++++++++++ lib/toggle-external.sh | 2 +- skills/profile/SKILL.md | 20 +++-- 7 files changed, 240 insertions(+), 78 deletions(-) create mode 100644 lib/tests/profile-default.test.sh diff --git a/Makefile b/Makefile index 9cafb35..fd551bc 100644 --- a/Makefile +++ b/Makefile @@ -62,10 +62,10 @@ profile: ## Run profile.sh (usage: make profile cmd="set design") profile-list: ## List skill profiles (design, dev, qa, audit, minimal) @bash lib/profile.sh list -profile-current: ## Detect which skill profile is currently active +profile-current: ## Show the active profile (label + match) @bash lib/profile.sh current -profile-reset: ## Re-enable all gstack skills (undo any profile set) +profile-reset: ## Go to the default profile (full) @bash lib/profile.sh reset new-skill: ## Create a new skill scaffold (usage: make new-skill name=myskill) diff --git a/agents/plugin-advisor.md b/agents/plugin-advisor.md index 5ff0df1..02df5d6 100644 --- a/agents/plugin-advisor.md +++ b/agents/plugin-advisor.md @@ -95,7 +95,7 @@ Output: `COMPLEXITY: % —