fix(skills): persist per-skill toggles in Antares configuration - #44
elliottophellia wants to merge 3 commits into
Conversation
|
Shipped in #42 is a strict superset of this branch: all 22 files here are also in #42, and Test coverage carried over too. Two of this branch's tests exist under names adapted to #42's architecture, and both pass:
Verified on the merged tree: Noted your "please do not merge yet" — this closes as delivered-via-#42, not as a merge of this branch. Nothing here is dropped. Reopen if you intended changes beyond what #42 carried. Review note carried forward: |
Changes
skills.disabled, keyed by exact, case-sensitive skill name. Toggles persist atomically and publish live state without rewriting skill files; missing names retain preferences.enabled: falseheaders once usingskills.frontmatter_migrated. Incomplete imports abort startup/reload without marking migration complete. Environment-only settings are not persisted by these helpers./skillsretain off entries. Content saves do not re-enable names.Boundaries
skills.enabledremains the independent global gate. Disabling cannot retract model context already sent and does not restrict generic filesystem tools. A successful save followed by failed reload remains persisted but returns HTTP 500.This branch starts from
mainand is independently reviewable from #42. Compatible changes were separately appended to the discovery branch with source-SHA provenance; this PR does not include automatic discovery or project scoping.Checkpoints
30e08ff— configuration persistence, migration, effective state, and HTTP publication.0980eb5— disabled skill-tool access enforcement.a380abd— dashboard persistence-error handling.Verification
Passed with Go 1.26.7:
go test ./...go test -race ./internal/config ./internal/skills ./internal/agent ./internal/commands ./internal/server ./cmd/antaresmake build build-fixturebun test: 86 passed, 0 failed.The existing DNS-dependent
TestValidateCustomProviderBaseURLintermittently timed out resolvingopenrouter.ai; final full and race suites passed. Unmodifiedmake smokewas not used as feature proof because its fixture disables skills.Please do not merge yet.