feat(profile): default profile = full; reset applies it, current is label-driven

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.
This commit is contained in:
bastien
2026-09-25 16:28:21 +02:00
parent e1963284d2
commit 0d035fcab6
7 changed files with 240 additions and 78 deletions
+4 -5
View File
@@ -95,7 +95,7 @@ Output: `COMPLEXITY: <score>% — <label>` with one-line justification.
```
PLUGIN CHECK
ACTIVE: [plugin — status, one line each]
PROFILE: [active skill profile — name + match%, or "custom"]
PROFILE: [active skill profile — name + match%, or "<name> (default — not applied yet …)"]
SIGNALS: [detected signals]
COMPLEXITY: <score>% — <simple|moderate|complex|enterprise>
PLAN: <Max|Pro|Free (echoed from REQUEST) | unknown (not provided)> (budget: ~<N>t | n/a)
@@ -313,10 +313,9 @@ matching `profile set` command:
| comprehensive audit (security + SEO + perf) | `audit` | `bash $HOME/.claude/lib/profile.sh set audit` |
| narrow session, minimal noise | `minimal` | `bash $HOME/.claude/lib/profile.sh set minimal` |
To restore the full skill set: `bash $HOME/.claude/lib/profile.sh reset`.
Plugin state is NOT touched by reset — re-enable a managed plugin manually
or by applying a profile that lists it (e.g. `apply web` to restore
`ui-ux-pro-max`).
To go back to the default profile: `bash $HOME/.claude/lib/profile.sh reset`
(= `set full`: enables full's list, parks non-listed gstack/managed items,
toggles the managed plugins like any `set`).
## BLOCK if