[feat] wire the pure starpkg domain modules into the default set (STAR-54)#17
Merged
Conversation
β¦R-54)
Wire cache, emoji, liquid, qrcode, toml, totp and yaml β the seven published
pure starpkg modules (no network, no filesystem) β so the turnkey CLI exposes
the ecosystem's full pure surface out of the box. Previously load("emoji", ...)
/ load("yaml", ...) and the other five failed under starcli even though the
modules were released.
- mods.go: import + add to cliMods + loadCLIModuleByName cases (the standard
NewModule().LoadModule() shape).
- capability.go: classify all seven as CapPure, so they load even under the
strictest --caps safe gate (no net/fs reach).
- tests: extend TestGetDefaultModules; TestLoadCLIModuleByName auto-covers the
new switch cases; add TestAllWiredModulesClassified (no wired module is left
unclassified) and TestPureDomainModulesAreSafe (emoji runs end-to-end under
--caps safe).
- go.mod/go.sum: add the seven requires (go mod tidy).
- README: refresh the -m default module list; note the new capabilities.
Full suite -race green; Docker golang:1.25 (the go floor) green; gofmt/vet clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Wire the seven published pure starpkg modules β
cache,emoji,liquid,qrcode,toml,totp,yaml(no network, no filesystem) β into starcli's default module set. Before this,load("emoji", β¦),load("yaml", β¦)and the other five failed under starcli withunknown module, even though the modules were released β a gap surfaced in review (the doc/coverage audit of the ecosystem surface).Why
starcli only wired 9 cli modules (
args/sys/gum/email/llm/markdown/cmd/sqlite/web) + the 21 starlet builtins. The pure starpkg modules were left out, so the turnkey CLI didn't expose the ecosystem's full pure surface. These seven carry no host effects, so wiring them by default is safe and convenient.Changes
cli/mods.goβ import + add tocliMods+loadCLIModuleByNamecases (the standardNewModule().LoadModule()shape).cli/capability.goβ classify all seven asCapPure, so they load even under the strictest--caps safegate.TestGetDefaultModules;TestLoadCLIModuleByNameauto-covers the new switch cases; addTestAllWiredModulesClassified(no wired module left unclassified) andTestPureDomainModulesAreSafe(emoji runs end-to-end under--caps safe).go.mod/go.sumβ add the seven requires (go mod tidy).README.mdβ refresh the-mdefault module list; note the new capabilities.Verification
-race -count=1green.golang:1.25(the go floor) green.gofmt/go vetclean.Tracks STAR-54 (under STAR-53 Β· starcli v0.2 ζΆε£). Does not touch
cmd(its execution-disabled gap is tracked separately as STAR-55).