Mnt is now a built-in capability of the Core struct, not a service:
c.Mnt().ReadString("persona/secops/developer.md")
c.Mnt().Extract(targetDir, data)
Changes:
- Move mnt.go + mnt_extract.go into pkg/core/ (same package)
- Core struct: replace `assets embed.FS` with `mnt *Sub`
- WithAssets now creates a Sub mount (backwards compatible)
- Add WithMount(embed, "basedir") for subdirectory mounting
- Assets() deprecated, delegates to c.Mnt().Embed()
- Top-level core.go re-exports Mount, WithMount, Sub, ExtractOptions
- pkg/mnt still exists independently for standalone use
One import, one struct, methods on the struct:
import core "forge.lthn.ai/core/go"
c, _ := core.New(core.WithAssets(myEmbed))
c.Mnt().ReadString("templates/coding.md")
Co-Authored-By: Virgil <virgil@lethean.io>