Thank you for your interest in contributing to OrgKernel — the open-source cryptographic trust layer for enterprise AI agents. We welcome contributions from the community and are committed to making the process as transparent and collaborative as possible.
- Scope of This Project
- Code of Conduct
- Getting Started
- How to Contribute
- Pull Request Process
- Coding Standards
- Reporting Security Issues
- Reporting Bugs
- Feature Requests
OrgKernel currently implements three core primitives:
| Primitive | File | Schema | Description |
|---|---|---|---|
| AgentIdentity | orgkernel/agent_identity.py |
schemas/agent_identity_schema.json |
Cryptographic organizational credential for AI agents |
| ExecutionToken | orgkernel/execution_token.py |
schemas/execution_token_schema.json |
Scoped, time-bounded permission token |
| AuditChain | orgkernel/audit_chain.py |
schemas/audit_chain_schema.json |
Append-only, hash-chained execution audit log |
Contributions outside these three modules will not be accepted unless discussed with maintainers first.
This project adheres to our Code of Conduct. By participating, you are expected to uphold this standard. Please report unacceptable behavior to developer@metaprise.ai.
- Python 3.10+ (3.12 recommended)
- A database: PostgreSQL 18.1+, MySQL, or SQLite (for runtime tests)
- Git
git clone https://github.com/MetapriseAI/OrgKernel.git
cd OrgKernel
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -e ".[dev]"
# Optional: configure database
cp env/.env.example env/.env.dev
# edit env/.env.dev with your database connection string# Run all module tests
python -m pytest tests/
# Run individual module tests
python -m pytest tests/test_agent_identity.py
python -m pytest tests/test_execution_token.py
python -m pytest tests/test_audit_chain.py- Fork the repository
- Create a branch from
main:git checkout -b feat/your-feature-namefeat/— new featuresfix/— bug fixesdocs/— documentation onlytest/— test-only changes
- Make your changes — always include or update tests
- Ensure all tests pass —
python -m pytest tests/ - Submit a Pull Request
- All PRs must target the
mainbranch - Every PR requires at least one review from a maintainer
- We maintain high test coverage — new code must include tests
- Update relevant documentation if your change affects public APIs or schemas
- Reference any related issues in your PR description (e.g.,
Fixes #42) - The three modules in scope are:
AgentIdentity,ExecutionToken, andAuditChain. Changes outside this scope require prior discussion
- Follow PEP 8 for Python code
- Use type hints for all public functions and class attributes
- Write docstrings for all public classes and methods; reference the canonical schema (
schemas/*.json) by section - Keep functions focused and small — each OrgKernel module has a single responsibility
- Use Pydantic v2 for all data models; never use
pydantic.BaseModelv1 patterns - Never commit secrets, API keys, or credentials — the
.gitignoreenforces this; always use environment variables - All ID fields use prefixed formats:
aid_(AgentIdentity),tok_(ExecutionToken),ac_(AuditChain),aue_(AuditEntry); do not invent new prefixes without schema approval - Schema files (
schemas/*.json) are the canonical source of truth for data shapes; Python models are reference implementations. Any change that affects a schema must update both
Do not open a public issue for security vulnerabilities.
Please see SECURITY.md for our full security disclosure policy. Email developer@metaprise.ai for responsible disclosure.
Open an issue and include:
- A clear and descriptive title prefixed with
[Bug] - Steps to reproduce
- Expected vs. actual behavior
- Environment details (OS, Python version, database type and version)
- Relevant logs or error messages
- A minimal test case that reproduces the issue is highly appreciated
Open an issue with the label enhancement and describe:
- Which of the three primitives your request relates to (AgentIdentity / ExecutionToken / AuditChain)
- The problem you are trying to solve
- Your proposed solution
- Any alternatives you considered
Feature requests outside the three core primitives will be closed without discussion unless accompanied by a detailed rationale.