Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Bug report
description: Report incorrect behavior with a reproducible example.
body:
- type: markdown
attributes:
value: |
For security vulnerabilities, use [private reporting](https://github.com/batchstream/weir-protocol/security/advisories/new).
Remove credentials, private endpoints and document data from logs and configuration.
- type: input
id: version
attributes:
label: Protocol version
description: Module version from `go.mod`, or commit SHA.
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Go version and the server or SDK version that consumes this protocol.
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Steps to reproduce
description: Include the smallest request, script or test case that reproduces the problem.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected and actual behavior
validations:
required: true
- type: textarea
id: diagnostics
attributes:
label: Logs and configuration
description: Relevant, redacted diagnostics. For performance issues, include the workload and resource limits.
render: text
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: true
contact_links:
- name: Documentation
url: https://github.com/batchstream/weir-protocol#readme
about: Usage and development guide for this repository.
- name: Weir server issues
url: https://github.com/batchstream/weir/issues
about: Report problems specific to the Weir server.
- name: Security vulnerability
url: https://github.com/batchstream/weir-protocol/security/advisories/new
about: Report a vulnerability privately.
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Feature request
description: Propose an improvement to the Weir protocol.
body:
- type: textarea
id: problem
attributes:
label: Problem or use case
description: What are you trying to achieve, and what is difficult today?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed behavior
description: Describe the desired API or user experience, with an example if possible.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives and constraints
description: Existing workarounds, affected backends and operational constraints.
4 changes: 4 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- Explain the problem and resulting behavior. Link a related issue if applicable. -->

<!-- Describe the validation performed and any remaining gaps. For public API changes,
link the coordinated protocol, SDK, chart and system test changes. -->
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Contributing to the Weir protocol

Focused fixes, documentation improvements, tests and proposals are welcome. Schema
changes reach every client and server, so open an
[issue](https://github.com/batchstream/weir-protocol/issues/new/choose) first and link the coordinated
[server](https://github.com/batchstream/weir) and [SDK](https://github.com/batchstream/weir-go) changes.

## Report a problem

Use the issue forms and include the protocol version, the server or SDK that
consumes it, the expected result and a minimal reproduction. Remove credentials and
private data from logs and configuration.

For vulnerabilities, follow [SECURITY.md](SECURITY.md).

## Work locally

Install the Go version declared in [go.mod](go.mod).

```sh
git clone https://github.com/batchstream/weir-protocol.git
cd weir-protocol
go test -race ./...
go vet ./...
```

Default tests use in-memory protocol data. To regenerate code, install the
[exact tool versions](README.md#generate), then run `./scripts/generate.sh` and
`git diff --exit-code`.

## Prepare a pull request

- Keep the change focused and explain the observed problem and resulting behavior.
- Add a regression test when fixing behavior.
- Commit generated code from `scripts/generate.sh` together with the `.proto` change.
- Keep the dependency direction one-way: this module depends on neither the server nor the SDK.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Randy

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Weir public protocol

[![CI](https://github.com/batchstream/weir-protocol/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/batchstream/weir-protocol/actions/workflows/ci.yml) [![Go Reference](https://pkg.go.dev/badge/github.com/batchstream/weir-protocol.svg)](https://pkg.go.dev/github.com/batchstream/weir-protocol) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

Shared public schemas, generated Go types and validation for Weir servers and
clients. Requires Go 1.27.3.

Expand Down
17 changes: 17 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Security policy

## Report a vulnerability

Use GitHub's private
[Report a vulnerability](https://github.com/batchstream/weir-protocol/security/advisories/new)
form. Include the affected protocol version or commit, reproduction steps, impact,
and relevant deployment settings with credentials and private data removed.
Please keep exploit details out of public issues while a report is being
investigated.

## Versions

Check whether an issue is still present on the
[latest release](https://github.com/batchstream/weir-protocol/releases/latest). Older releases do not have
a guaranteed security backport schedule. Report suspected vulnerabilities even if
you cannot reproduce them on the latest release.