Skip to content

Sync upstream silo-plugin-sdk (2 commits) + fix broken main build - #15

Merged
JonahMMay merged 5 commits into
mainfrom
sync/upstream-2026-10-12
Oct 12, 2026
Merged

JonahMMay merged 5 commits into
mainfrom
sync/upstream-2026-10-12

Conversation

@JonahMMay

@JonahMMay JonahMMay commented Oct 12, 2026 •

Copy link
Copy Markdown

Brings in Silo-Server/silo-plugin-sdk up to d8cb03a (Silo-Server#41 stable event_id for delivered events, grpc 1.83.2).

The merge was made with the new rebrand-aware sync tool (prairie_sync.py merge): upstream is rebranded before the 3-way merge, and the merge commit's second parent is the real upstream commit, so ancestry is preserved. Land with "Create a merge commit"; do not squash.

Second commit fixes main, which doesn't build today (CI on 1c4d83d is red):

  • auth_provider.proto imported silo/plugin/v1/common.proto
  • common.proto declared go_package as github.com/Prairie-Server/...; every other proto uses the lowercase module path, so regenerating produced an import cycle
  • examples/hello-scan-source still imported github.com/Silo-Server/silo-plugin-sdk
  • auth-provider test fixtures still used silo_api_version / silo.plugin.v1.*

All .pb.go files were regenerated with protoc-gen-go v1.36.11 and protoc-gen-go-grpc v1.6.1 (as pinned in the Makefile). go build ./..., go vet ./... and go test ./... pass locally.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added guidance on event delivery, including retries, delivery order, possible event loss, and handling duplicate events.
    • Updated product and setup references to use Prairie naming.
  • New Features
    • Supported event deliveries now include an identifier that can help consumers recognize retries and avoid processing the same event more than once.
  • Chores
    • Updated the plugin example and related references to use Prairie naming and configuration.

dependabot Bot and others added 4 commits October 12, 2026 10:39
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.82.1 to 1.83.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.82.1...v1.83.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.83.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…o-Server#41)

* feat(eventconsumer): give each delivered event a stable event_id

Silo is moving plugin event delivery to at-least-once: the API server that
produced an event stores it, any API server delivers it, and a failed or
timed-out delivery is retried. HandleEventRequest gains event_id, the same
on every attempt and for every installation, so a consumer can skip an
event it has already handled. runtime-host.md documents the delivery
contract.

The field is additive: older hosts leave it empty and older plugins ignore
it.

Refs Silo-Server#40

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(eventconsumer): say which events can be lost and that one process sees each

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(eventconsumer): a call that takes over 10 seconds is retried

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* docs(eventconsumer): never deduplicate on an empty event_id

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2 upstream commits since 368db36. Rebrand-aware merge by
scripts/upstream-sync/prairie_sync.py (base=rebrand(merge-base), theirs=rebrand(upstream)).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The previous sync brought the auth-provider surface in unrebranded:
auth_provider.proto imported silo/plugin/v1/common.proto,
common.proto's go_package used the wrong module casing (an import cycle
once regenerated), and examples/hello-scan-source still imported the Silo
module, so `go build ./...` failed on main. Fix those, rebrand the test
fixtures (prairie_api_version, prairie.plugin.v1 services), and regenerate
every .pb.go with protoc-gen-go v1.36.11 / protoc-gen-go-grpc v1.6.1.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: bddd0677-1a6b-40d9-87ec-18259cf3ff92

📥 Commits

Reviewing files that changed from the base of the PR and between eb81757 and 1e035cb.


📒 Files selected for processing (6)
  • docs/auth-provider.md
  • docs/network-access-provider.md
  • docs/scan-source.md
  • examples/hello-scan-source/README.md
  • examples/hello-scan-source/manifest.json
  • pkg/pluginsdk/runtime/auth_provider_test.go

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.



📝 Walkthrough

Walkthrough

The event-consumer request adds an event identifier, and runtime-host documentation describes delivery and retry semantics. The example, tests, protobuf declarations, and host documentation update Silo references and SDK paths to Prairie equivalents.

Changes

Event delivery contract

Layer / File(s) Summary
Event identifier contract
proto/prairie/plugin/v1/event_consumer.proto, docs/runtime-host.md
HandleEventRequest adds event_id. The documentation describes its use across retries and installations, delivery attempts, and older-host behavior.

Prairie SDK naming

Layer / File(s) Summary
Prairie protobuf naming and comments
proto/prairie/plugin/v1/*.proto
The protobuf Go package path and authentication import use Prairie naming. Authentication and watch-sync comments replace Silo references with Prairie references.
Prairie SDK references in examples and tests
examples/hello-scan-source/*, pkg/pluginproto/prairie/plugin/v1/*, pkg/pluginsdk/convert/*, pkg/pluginsdk/manifest/*, pkg/pluginsdk/runtime/*
The example and tests use Prairie SDK paths, manifest fields, plugin IDs, and service names. Existing registration expectations remain in place.
Prairie host and example documentation
docs/auth-provider.md, docs/network-access-provider.md, docs/scan-source.md, examples/hello-scan-source/README.md, examples/hello-scan-source/manifest.json
The documentation and example manifest use Prairie names and paths. The described scan-source and auth-provider rules remain unchanged.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Suggested reviewers: quick104


Merge Risk: ⚪ Minimal · up to 1e035

The SDK adds the event ID contract and updates Prairie references; the inspected SDK and example boundaries are consistent. No concrete merge-blocking risk was identified, though host-side event delivery is implemented outside this repository.

Pre-merge checks · Passed 4 · Failed 1

Failed Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 9 files. (5 skipped: 5 … Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks (4 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies both primary changes: syncing the upstream SDK and fixing the main build.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 9 files. (5 skipped: 5 unsupported.)


  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

These arrived in an earlier unrebranded sync. The example manifest used
silo_api_version, which the Prairie host does not read, so the example
plugin would not load.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@JonahMMay
JonahMMay merged commit 3ea8c11 into main Oct 12, 2026
2 checks passed
@JonahMMay
JonahMMay deleted the sync/upstream-2026-10-12 branch October 12, 2026 21:15
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.

2 participants