Thanks for helping improve ClawSeal.
This guide is intentionally practical: how to run it, how to submit changes, and what must not break.
This document covers contributions to the OSS-facing Node Runtime under:
clawseal/
If your change touches broader MIRRA subsystems, include that context in your PR.
# From repo root
cd clawseal
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -r requirements.txt
python api_server.pyIn a second terminal:
curl http://localhost:5002/health
curl -X POST http://localhost:5002/start
curl -X POST http://localhost:5002/process \
-H "Content-Type: application/json" \
-d '{"prompt":"Hello MIRRA"}'Expected: successful JSON responses from all three endpoints.
- Fork the repo.
- Create a branch from
main. - Make a focused change.
- Run validation (below).
- Open a PR with clear scope and rationale.
Use branch names like:
feat/node-runtime-plugin-xyzfix/node-runtime-health-endpointdocs/node-runtime-onboarding
At minimum, for runtime-impacting changes:
cd clawseal
source .venv/bin/activate
python api_server.pyThen verify:
GET /healthreturns healthy statusPOST /startsucceedsPOST /processreturns response payload
If your change affects other modules, run relevant targeted tests in repo root (for touched components) and include commands/results in PR description.
- Runtime reliability fixes
- Plugin examples and integration patterns
- Documentation clarity improvements
- Performance profiling and measured optimizations
- Better error handling and observability
Do not merge changes that break these:
- API contract stability for core endpoints (
/health,/start,/process) - Backward-compatible behavior for existing plugin interface patterns
- No hardcoded secrets, tokens, or private keys
- Clear error responses instead of silent failures
- Never commit
.envfiles, credentials, or tokens. - Use placeholders in docs and examples.
- If you find a security issue, do not open a public exploit issue. Report privately to maintainers.
- Follow PEP 8
- Add type hints for new public interfaces
- Add docstrings for public functions/classes
- Keep changes small and cohesive
Every PR should include:
- What changed
- Why it changed
- How you tested it (exact commands)
- Any API or behavior impacts
- Follow-up work (if any)
PR title format:
[Feature] ...[Fix] ...[Docs] ...[Refactor] ...[Perf] ...[Test] ...
- Add one production-grade plugin example in
clawseal/plugins/ - Add API usage examples under
clawseal/README.md - Improve runtime error messages in
clawseal/api_server.py - Add focused tests for node runtime behavior under a new
tests/node_runtime/directory
Open an issue with:
- current behavior
- expected behavior
- reproduction steps
Clear repro steps get fastest turnaround.