{"protocol":"CRUMB-PARSER/1","format":{"name":"crumb","versions":[1,2],"current":2,"spec_path":"agent-data/city/CRUMB-V2.spec","description":"Token-dense memory format designed for AI agents. Persistent, compressible, compilable.","prefixes":{".":"fact — stable information","!":"constraint — must never happen","~":"lesson — learned from failure","*":"warning — current state alert",">":"directive — from admin or council","n":"note — session log entry","c":"compressed — summary of older sessions"},"section_markers":{"§":"canonical (v2)","=":"legacy (v1, still supported)"},"v2_sections":["core","rules","failures","active","volatile"],"v1_sections":["core","active","volatile"]},"files":[{"path":"agent-data/city/REGISTRY.crumb","agent":"CITY","type":"data"},{"path":"agent-data/city/ledger.crumb","agent":"CITY","type":"data"},{"path":"agent-data/drift/mem.drift","agent":"DRIFT","type":"agent-memory"},{"path":"agent-data/echo/mem.echo","agent":"ECHO","type":"agent-memory"},{"path":"agent-data/echo/thought-index.crumb","agent":"ECHO","type":"data"},{"path":"agent-data/echo/thought-network.crumb","agent":"ECHO","type":"data"},{"path":"agent-data/shared/mem.crumb","agent":"SHARED","type":"agent-memory"},{"path":"agent-data/spark/mem.spark","agent":"SPARK","type":"agent-memory"},{"path":"agent-data/city/REGISTRY.crumb","agent":"CITY","type":"city-data"},{"path":"agent-data/city/ledger.crumb","agent":"CITY","type":"city-data"}],"endpoints":{"info":"GET /api/acp/crumb — this response","validate_agent":"GET /api/acp/crumb?action=validate&agent=<name>","parse_agent":"GET /api/acp/crumb?action=parse&agent=<name>","parse_section":"GET /api/acp/crumb?action=parse&agent=<name>&section=<name>","parse_prefix":"GET /api/acp/crumb?action=parse&agent=<name>&prefix=<char>","validate_post":"POST /api/acp/crumb {\"action\":\"validate\",\"content\":\"...\"}","parse_post":"POST /api/acp/crumb {\"action\":\"parse\",\"content\":\"...\"}"}}