I spent 18 years in intelligence — the last stretch overseeing global operations and managing very large risks. Toward the end, I taught myself to code when I couldn't get good data any other way. And I didn't stop.
Now I'm the founder of Knitli and creator of its principal product--Marque, a deterministic compiler that computes and corrects classification markings (CAPCO/ISM) instead of just flagging them wrong.
Marque — the core of what Knitli does now. A deterministic, corrective marking compiler in Rust: it resolves classification markings using lattice algebra, cites the governing rule for every correction, and never reads the content it's marking. Not open source — the spec and API are the public surface.
PlainLicense — Plain-language rewrites of open-source licenses. Because legal text shouldn't require a law degree to understand.
Before Marque, Knitli built developer tooling for AI agent context. Still up to fork and make your own:
- CodeWeaver — open-source MCP server for semantic code search (hybrid dense/sparse retrieval, tree-sitter parsing across 170+ languages)
- Thread — Rust-based codebase intelligence
- Smaller tools: submod (I still maintain this one), exportify, lateimport
Python, Rust, TypeScript, and enough Bash to justify the username (I prefer zsh, but zshandbone didn't quite have the same ring to it).
Plain language is a design choice, not a dumbing down. I spent a career watching important information get buried under jargon, classification markings, and institutional habit — sometimes with real consequences. That's not a metaphor anymore; it's the actual system I'm building Marque to fix.
I think docs are infrastructure. I think UX applies past human readers — Marque's audit trail gets consumed by people and by upstream systems alike, and almost nobody designs for that second audience. I'm trying to.
Open an issue, start a discussion, or email me at adam@knitli.com. I like honest feedback and I don't bite.