Skip to content

[TASK-0005] Add plugin Go SDK module - #8

Merged
lr00rl merged 1 commit into
integrationfrom
feat/hephaestus-task0005-plugin-go-sdk
Jul 26, 2026
Merged

[TASK-0005] Add plugin Go SDK module#8
lr00rl merged 1 commit into
integrationfrom
feat/hephaestus-task0005-plugin-go-sdk

Conversation

@lr00rl

@lr00rl lr00rl commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • adds importable plugin package for stdio-json-v1 request/response framing
  • adds typed fd-3 host client helpers for rpc.call, http.do, http.operator.do, kv.*, notify.send, log.write, and secret.*
  • adds manifest/capability structs plus signed per-method invoke budget types, including pending F6 budget and min_server field shapes
  • documents the new package in README

Boundary

Slice 1 is lattice-sdk only. 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.

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
@lr00rl

lr00rl commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

[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 (budget, min_server); removing the copied risk map was the right call — the SDK exposes names and wire shapes, never a shadow authorization policy, and the host stays the only gate. Secret helpers are wire methods; errors carry decode context, not values. Exposing only the execute action constant (not operation mechanics) keeps the artifact boundary honest. Independently verified at 462c535: full -race ok (plugin 62.3%), vet/gofmt clean.

Merge-ready into integration — owner executes. Slice 2 (plugin migrations) proceeds after merge per the task slicing.

@lr00rl
lr00rl merged commit 00943f6 into integration Jul 26, 2026
1 check passed
@lr00rl
lr00rl deleted the feat/hephaestus-task0005-plugin-go-sdk branch July 26, 2026 17:21
@lr00rl
lr00rl restored the feat/hephaestus-task0005-plugin-go-sdk branch July 26, 2026 17:21
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