Thanks for contributing to Shanta Yantra.
This project is still early, but it already has a runnable Python CLI and a boundary-first design. Good contributions make the implementation clearer, more testable, and more honest about what the system can and cannot do.
Read these files first:
README.mdGOVERNANCE.mddocs/CONSTITUTION.mddocs/ARCHITECTURE.mddocs/INTERACTION_MODEL.mddocs/ROADMAP.md
If your change affects behavior, boundaries, or product language, make sure it still matches the governance document.
For behavior changes, also check:
docs/CONSTITUTION.mddocs/EVALUATION.mddocs/RAG_REVIEW_PROMPTS.mdtests/test_engine.pytests/test_cli.py
uv sync --extra devRun the test suite:
uv run pytest -qRun the boundary-focused engine coverage:
uv run pytest -q tests/test_engine.py tests/test_evals.pyReview the canonical examples:
ls examples/Try the CLI:
uv run shanta reflect --text "I should do this, but I keep avoiding it."Use transcript input:
uv run shanta reflect --transcript notes/session.txt- Keep changes narrow and concrete.
- Prefer deterministic behavior over hidden complexity.
- Add or update tests when behavior changes.
- Prefer fixed evaluation cases over ad hoc examples when boundary behavior changes.
- Keep
examples/representative of intended bounded behavior when public outputs shift. - Keep public language plain and bounded.
- Prefer outer-pattern mirroring over inward interpretation.
- Do not add features that increase dependence, authority claims, or anthropomorphic tone.
Before opening a pull request, confirm:
- the change does not validate inner condition
- the change does not increase engagement pressure
- the change improves or preserves stopping behavior
- the change uses outer-pattern language rather than inward claims
- new examples and tests cover the intended boundary
Include:
- the purpose of the change
- files touched
- any behavior or terminology changes
- any follow-up work that remains open
Small, reviewable pull requests are preferred over large mixed changes.