File-Driven Agent Architecture β Reference Implementation
Build, verify, sign, and publish AI agent skills with cryptographic proof.
π Whitepaper | π ACC Spec | π’ Substr8 Labs
pip install fdaaRequires Python 3.10+
1. Create a signing key (one-time)
fdaa keygen mykey2. Write your skill
my-skill/
βββ SKILL.md # What it does
βββ scripts/
β βββ run.py # The code
βββ references/ # Supporting docs (optional)
3. Quick check (instant feedback)
fdaa check ./my-skill4. Full verification + signing
fdaa pipeline ./my-skill --key mykey5. Publish
fdaa publish ./my-skill --name @you/my-skill --version 1.0.0Install a verified skill
fdaa install @someone/cool-skillSignature is verified automatically. Tampered skills are rejected.
| Command | Description |
|---|---|
fdaa check <path> |
Fast pattern check (~1s) |
fdaa verify <path> |
Guard Model security scan |
fdaa sandbox <path> |
Run in isolated container |
fdaa pipeline <path> |
Full Tier 1-4 verification |
| Command | Description |
|---|---|
fdaa keygen <name> |
Generate Ed25519 key pair |
fdaa sign <path> |
Sign a skill |
| Command | Description |
|---|---|
fdaa install <spec> |
Install a skill |
fdaa publish <path> |
Publish to registry |
fdaa search <query> |
Search skills |
fdaa list-skills |
List installed skills |
| Command | Description |
|---|---|
fdaa traced-pipeline <path> |
Run pipeline with tracing |
fdaa trace <id> |
View a trace |
fdaa trace --list |
List recent traces |
| Command | Description |
|---|---|
fdaa init <name> |
Create agent workspace |
fdaa chat <workspace> |
Chat with agent |
fdaa files <workspace> |
List files |
fdaa read <workspace> <file> |
Read file |
fdaa export <workspace> |
Export as zip |
fdaa import <zip> |
Import from zip |
FDAA uses defense-in-depth with 4 verification tiers:
| Tier | What It Does | Speed |
|---|---|---|
| 1. Fast Pass | Pattern matching, known signatures | ~100ms |
| 2. Guard Model | LLM semantic analysis | ~3-5s |
| 3. Sandbox | Isolated execution, behavior monitoring | ~1-2s |
| 4. Registry | Cryptographic signing, hash verification | ~100ms |
# Run all tiers
fdaa pipeline ./my-skill --key mykey
# Skip expensive steps during development
fdaa pipeline ./my-skill --skip-sandbox --skip-signEvery pipeline run can be traced with OpenTelemetry:
fdaa traced-pipeline ./my-skill
# Output:
# Trace ID: f8112ae3...
# View with: fdaa trace f8112ae3View trace details:
fdaa trace f8112ae3
# Shows:
# - Duration per tier
# - LLM tokens & cost
# - Sandbox metrics
# - Verification resultsExport to Jaeger:
fdaa traced-pipeline ./my-skill --jaeger-host localhostA minimal skill:
my-skill/
βββ SKILL.md
βββ scripts/
βββ run.py
SKILL.md
---
name: my-skill
description: Does something useful
version: 1.0.0
---
# My Skill
Use this skill to do X.
## Usage
\`\`\`bash
my-skill --input foo
\`\`\`After signing, a MANIFEST.json is added:
{
"name": "@you/my-skill",
"version": "1.0.0",
"sha256": "7a3f2b...",
"signature": "Kx8mQ2...",
"publicKey": "a1b2c3...",
"signedAt": "2026-02-18T00:00:00Z"
}FDAA enforces Write XOR Execute:
| File | Agent Can Modify |
|---|---|
SKILL.md |
β No |
SOUL.md |
β No |
IDENTITY.md |
β No |
MEMORY.md |
β Yes |
scripts/* |
β No |
Agents cannot modify their own identity or capabilities.
# LLM Providers (one required for verify/pipeline)
export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
# Optional
export FDAA_REGISTRY_URL=https://registry.fdaa.dev
export JAEGER_AGENT_HOST=localhostFor web deployments:
pip install fdaa[server]
export MONGODB_URI="mongodb+srv://..."
export ANTHROPIC_API_KEY="sk-ant-..."
uvicorn fdaa.server:app --host 0.0.0.0 --port 8000See API docs for endpoints.
Verify a skill before installing:
fdaa verify ./untrusted-skill --provider anthropicCreate and publish a skill:
fdaa keygen mykey
mkdir my-skill && cd my-skill
echo "# My Skill" > SKILL.md
fdaa pipeline . --key mykey
fdaa publish . --name @me/my-skill --version 1.0.0Debug a failing verification:
fdaa traced-pipeline ./my-skill
fdaa trace <trace-id>Install from GitHub (Phase 0 registry):
fdaa install github:substr8-labs/skill-code-reviewMIT
Built by Substr8 Labs
Research: FDAA Whitepaper | ACC Spec
Skills live on GitHub. Install directly:
fdaa install github:Substr8-Labs/skill-hello-worldBrowse available skills: https://github.com/Substr8-Labs/fdaa-registry
Cryptographic permission delegation between agents.
# Create a token granting specific permissions
fdaa dct create "file:read:/home/user/*" "api:call:weather" --expires 60
# Verify a token
fdaa dct verify ./token.json
# Check if a permission is granted
fdaa dct check ./token.json "file:read:/home/user/doc.txt"
# Delegate a subset to another agent (monotonic attenuation)
fdaa dct attenuate ./parent.json "file:read:/home/user/docs/*" --expires 30Key properties:
- Ed25519 signatures (tamper-proof)
- Time-bounded (expires)
- Monotonic attenuation (can only delegate subsets, never escalate)
- Delegation chains tracked (audit trail)