# ZJX 1.28 LOCKWIRE public source note

Published: 2026-09-05
Status: current ZJX release line; release qualification being finalized; public distribution not announced

## Claim boundary

ZJX 1.28 LOCKWIRE is a product-completion release. It finishes the supported Linux archive workflow and prepares the core for a feature freeze. It is not a compression release: for input the earlier format could already represent, LOCKWIRE writes the same archive bytes as the accepted 1.27 baseline plus a 16-byte manifest-integrity footer.

ZJX 1.27 CIPHERGLASS, its immediate predecessor, added native password-protected archives on the 1.26 RELICWIRE lineage and was qualified locally without a separate public distribution. LOCKWIRE inherits that capability unchanged.

This note states what the 1.28 package promises and what has been tested. It quotes no LOCKWIRE speed or size figure, because the consolidated qualification record has not been published. ZJX 1.25.1 NIGHTMARKET remains the most recent publicly distributed release.

Product page: <https://greyforge.tech/products/zjx>
Product site: <https://zjx.greyforge.tech/>
Latest paid engineering story (1.26 RELICWIRE): <https://greyforge.tech/chronicles/zjx-1-26-relicwire>

## What the 1.28 workflow covers

- Creation from a single path, or from many inputs with an explicit output and base directory, literal file lists, and include and exclude filters. Output inside an input directory is refused.
- Member listing (`zjx list`) with a versioned JSON record, without extracting.
- Restoration of the whole archive or of selected members. Selection never skips verification: the whole archive is verified before anything is published.
- A dry run that checks the destination, decoder readiness, and planned counts without writing.
- Staged publication: a new archive or a fresh restore is written beside its final path and published with one atomic rename, so a failed operation leaves no half-written result. Results report publication, cleanup, and durability state separately.
- Machine-readable results and errors, a progress record stream for automation, and cancellation by signal with exit codes 130 and 143 and inherited cleanup.
- Password-protected archives (from 1.27): file names and metadata are encrypted with the contents; passwords are supplied through a descriptor or standard input, never on the command line.

## Filesystem fidelity (Linux, exact profile)

| Property | Contract |
|---|---|
| Regular file contents and directory tree | exact |
| Permission bits | exact, including a literal 0000 |
| Modification time | exact nanoseconds under `exact`; whole seconds under `seconds`; not applied under `content` |
| Symbolic links | stored and restored as links; targets must be relative and stay inside the archive root; dangling links and cycles are kept as links |
| Setuid, setgid, sticky bits; POSIX ACLs; capabilities; other extended attributes | never stored; packing fails unless the caller explicitly consents to that loss |
| Hard links | stored as independent files |
| Sparse files | contents exact; sparseness not preserved |
| Device nodes, sockets, FIFOs | rejected |
| File names | UTF-8, byte for byte; non-UTF-8 names rejected at pack |
| Owner and group | not stored |

## Compatibility and durable restoration

A 1.28 reader restores plaintext archives written by ZJX 1.23 BLACKWIRE, 1.25.1 NIGHTMARKET, 1.26 RELICWIRE, and 1.27 CIPHERGLASS, and encrypted archives written by 1.27. Archives that use the new entry representation (symbolic links, literal 0000 modes, epoch-zero timestamps) are readable by 1.28 only; every earlier reader refuses them before touching any payload rather than restoring them wrongly.

Everything needed to restore an archive is in the Linux package: no network access, account, license server, source checkout, or developer toolchain is involved. `zjx inspect` reports which decoders an archive needs and whether they are present before any extraction; `zjx unpack --dry-run` refuses to plan without them. The package's offline restore guide is part of the release.

## Package

A relocatable `zjx-<version>-linux-x86_64` archive containing the `zjx` and `zjx-archive` executables, a rootless installer and uninstaller, `SHA256SUMS`, build provenance (version, source revision, toolchain), and the documentation set: install guide, support matrix, offline restore guide, component inventory, encryption guide and format, license, and notice. Checksums are the provenance mechanism; no signature is claimed.

Runtime dependencies are glibc, `liblzma.so.5`, and `libzstd.so.1`, which the supported distributions ship by default. libsodium 1.0.22 is linked statically. `xz`, `brotli`, and `zstd` executables are needed only to read archives that recorded those external codecs.

## What is not claimed

Windows, macOS, ARM, musl, other distributions, network filesystems, and other filesystems' metadata semantics are not claimed. Hard links and sparseness are converted, not preserved. Owners and groups are not stored. Atomic publication is promised; power-loss durability is promised only for the stages the support matrix names. ZJX is not a full backup product, not a universal format winner, not an instant selective-access engine, not an independently certified security product, and not a frozen public standard.

## Qualification status

Fidelity, publication, selection, listing, progress, and cancellation were qualified on the development workstation across the LOCKWIRE implementation stages. Compatibility rows were qualified against retained fixtures built from the 1.23, 1.25.1, 1.26, and 1.27 readers. The installed-package harness ran against Ubuntu 24.04.4 and Arch (2026.09.01) root filesystems; fully sandboxed installed-package rows require operator enablement on the qualification host and are recorded as pending until they run. Scale, defensive, cancellation-budget, byte-identity, and performance campaigns have been run against the candidate; their consolidated record and the final release verdict have not been published, so this note quotes none of their figures.

## License

ZJX is licensed under the PolyForm Noncommercial License 1.0.0. Commercial evaluation, deployment, embedding, resale, hosted use, managed archival services, and internal business use require a separate written commercial license from Greyforge Labs.
