allod skill: derive the default skill sources from the registry's memory flag #259
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/tools#259
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Make
allod skilllist the skills of every memory repository the registry marks, so a deployment's private memory skills appear in the same default list as the public ones.Part of the memory-skills arc (this issue is the arc home):
Primary goals:
--from, the CLI lists skills from everyscripts/repositories.jsonentry carrying"memory": true(allod/inventory#20) whose checkout exists under the work directory; the hardcodedallod/memorydefault goes away.allod skilland resolve forallod skill <name>with no extra flags.allod skillrun from~/worklists skills instead of scanning theallod/memorycheckout root.Current state and specifics
cmd/allod/skill.go:99-114(origin/master):resolveSkillDirsdefaults targets to the single registry idallod/memory, and stats each target as a directory before consulting the registry. Run from~/work, the default id names an existing relative directory, so it is used as the skills directory itself: every checkout-root subdirectory (.git,adapters,skills, …) is named on stderr as lacking a SKILL.md and the command exits 1 with "no skills found". From~/work/allodthe same command works.cmd/allod/registry.go:10-14:registryEntrylacks thememoryfield allod/inventory#20 introduced; addMemory boolwith thejson:"memory"tag.registryEntries(registry.go:60-68) already tolerates a missing or malformed registry.skillList(skill.go:44-52) prints one line per skill per directory with no cross-source dedupe;skillShow(skill.go:67-87) already dedupes first-seen. Sorted registry-id order makes both deterministic; todayallod/memorysorts before a deployment's private fork, so public skills list first. Name collisions: first in that order wins; say so in the usage text.reposlists govern which machines clone which repos, andallod skillmust not fail because one memory repo is not checked out here. Explicit--frombehavior is unchanged.vnprc/agent-memory, checkoutagent-memory) already keepsskills/with four skills; today they are reachable only as--from agent-memory/skills. Its registry registration is deployment work tracked in the private child issue.skillUsageTextand the README line "Defaults toallod/memory" need updating to describe the registry-derived default.Scope
In scope:
resolveSkillDirsdefault-source derivation and resolution order, theregistryEntry.memoryfield, deterministic ordering and dedupe inskillList, usage-text and README updates, tests. Out of scope: any change tobriefLimitor description content (the child issues own the description shape); CLI-side enforcement of description length; the harness memory-bootstrap transition (allod/archetypes#124, already merged).Validation
allod skill <name>resolves to the first source.allod skillfrom~/workand from~/work/allodboth list the public skills with no stderr noise; after the private fork is registered, its four skills appear in the same list.Arc task list (filling in the child numbers):