A Protocol for Verifiable Scientific Knowledge
The Index is a protocol and reference implementation for representing, linking, and evaluating verifiable scientific knowledge. Built on the BitRep identity substrate, The Index provides a structured, reputation-weighted system for scientific claims, evidence, and epistemic relationships in a transparent and decentralized manner.
- Structured Claims: Atomic scientific statements with semantic representation (subject-predicate-object)
- Evidence Linking: Connect claims to empirical or theoretical support with explicit relation types
- Epistemic Status: Computed assessment of claim standing based on weighted evidence
- BitRep Integration: Cryptographic identity, attestation, and reputation weighting
- Governance: Community-driven protocol evolution through decentralized mechanisms
- Protocol Invariants: Enforced requirements ensuring data integrity and verifiability
the-index/
├── app/ # FastAPI application implementation
│ ├── api/ # API endpoints (claims, evidence, governance)
│ ├── claims/ # Claims service layer
│ ├── evidence/ # Evidence service layer
│ ├── governance/ # Governance service layer
│ └── core/ # Core models and configuration
├── schema/ # JSON schemas for data models
│ └── claim.schema.json # Canonical claim schema
├── ontology/ # Ontology definitions (planned)
├── examples/ # Reference examples (planned)
├── docs/ # Documentation
│ ├── API_DOCUMENTATION.md # API reference
│ ├── DEVELOPER_SETUP.md # Developer guide
│ └── SECURITY.md # Security considerations
├── tests/ # Test suite
├── claim_api.py # Pydantic models aligned with schema
├── claim_layer.py # Claim layer with protocol invariants
├── docs/
│ └── roadmap-internal-notes.md # Normative protocol specification
├── CONTRIBUTING.md # Contribution guidelines
└── README.md # This file
The Index aims to create a global, machine-readable, human-verifiable map of scientific knowledge that evolves through:
- Evidence-based evaluation rather than authority or consensus
- Replication and verification rather than citation counts
- Community governance rather than central control
- Transparent computation rather than opaque algorithms
- Python 3.9 or higher
- pip or uv for package management
- Clone the repository:
git clone https://github.com/clarity-index/the-index.git
cd the-index- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt
pip install -r requirements-dev.txt # For developmentuvicorn app.main:app --reloadThe API will be available at http://localhost:8000
API documentation is available at http://localhost:8000/docs
pytestWith coverage:
pytest --cov=app --cov-report=htmlClaims are atomic scientific statements with:
- Semantic structure: Subject-predicate-object representation
- Attribution: Linked to BitRep identity
- Evidence requirement: Must have either evidence references OR justification
- Status: Computed from weighted evidence (proposed, supported, contested, refuted, deprecated)
Evidence represents empirical or theoretical support:
- Types: experiment, observation, dataset, simulation, theorem, meta-analysis
- Metadata: methodology, sample size, uncertainty, instrumentation, replication
- Linking: Must be linked to at least one claim
Links define relationships between claims and evidence:
- Relation types: supports, contradicts, weakly_supports, refines, generalizes, depends_on, conflicts_with
- Weighting: Strength and reputation-based weighting
- Attestation: All links are BitRep attestations
Computed deterministically from:
- Supporting weight (sum of weighted supporting links)
- Contradicting weight (sum of weighted contradicting links)
- Independence (diversity of sources and contributors)
- Robustness (replication and methodological quality)
The authoritative protocol specification is docs/roadmap-internal-notes.md.
This README provides an overview and quick reference. For complete requirements, protocol invariants, and implementation guidelines, refer to the normative specification document which defines:
- RFC-style normative language (MUST, SHOULD, MAY)
- Complete protocol invariants and guarantees
- Detailed claim lifecycle and state transitions
- Schema requirements and validation rules
- Ontology versioning and resolution
- Deterministic epistemic computation algorithms
In case of any discrepancies between this README and the normative specification, the normative specification takes precedence.
The Index enforces strict protocol invariants to maintain data integrity and verifiability:
- Claims Immutability: Claims MUST be immutable after acceptance (except for status updates via epistemic computation)
- Evidence Immutability: Evidence objects MUST be immutable after creation
- Links Append-Only: Links MUST NOT be edited or deleted; only new links may be added
- Evidence or Justification: Claims MUST have either
evidence_refsORjustification - Attribution: All contributions MUST be attributed to a BitRep identity
- Semantic Structure: Claims MUST have subject, predicate, and object
- Link References: Links MUST reference existing objects only
- Schema Compliance: Schema violations MUST result in rejection before persistence
- Deterministic Computation: Status computation MUST be deterministic and reproducible
- Ontology Resolution: Claims MUST only reference valid, non-deprecated ontology terms
For complete protocol guarantees and enforcement rules, see the normative specification.
POST /claims- Create a new claimGET /claims/{id}- Retrieve a specific claimGET /claims- List claims (with filtering and pagination)GET /claims/search- Search claims by textGET /claims/{id}/status- Get epistemic status
POST /evidence- Submit new evidenceGET /evidence/{id}- Retrieve specific evidenceGET /evidence- List evidence
POST /links- Create a new linkGET /links- List links (filterable by claim, relation type)
POST /governance/proposals- Submit a proposalGET /governance/proposals- List proposalsPOST /governance/votes- Cast a vote
See docs/API_DOCUMENTATION.md for detailed API reference.
We welcome contributions to The Index! Please read CONTRIBUTING.md for:
- Code of conduct
- Development workflow
- Coding standards
- Pull request process
- Governance participation
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and linting (
pytest && ruff check .) - Commit your changes (
git commit -m 'Add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request
- Testing: pytest with coverage
- Linting: ruff for code quality
- Type checking: mypy for static analysis
- API testing: httpx for integration tests
The Index is built on a layered architecture:
- Claim Layer: Scientific statements with validation
- Evidence Layer: Supporting artifacts and metadata
- Link Layer: Relationships with attestation
- Epistemic Engine: Status computation (in development)
- Governance Layer: Community-driven evolution
- API Layer: RESTful interfaces for all operations
For the complete normative specification, see roadmap-internal-notes.md.
- Claims, evidence, links data models
- Basic API endpoints
- Protocol invariant enforcement
- Status computation algorithms
- Weighting and caching
- Deterministic evaluation
- Schema evolution mechanism
- Ontology management
- Community voting
- arXiv, CrossRef, PubMed adapters
- Institutional repository connectors
- GitHub dataset integration
- Documentation and tutorials
- Community onboarding
- Production deployment
- roadmap-internal-notes.md: Normative protocol specification
- docs/API_DOCUMENTATION.md: API reference
- docs/DEVELOPER_SETUP.md: Development guide
- docs/SECURITY.md: Security considerations
- CONTRIBUTING.md: Contribution guidelines
- INDEX.md: The canonical index
This project is licensed under the MIT License - see the LICENSE file for details.
The Index is built on the BitRep identity and reputation substrate. Special thanks to all contributors and the broader scientific community for inspiration and feedback.
- GitHub Issues: https://github.com/clarity-index/the-index/issues
- Discussions: https://github.com/clarity-index/the-index/discussions
Status: Active Development
Version: 0.1.0
Protocol Version: 1.0.0