# Lixity v0.7.5

Released 22 October 2026. This release makes analysis marks easier to interpret,
adds a read-only project overview and reduces repeated work when opening research
and resolving manuscript quotations. It also completes the dossier section-edit
roundtrip and fixes website exports for large source archives.

## Read analysis marks in two separate layers

The metric selector is directly visible beside **Analysis**. **Counted text**
uses violet underlines for the exact words or sentences included by that metric.
**Paragraph comparison** uses blue/orange raw values and direction arrows to show
notable differences from the chapter, without washing the prose background.
Both switches can be used together and retain their browser preferences.

Hover, touch and explicit inspection put the quotation and count first; the
paragraph value and chapter comparison have their own panel. Method details
start collapsed. Focus temporarily hides both layers and restores them on exit.
These are counting and comparison aids, not judgments about prose quality.
See the [mark key and interpretation guide](../guides/interpretation.html).

## Inspect a project without reorganizing it

The native **Project overview** separates **Sources**, **Outputs** and structural
findings. It identifies the configured/selected manuscript, conventional research
and output locations, and eligible existing output files. It reports mismatches,
missing sources, unsafe links and overlapping source/output identities.

```bash
lixity project --project /path/to/book
lixity project --project /path/to/book --json
```

The CLI, Python `api.inspect_project` and native view share
`lixity-project-structure/1`. The inspection reads bounded configuration and
filesystem metadata, not manuscript contents, research history or output bytes.
It creates and moves nothing. Existing output provenance stays **unknown**;
filenames and modification times cannot establish a producing source version.
Submission bindings, migration and a general file manager are not added.

Overview downloads bind to the selected project and reject stale tabs after a
switch. File reads have explicit size bounds and reject unsafe paths and
manuscript/configuration aliases. Static reading websites contain no local
project inventory. See [inspection limits](../USAGE.md#inspect-project-structure).

## Edit one dossier section safely

`research dossier ID --section HEADING --format text --body-only` exports exactly
the selected body as editable UTF-8, without display metadata, an extra heading
or an added newline. Human section reads preserve the actual heading level;
selected JSON reads add `section_level`.

Opt-in `--update [--dry-run] --compact` previews list changed fields; applied
receipts identify the accepted revision and change metadata. Both report no-op
status without copying a large body.
Default full JSON and Python/API write contracts remain unchanged. The
[section-edit recipe](../research/USAGE.md#work-on-one-dossier-section) includes
read, edit, diff, guarded update and verification.

## Open research with less repeated work

Verified archive reads avoid repeated path traversal and complete archive scans
for citation batches. Selected version-history reads omit unnecessary dossier
body copies. Automatic browser status consumers share only an in-flight read;
explicit refreshes stay fresh and changed contexts invalidate pending sharing.
No settled archive cache replaces integrity checks.

Manuscript anchor lookup reuses the exact displayed-text projection without
running linguistic analysis. Read-only `research find-anchor --query-format
markdown` accepts copied inline emphasis and returns the exact literal quote,
offsets and paragraph hash. Default queries and all write/re-pin selections stay
literal; overlapping duplicate matches are rejected as ambiguous. See the
[lookup workflow](../research/USAGE.md#associate-a-manuscript-quote-with-a-claim).

Chapter Cliff effects and finite-sample Sn robust scale avoid quadratic work
while retaining their existing numerical definitions and exact results. These
changes do not introduce a new quality score or modify the analysis baseline.

## Share large source archives

Review website exports count authored record versions against the research
history limit, rather than every retained source passage. Curated novel/companion
exports do not apply a history limit for history they do not include. Byte,
response, bundle-size and integrity checks remain in force; this is not an
unlimited export or a project backup.

## Compatibility and upgrade

- No research archive migration is required; record/manifest readers remain
  versions 1–8 and the reading-website contract remains `lixity-read-only-site/1`.
- Project inspection is a new separate metadata contract. `ok` means inspection
  completed, `has_errors` reports error findings and `truncated` means incomplete.
- Existing analysis JSON and default Research mutation output remain unchanged.
  `section_level` and `doctor.schemas.project_structure` are additive fields.
- The website and native demo are generated from this release's shared app UI.
  Local-only project administration remains outside static exports.

Upgrade with `uv tool upgrade lixity`, verify `lixity doctor --json`, then restart
the managed service with `lixity service restart --open` and reload browser tabs.
Installing the package alone does not replace a running process. See
[installation](../INSTALLATION.md) and the [full changelog](https://github.com/mfahsold/lixity/blob/v0.7.5/CHANGELOG.md).
