Project status
Shipped in v0.1
- Package format — ZIP container, semantic tree, theme, embedded fonts, compiled lock
- Verify & integrity — hash chain, banners (
SIGNED,UNSIGNED,BROKEN_INTEGRITY, …) - Web viewer — paints lock only; no
fillTextbody text - Registry packages —
pip install k2f(PyPI),npm i @openk2f/k2f(npm),cargo install k2f(crates.io); v0.1.0 on all three (npm uses scoped name@openk2f/k2fbecause unscopedk2fis blocked). - Agent layers — skills (repo instructions) → SDK (implementation) → MCP stdio adapter (
engine/k2f_mcp) - Markdown bridge —
markdown_to_k2f/k2f_to_markdown(display$$...$$nodes; inline$...$modifiers) - Native math — display
$$nodes and inline$modifiers compiled to glyphs + fraction rules (TeX subset including stretchy\left\rightandmatrix/align/cases; unknown commands fail). - Agent skills — one skill under
skills/k2f/with workflow references - MCP stdio server — local
k2f_mcp; tool contractmcp_tools.json; run notesREADME. Remote HTTP MCP not shipped
In development
desktop/k2f_reader— native lock executor (same rules as the web viewer: opening does not recompile; pixels and PDF come fromdocument.K2F.lock). Build from source withcargo run -p k2f_reader -- path/to/file.K2F. CI runscargo test -p k2f_reader. Source crate only — not a packaged installer.
Roadmap (not shipped)
| Item | Notes |
|---|---|
| Remote HTTP MCP | OAuth, multi-tenant; stdio is shipped |
| Slide / infinite canvas | Product surface TBD |
| Desktop file association / installers | OS registration and packaged binaries |
Internal implementation tracks live outside this public repository. They are not part of the public contract.
Versioning
Format spec v0.1 tracks engine crate 0.1.0. See COMPATIBILITY.md for engine matching policy.