How prajwal471/jocky works
JOCKY turns a mission written in its forensic scripting language into a bounded, capability-checked run: the server dispatches it, collectors make read-only observations, and the resulting evidence is persisted as a signed hash chain. Reviewers can inspect missions, evidence, coverage, and evaluation results through the API and dashboard. The README also documents baseline evaluation, active counterfactual measures, equivalence proofs, and citation support. Some subsystem wiring is inferred only from documentation and directory names; uncertain links are omitted.
Main entry points: dispatch.py Mission dispatch · api.py HTTP API · db.py Mission store · harness.py Baseline harness
Components 25
Mission language
- Mission parser
jocky/dsl/parser.py - Safety checker
jocky/dsl/checker.py - Types and capabilities
jocky/dsl/types.py - JIR representation
jocky/dsl/jir.py
Collection and evidence
- Mission interpreter
jocky/runtime/interpreter.py - Collector builtins
jocky/runtime/builtins.py - Host harvesters
jocky/runtime/harvesters.py - Evidence chain
jocky/runtime/evidence.py - Ed25519 signing
jocky/crypto/__init__.py - Agent identity
jocky/runtime/identity.py
Server and storage
- HTTP API
jocky/server/api.py - Token auth
jocky/server/auth.py - Mission dispatch
jocky/server/dispatch.py - Mission store
jocky/server/db.py - Static dashboard
jocky/server
Review and evaluation
- Coverage matrix
jocky/server/coverage.py - Interop metrics
jocky/server/metrics.py - Baseline harness
jocky/eval/harness.py - Baseline cases
jocky/eval/baselines.py - Active measures
jocky/eval/measures.py - Equivalence proofs
jocky/eval/equivalence.py - Citation checks
jocky/eval/citation.py
Demo operations
- Demo bootstrap
jocky/demo/bootstrap.py
Other components
- Investigator
- Forensic host
Connections 29
- Investigator → HTTP API: submits missions
- Investigator → Static dashboard: views results
- Static dashboard → HTTP API: calls routes
- HTTP API → Token auth: checks protected routes
- HTTP API → Mission dispatch: dispatches missions
- Mission dispatch → Mission parser: parses source
- Mission parser → Safety checker: checks structure
- Safety checker → Types and capabilities: validates capabilities
- Mission parser → JIR representation: serializes program
- Mission dispatch → Mission interpreter: runs mission
- Mission interpreter → Collector builtins: calls collectors
- Collector builtins → Host harvesters: reads host data
- Host harvesters → Forensic host: observes host
- Mission dispatch → Evidence chain: records observations
- Evidence chain → Ed25519 signing: signs records
- Evidence chain → Agent identity: uses agent identity
- Mission dispatch → Mission store: persists runs
- HTTP API → Mission store: reads mission data
- Mission dispatch → Coverage matrix: seeds coverage
- HTTP API → Interop metrics: serves interop metrics
- Baseline harness → Baseline cases: runs cases
- Baseline harness → Mission dispatch: executes missions
- Baseline harness → Equivalence proofs: checks invariants
- Baseline harness → Mission store: reads evaluation records
- Active measures → Mission dispatch: tests refusals
- Active measures → Mission store: checks persisted evidence
- Citation checks → Mission store: checks citations
- Demo bootstrap → Coverage matrix: seeds coverage
- Demo bootstrap → HTTP API: starts server