Old package names, new commands
Arcaeon used to ship as thirteen separate packages. Now it is one, arcaeon, with one command. Nothing breaks the day you upgrade: each old name gets one last release that installs arcaeon and forwards the old import and the old command to it, with one warning that names the new import. Change your imports and commands when it suits you, before the old names stop getting releases. Where an exit code moved, it moved on the new command only; the old command keeps its old code while you rewire, and --legacy-exit on the new command gives you the old code there too.
Every old name, mapped
| Old name | Old import | New import | Old command | New command | Exit code changed? |
|---|---|---|---|---|---|
| arcaeon-ledger | import arcaeon_ledger | import arcaeon.record.ledger | arcaeon-ledger verify LOG, append LOG ROW, reconcile A B | arcaeon verify LOG, arcaeon log LOG ROW, arcaeon reconcile A B | yes: reconcile's COULD NOT LOOK 2 -> 3. verify unchanged (3 already). |
| arcaeon-adapter | import arcaeon_adapter | import arcaeon.record.adapter | arcaeon-adapter ..., arcaeon-adapter-selftest | arcaeon proxy ..., arcaeon selftest adapter | no |
| arcaeon-receipt | import arcaeon_receipt | import arcaeon.record.receipt | arcaeon-receipt verify R | arcaeon receipt verify R | yes: failed verify 2 -> 1, flagged check 3 -> 1, COULD NOT LOOK 4 -> 3 |
| arcaeon-audit | import arcaeon_audit | import arcaeon.prove.audit | arcaeon-audit verify LOG | arcaeon audit verify LOG | yes: could not complete 2 -> 3 |
| arcaeon-mcp-vet | import mcp_vet | import arcaeon.prove.vet | mcp-vet badge PATH | arcaeon vet badge PATH (or arcaeon badge PATH) | yes: badge refused --sealed 4 -> 3, verify and audit-verify 2 -> 1, probe could not connect 2 -> 3 |
| arcaeon-once | import arcaeon_once | import arcaeon.record.once | arcaeon-once receipt LOG KEY | arcaeon once receipt LOG KEY | no |
| arcaeon-compact | import arcaeon_compact | import arcaeon.prove.compact | (had no command) | arcaeon compact ROW (new) | no |
| arcaeon-continuity | import arcaeon_continuity | import arcaeon.prove.continuity | (had no command) | (none; python -m arcaeon.prove.continuity) | no |
| arcaeon-baseline | import arcaeon_baseline | import arcaeon.prove.baseline | arcaeon-baseline compare ... | arcaeon baseline compare ... | no |
| arcaeon-dedup | import arcaeon_dedup | import arcaeon.save.dedup | (had no command) | arcaeon dedup FILE (new) | no |
| arcaeon-distill | import arcaeon_distill | import arcaeon.save.distill | (had no command) | arcaeon distill FILE (new) | no |
| arcaeon-meter | import arcaeon_meter | import arcaeon.save.meter | arcaeon-meter usage ... | arcaeon meter usage ... | no |
| arcaeon-all | import arcaeon_all | import arcaeon | (had no command) | arcaeon version lists every part | no |
Each old name links to its page on PyPI, where its release history stays. The same note as plain markdown, taken from the package's MIGRATION.md: /migrate.md. The new commands, one line each: /get.
On Python 3.9, pip keeps resolving the last real release of each old name, which still works; the forwarding releases and arcaeon need Python 3.10 or newer.