Migrating from v3.1 to v4.0.1
Additive. Backward compatible. Opt in per packet.
v4.0.1 is additive. The packet format is unchanged. Existing v3 and v3.1 packets parse and decompress under v4 without modification. You opt in to v4 features by setting one META flag.
^rosetta:MODULE in META on packets where you want a domain-aware compression vocabulary. To use code compression, set ^mode:code ^lang:XX. Older parsers ignore unknown META flags and fall through to prose. There is no breaking change. There is no migration deadline.
What Changes (and What Does Not)
The kernel packet format is identical between v3.1 and v4.0.1. What changes is the optional META flags that activate extended parsing modes.
| If you currently | In v4.0.1 |
|---|---|
| Use raw v3 packets | Works unchanged. Parsed under kernel-arg productions. |
Use v3.1 math operators (%Delta, ≈, ∴, etc.) | Works unchanged. ARG2 parsed under math-arg productions. |
| Use v3.2 ideographic composition | Works unchanged. Module-default behavior. |
| Want financial-domain compression | Add ^rosetta:financial to META. |
| Want construction-domain compression | Add ^rosetta:construction to META. |
| Want code compression | Add ^mode:code ^lang:XX to META. |
| Want explicit prose mode | Add ^rosetta:prose to META (or omit, since prose is default). |
Decision Guide
Stay on v3.1
- SLA-bound production where the v4 productization gate has not closed (per CC-OPS-AXLSERVER directive sections 14-16).
- Pure narrative prose where v4's prose-fallback module shows -11.40 dPrecision (corpus #3, museum repatriation narrative). Until the prose-fallback gap is closed, v3.1 is the precision-favored choice on prose.
- Tooling pinned to
axl-corev0.10 or earlier that has not been updated to recognize^rosettaMETA flags. - Any environment that requires the productized stable badge.
Move to v4.0.1
- Domain-backed content (finance, construction). Cold-read gate shows clean wins: +15.02 / +14.54 dRecall/dPrecision on finance, +36.64 / +43.96 on construction.
- Multi-domain pipelines that benefit from per-packet router dispatch instead of one-vocabulary-fits-all.
- Code compression workflows. The v4 code layer is the first AXL surface for source-code packets.
- Research / experimental work where you want to track v4 cold-read scores across modules.
- Any environment where mixed-domain content can be split into per-domain packets and you want vocabulary-specific gains.
Worked Example
Same source content, three encoding choices.
Source text
Acme Corp reported Q4 revenue of $5.4M, up approximately 27% from $4.2M
in Q3, driven by improved customer acquisition. The board approved a 15%
budget increase for marketing.
v3.1 (kernel + math operators)
PKT[3.1|INF|Co.Rv|rpt^|%Delta27 Q4|$4.2M->$5.4M ∵Hu.acq^]
PKT[3.1|ACT|Mk.budget|upd^|∴%Delta15|^ref:1 ^s:board]
Two packets. Universal vocabulary. v3.1 productized stable.
v4.0.1 with prose mode (default)
PKT[4|INF|Co.Rv|rpt^|≈%Delta27 Q4|$4.2M->$5.4M ∵Hu.acq^ ^rosetta:prose]
PKT[4|ACT|Mk.budget|upd^|∴%Delta15|^ref:1 ^s:board ^rosetta:prose]
Two packets. Same vocabulary as v3.1 (prose is the v3 base). The ^rosetta:prose flag is explicit but optional.
v4.0.1 with financial module
PKT[4|INF|Co.Rv|rpt^|金Q4:acme[$5.4M]⟹%Delta27<-Q3[$4.2M]|∵acq^ ^rosetta:financial]
PKT[4|ACT|Mk.budget|set|金%Delta+15|⟹^ref:1 ^s:board ^rosetta:financial]
Same two-packet shape. Financial glyphs anchor every numeric value in a typed bundle. On a single sample the per-packet compression is similar; the structural regularity pays off across longer financial reports (5-6x aggregate compression with 100% numeric preservation per the cold-read gate).
Backward Compatibility Guarantee
All v3 packets parse under v4 rules without modification. This is enforced at the parser level. There is no migration deadline and no end-of-life schedule for v3.1.
- Kernel format unchanged. PKT[VER|CLS|SUB|TAG|ARG1|ARG2|META] is identical across v3, v3.1, v3.2, and v4.
- Unknown META flags ignored. A v3.1 parser sees
^rosetta:financialas an unknown flag and ignores it, falling through to prose. - Math operators unchanged. v3.1 math operators in ARG2 work in v4 packets without modification.
- Version negotiation. A receiver must accept any VER less than or equal to its own. A v4 parser accepts v3, v3.1, v3.2, and v4 packets.
- Mixed sequences. A single sequence may contain v3.1 and v4 packets interleaved. Each packet is interpreted under its own VER field.
Module Dispatch Reference
| META flag | Activates | When to use |
|---|---|---|
^rosetta:prose | v3 base vocabulary | Narrative content, default fallback. Equivalent to omitting the flag. |
^rosetta:financial | Financial module (CJK magnitude glyphs, numeric bundles) | Investment memos, reports, transactional records, anything dollar-anchored. |
^rosetta:construction | Construction module | Technical specifications, BOMs, materials lists, structured engineering documents. |
^mode:code ^lang:XX | Code-body grammar (lossy IR) | Source-code fragments. ^lang uses short tags: py, js, ts, sql, sh, go, rs, rb, java, api. |
Mixed-domain content uses multiple packets with different ^rosetta tags. One module per packet.
Tooling
- axl-core Python package. Current pip-published version v0.10.x is v3.1-aligned. v4 components live in
src/axl_v4/in the axl-research private repo. PyPI release for v4 follows productization gate close. - compress.axlprotocol.org. Free web tool. Currently v3.1 production path. v4 router will be exposed when the productization gate closes.
- MCP plugins. Five existing plugins target v3.1. v4 MCP integration is on the roadmap.
- Raw spec files. /v4, /v4-router, /v4-code serve verbatim spec text. Suitable for ingestion by any AXL-aware tool.
Further Reading
- v4.0.1 Spec Index - kernel, router, code-layer deep-dives
- v3.1 vs v4.0.1 Comparison - capability and evidence table
- v4.0.1 Research Status - gate evidence, dual-agent discipline, AMENDMENT NOTICE
- v3.1 Evidence Brief - measured numbers for the productized stable release
- Timeline - full release history