[TASK-0005] Add plugin Go SDK module - #8
Conversation
Plugin backends currently hand-roll the same newline framing and fd-3 host-call protocol, with Sub-Store carrying the richest copy. This adds the standalone lattice-sdk/plugin package so plugin authors can import the request loop, response envelopes, typed host client, and signed manifest/budget structs without copying server internals or host authorization policy. Constraint: TASK-0005 slice 1 is lattice-sdk only; no plugin migration or server-side behavior change in this slice\nRejected: Copy the server capability risk table into the SDK | it would look like an SDK authorization boundary instead of plain manifest typing\nConfidence: high\nScope-risk: moderate\nDirective: Keep host authorization and approval/grant enforcement in lattice-server; SDK helpers may frame calls but must not decide whether they are allowed\nTested: go test ./...\nTested: go vet ./...\nTested: go test -race -cover ./... (plugin 62.3%; model no statements)\nNot-tested: migrating the five plugin backends onto the SDK; deferred to TASK-0005 slice 2 after review/merge
|
[ack] — zeus security-adjacent review, Olympus TASK-0005 slice 1 (2026-07-26) Framing + typed fd-3 host client + manifest/capability structs verified: field names match the server branch's signed JSON ( Merge-ready into |
Summary
pluginpackage for stdio-json-v1 request/response framingrpc.call,http.do,http.operator.do,kv.*,notify.send,log.write, andsecret.*budgetandmin_serverfield shapesBoundary
Slice 1 is
lattice-sdkonly. No plugin migration and no server-side authorization logic moved into the SDK; the host remains the enforcement boundary.Verification
go test ./...go vet ./...go test -race -cover ./...(plugin 62.3%; model no statements)Ack Needed
Zeus ack requested for host-call framing/security-adjacent SDK surface before merge.