Governance
May 28, 2026 · View on GitHub
Pilot Protocol is an open-source project. This document describes how the project is maintained, how decisions are made, and how to report issues.
Maintainers
The Pilot Protocol repository is maintained by:
- Teodor Calin
- Alex Godoroja
The maintainers set technical direction and operate the managed service.
Commit access is restricted to the maintainers. Direct pushes to main
are normal operation, not an exception.
Contributions
External contributions are welcome through GitHub pull requests. The maintainers review and merge.
- No contributor license agreement is required.
- By submitting a pull request, you license your contribution under the repository's license.
- Discussion happens on GitHub issues and pull requests.
Decision-Making
Technical decisions are made by the maintainers. Open discussion is
encouraged via GitHub issues; the final call rests with the maintainers.
Material architectural changes are published in commit messages and, where
appropriate, in docs/ or the whitepaper.
Security Disclosures
Report security issues privately to founders@pilotprotocol.network.
Do not open a public issue until a fix has been released.
Commercial and Partnership Inquiries
For the managed service, enterprise licensing, or partnership inquiries,
contact founders@pilotprotocol.network.
SDK versioning and release cadence
Three official SDKs ship under the Pilot Protocol brand:
sdk-node— published to npm aspilotprotocolsdk-python— published to PyPI aspilotprotocolsdk-swift— published as a Swift Package, distributed via GitHub releases
These SDKs share a wire protocol and a maintainer team, and they target API parity (see docs/SDK_PARITY.md). The following policy applies to all three.
Semver alignment
- All three SDKs share the same
MAJOR.MINORline at any given time. Patch versions diverge — a Swift-only crash fix bumps onlysdk-swift's patch number. - A wire-protocol change or daemon RPC schema change is a
MINORbump. All three SDKs cut a matchingMINORrelease on the same day. - A breaking change to any SDK's public API is a
MAJORbump on that SDK. We avoid these — at most one breaking change perMAJOR, and only when no additive path exists.
Coordinated releases
When a MINOR train cuts:
- The
pilotprotocolrepo tags the wire-protocol version first. - The three SDK repos rebase, bump their
MINORto match, and release in parallel. - Each SDK's
CHANGELOG.mdcross-links the matching release of the other two. - The parity matrix (see docs/SDK_PARITY.md) is
re-generated against the new commits — any new gap must be classified
intentional(with a rationale) or filed as a follow-up ticket before the train ships.
Deprecation policy
A symbol scheduled for removal must be marked deprecated for at least one
MINOR release before it disappears, using the native idiom per language:
- Node:
@deprecatedJSDoc on the symbol; TypeScript surfaces a warning. - Python:
warnings.warn(DeprecationWarning(...))at call time; mention in the docstring. - Swift:
@available(*, deprecated, message: "...")attribute.
Deprecations announce themselves in the SDK's CHANGELOG.md and the
corresponding section of the parity matrix.
Release cadence target
A MINOR train every month is the target. Patch releases ship as needed.
We do not gate the train on a calendar — if there's nothing meaningful to
release, the train skips a month.
Succession
If both maintainers become unavailable, the repository will be archived with public notice. The repository and its license remain in place regardless.