Context
curator-spec dce6643 (decisions/0005-vendored-go-boundary-relaxation.md + profiles/manager.md:2.3) documents four vendored exceptions for go-v1 closed pipeline. curator:rc3 124654a (internal/godriver/graph.go) implements narrow allowlists; skill-project-management vendoring x/sys, coder/websocket masks and generators now passes curator skill check + install.
cocoaskills:main (d2db86c, src/csk/builds/go_v1.py:852/1011) still enforces strict profile:
SFiles exact reject
//go:cgo_import_dynamic exact reject
//go:generate as generator
Root == GOROOT strict
Proposal
Port the same four vendored exceptions as узкие allowlists (not broad if false):
GOROOT/src/vendor packages with ImportPath prefix vendor/ and Root=="" accepted as trusted when Standard==true && Goroot==true and directory below GOROOT (Go 1.25 quirk)
SFiles allowed only for vendored non-standard packages with no CgoFiles/CFiles/etc/host objects, where every SFiles entry is regular file below build root and package is hashed via curator-build-source-v1 (pure Go assembly, e.g. coder/websocket masks)
//go:cgo_import_dynamic remains rejected except allowlist golang.org/x/sys and golang.org/x/sys/* (zsyscall trampolines)
//go:generate in GoFiles is inert — managers MUST NOT run generators; presence in vendored GoFiles does not fail preflight (go build -mod=vendor never executes it)
Refs: curator-spec:dce6643, curator:124654a / v0.14.0-rc.3, cocoaskills:main src/csk/builds/go_v1.py:784/852/1011. Verify with csk skill check and cached curator install.
Security: exceptions do not add execution during install; artifact never executed, curator-build-source-v1 binds every vendored file.
Context
curator-specdce6643(decisions/0005-vendored-go-boundary-relaxation.md+profiles/manager.md:2.3) documents four vendored exceptions forgo-v1closed pipeline.curator:rc3124654a(internal/godriver/graph.go) implements narrow allowlists;skill-project-managementvendoringx/sys,coder/websocketmasks and generators now passescurator skill check+ install.cocoaskills:main(d2db86c,src/csk/builds/go_v1.py:852/1011) still enforces strict profile:SFilesexact reject//go:cgo_import_dynamicexact reject//go:generateas generatorRoot == GOROOTstrictProposal
Port the same four vendored exceptions as узкие allowlists (not broad
if false):GOROOT/src/vendorpackages withImportPathprefixvendor/andRoot==""accepted as trusted whenStandard==true && Goroot==trueand directory belowGOROOT(Go 1.25 quirk)SFilesallowed only for vendored non-standard packages with noCgoFiles/CFiles/etc/host objects, where everySFilesentry is regular file below build root and package is hashed viacurator-build-source-v1(pure Go assembly, e.g.coder/websocketmasks)//go:cgo_import_dynamicremains rejected except allowlistgolang.org/x/sysandgolang.org/x/sys/*(zsyscalltrampolines)//go:generateinGoFilesis inert — managers MUST NOT run generators; presence in vendoredGoFilesdoes not fail preflight (go build -mod=vendornever executes it)Refs:
curator-spec:dce6643,curator:124654a/v0.14.0-rc.3,cocoaskills:main src/csk/builds/go_v1.py:784/852/1011. Verify withcsk skill checkand cachedcurator install.Security: exceptions do not add execution during install; artifact never executed,
curator-build-source-v1binds every vendored file.