# Moving to Arcana 0.1

> Update source files and developer tools while preserving historical programs, signatures and checkpoints.

[Canonical documentation](https://arcn.ftw.trade/docs/migration)

Arcana is the language formerly named Flowscript. Arcana 0.1 includes the
complete arrays, models, checked integers, standard library and runtime
behavior present before the rename. Package releases start at 0.1.0.

Use `@arcana/core`, `loadArcana`, the `arcana` command, `.arcn` programs,
`.t.arcn` tests and the Arcana editor extension. New source declares
`arcana "0.1";`. Documentation lives at [arcn.ftw.trade/docs](https://arcn.ftw.trade/docs).
The old learning domain is removed, without redirects.

The package still ships as a private GitHub release tarball. No npm registry
publication or license change is implied. Install the new Arcana VSIX and
remove the old editor extension; move `flowscript.*` settings to `arcana.*`
and update workspace language associations. The new extension's identity is
`ftw-trade.arcana`.

## Migrate a source file explicitly

For a program whose recorded language is Flowscript 0.3:

```sh
arcana migrate strategy.flow --host host.json --output strategy.arcn
arcana check strategy.arcn --host host.json
```

The migration checks the historical program and its Arcana replacement,
requires identical executable and authority fields, writes a new file without
overwriting any existing file, and reports both artifact hashes. For an
unversioned source, the host file must record its original language version.
Earlier editions require source review rather than an assumed semantic
upgrade. Pinned libraries and host declarations remain application-owned.

## Preserve running programs

Existing signed artifacts and checkpoints keep their original bytes and
hashes. Arcana explicitly reads supported historical formats under their
recorded semantics. A new format never retries as an old one after failure.
Saved sources and deployments carry their language family because the two
families' version numbers overlap.

The local runner recognizes the exact historical `flowscript-local-v1`
checkpoint envelope before compilation, verifies its original source, host,
artifact and consumed input prefix, and resumes it with the historical
compiler identity. It keeps that envelope's identity when saving progress.
New local runs use `arcana-local-v1`. Never replace a checkpoint to make a
failed restore start again.

A newly migrated program has a new artifact identity. Deploy it as a new
version with the ordinary authorization; it does not inherit an old signature
or reuse the old program's state by changing its hash.
