What a Bundle Is
A skill bundle is a self contained directory that a miner unpacks, analyses, and (for runtime types) detonates in a sandbox. The validator dispatches the bundle bytes plus a nonce. The miner extracts the bundle, runs their pipeline against it, and returns an SSSA. For all types the validator delivers the bundle as gzipped tar bytes inside thePhylaxSynapse.bundle field, with PhylaxSynapse.bundle_sha256 carrying the hash.
Common Conventions
| File | Required for | What it carries |
|---|---|---|
manifest.json or manifest.yaml | All types | Skill metadata: name, version, declared capabilities, entry point |
README.md | Optional | Operator documentation. Not used by analysis. |
LICENSE | Optional | License text |
rag_knowledge Bundles
| Contents | Notes |
|---|---|
docs/*.md, docs/*.txt, docs/*.jsonl | The corpus to scan |
embeddings.npz | Optional pre computed embeddings |
manifest.json | Declares document encoding and retrieval interface |
canary_spec. The miner must detect and flag it.
declarative Bundles
| Contents | Notes |
|---|---|
prompt.txt | The instructions |
manifest.json | Declares agent role, allowed tools |
executable_python Bundles
| Contents | Notes |
|---|---|
src/<package>/*.py | Source tree |
pyproject.toml or setup.py | Package metadata |
requirements.txt or pyproject.toml deps | Dependency list |
manifest.json | Declares entry point function and signature |
executable_script Bundles
| Contents | Notes |
|---|---|
*.sh files | Scripts to analyse and run |
manifest.json | Declares the entry script |
/bin/bash (or sh if the manifest declares it).
mcp_server Bundles
| Contents | Notes |
|---|---|
| MCP server source | Variable, depends on language |
manifest.json or mcp.json | MCP manifest: tools, schema, server entry |
Dockerfile | Optional, used by miners that build per task |
| Dependency declarations | Per language convention |
agent_composition Bundles
| Contents | Notes |
|---|---|
composition.yaml | The composition manifest |
subskills/<name>/ | One nested bundle per child skill |
manifest.json | Top level metadata |
How the Miner Reads a Bundle
A typical miner pipeline does this:ghcr.io/praxi-labs/phylax-miner:latest ships a reference implementation that does this for all six types. Operators can replace any of the per type analysers without changing the rest of the pipeline.
Bundle Size Limits
| Limit | Value |
|---|---|
| Raw bundle bytes | 50 MB compressed |
| Decompressed bundle | 250 MB |
| Max files in bundle | 10,000 |
| Max path depth | 64 |
What’s Next
SSSA Schema
What the miner returns.
Scoring
Per type Q formulas.
Probe Events
What the validator embeds inside the bundle alongside the canary.
Miner Setup
Start mining.