Centralize gstack toggling in the `profile` command without losing the
active-profile label.
- `gstack on` re-enables ALL parked gstack skills (moves
skills-disabled/gstack__* back) but does NOT touch .active-profile,
so the user layers full gstack on top of their current profile and
the statusline label is preserved. Unlike `reset`, which clears the
label to "none".
- `gstack off` disables gstack skills not listed in the active profile;
errors cleanly when no profile is active (needs one to know what to
keep).
Refactor (behavior-preserving): extract three shared helpers
`enable_all_gstack`, `disable_gstack_not_in`, `parked_gstack_count` and
rewire `cmd_reset` + `cmd_set` to reuse them instead of duplicating the
symlink-toggle loops. Wire `gstack` into main() dispatch, usage(), and the
header usage block.
Docs: SKILL.md argument-hint, examples, and output-policy updated. The
generic `make profile cmd="gstack on"` target already covers Make usage.
Verified: shellcheck CLEAN, `bash -n` OK, 6-case test (help, bad-action,
off-with-no-profile, on, off-trim, on-cycle) with final assertion that the
live symlink state was restored exactly to its pre-test value.
Memory: capitalize BDR-018 (decision), LRN-024 (DRY helper-extraction
pattern), BLK-007 (6 gstack source skills ios-*/spec unlinked post
submodule bump — open follow-up), EVAL-002 (self-eval, false "full.profile
bug" flag corrected pre-edit). Backfill index drift: BDR-017, BLK-005/006.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
| type | entry_prefix | schema | rules | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| evals_registry | EVAL |
|
|
Evals registry (EVAL)
Index
| ID | Date | Output | Action |
|---|---|---|---|
| EVAL-001 | 2026-04-23 | .claude/ restructure plan (ship-feature STEP 2) |
keep |
| EVAL-002 | 2026-06-02 | profile gstack on/off verb implementation |
keep |
EVAL-001 — .claude/ restructure plan
- Date: 2026-04-23
- Output: 21-task plan migrate
tasks/to.claude/tasks/+ create.claude/memory/+.claude/audits/+ integrate CAPITALIZE across 5 skills + add/closeskill. - Method: manual review of 5 impacted skills/agents; verified
rtkpath-agnostic; confirmed~/.claude/CLAUDE.mdsymlinks to project (single file edit). Radical-honesty check on session-close ritual: confirmed aspirational without skill integration → scope expanded to Option D. - Anomalies: none blocking. Note:
tasks/LESSONS.mdempty (101B, header only) — migration tolearnings.mdsymbolic. - Action: keep — plan validated, ready for execution.
EVAL-002 — profile gstack on|off verb implementation
- Date: 2026-06-02
- Output:
cmd_gstack()+ 3 extracted helpers inlib/profile.sh;cmd_reset/cmd_setrefactored to reuse;skills/profile/SKILL.mddoc updated. - Method: shellcheck 0.10.0 (CLEAN) +
bash -n; 6-case live test (help; bad-action exit 1;offwith active=none → exit 1 zero-mutation;onrestores 14 + labelfullpreserved NOT cleared;offtrim;oncycle) with saved manifest + final assertion final-state == original (PASS, live env untouched). - Anomalies: (1) Initial flag "full.profile omits ios/spec = bug" WRONG — full curated by design, confirmed by BDR-017 caveat. Self-corrected BEFORE any edit, no bad change shipped. Lesson: verify profile INTENT vs source completeness before calling omission a bug. (2) Surfaced real source-only gap → BLK-007 (open).
- Action: keep — verb works, tested, documented; false bug-flag caught pre-edit.