Skip to content

refactor(ai): unify capability asset loading - #119

Merged
ice-black-tea merged 37 commits into
masterfrom
refactor/ai-capability-asset-loading
Sep 23, 2026
Merged

ice-black-tea merged 37 commits into
masterfrom
refactor/ai-capability-asset-loading

Conversation

@ice-black-tea

@ice-black-tea ice-black-tea commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • remove the public CapabilityGroup.skill_source composition path and bind Skill resources to the group's AssetStore
  • keep one loader per Asset kind; registering a loader replaces the built-in slot for that kind
  • preserve native absolute paths and executable bits only for directory-backed Skill packages whose logical resource paths map directly to one consistent local package tree
  • keep package-directory symlinks governed by the existing Asset/Sandbox policy without allowing a single file symlink to widen the package root
  • allow custom Skill declaration filenames/layouts without requiring SKILL.md
  • reject custom loaders that redirect Skill resources to another source or pre-bind Runtime snapshots
  • keep filesystem path resolution off the event loop and batch storage-owner/local-path lookup
  • keep durable Skill recovery on frozen resource snapshots

Review

Reviewed repeatedly against current master at 5897094ef564d4f86238f403bcde854dbe0e7349.

The current PR merge ref is cc26023c87a4843b9170eeaeb3369cb98d2b5400, whose parents are current master 5897094... and branch head 071374b..., so the final verification includes the current base.

Review/fix cycles closed:

  • local package root incorrectly derived from a SKILL.md symlink target
  • local path detection unnecessarily depended on SKILL.md
  • filesystem resolution ran on the event-loop thread
  • local path lookup originally introduced an unnecessary single-item public wrapper
  • remapped Asset paths could incorrectly advertise unusable logical absolute paths
  • custom loaders could pre-bind a Skill snapshot and bypass the group's AssetStore
  • redundant local-path return validation was removed

The final static review found no remaining must-fix issue in the changed scope. No compatibility fallback, secondary Skill source path, loader chain/priority system, or additional provider/registry abstraction was added.

Verification

  • targeted regression coverage includes loader replacement, custom layouts, direct/remapped local paths, symlink boundaries, executable modes, mixed overlay ownership, durable snapshots, async filesystem resolution, and batch owner lookup
  • Python checks run #2684 completed successfully
  • Python 3.10 linktools-ai checks: success
  • Python 3.x linktools-ai checks: success
  • Python 3.6 static compatibility and all other package jobs: success

@ice-black-tea
ice-black-tea merged commit 2b6b01a into master Sep 23, 2026
12 checks passed
@ice-black-tea
ice-black-tea deleted the refactor/ai-capability-asset-loading branch September 23, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant