This repository owns the Hermes substrate_wiki plugin, its local state machinery, build/installer tooling, tests, release artifacts, and user documentation. Server routes, persistence, deployment, and production data belong in Substrate-memory/Substrate-v2.
-
Create a branch from
main. -
Add regression tests before changing behavior.
-
Keep the runtime standard-library-only unless an explicit reviewed decision changes that boundary.
-
Run:
python -m pip install -e '.[dev]' pytest -q python -m compileall -q src scripts python scripts/verify_public_plugin_candidate.py --root . --layout destination
-
Update
CHANGELOG.mdand compatibility/security docs when behavior changes. -
Sign every commit with the Developer Certificate of Origin 1.1 by adding
Signed-off-by: Name <email>(git commit -s). This repository uses DCO sign-off, not a contributor license agreement. -
Open a PR. Every PR requires an adversarial review and passing CI.
Do not claim a Hermes or server version based on import success alone. Provider discovery, lifecycle hooks, tool schemas, profile isolation, import service, configuration, replay, rollback, and failure behavior must all pass.
Breaking server behavior requires a new protocol/schema identifier with concurrent old-version support. Never silently rewrite user configuration or state.
Release versions and immutable artifact paths are write-once. Release archives must identify a committed source tree. Never rebuild an old version and present different bytes under the same tag. See docs/releasing.md.
Only synthetic fixtures are allowed. Never commit credentials, private history, customer data, private endpoints, or production evidence. Use the private vulnerability-reporting flow for security findings.