OpenSite/Reference/Features/Document files

From BathAfrica Documentation
Revision as of 13:06, 29 October 2026 by BathAfrica (talk | contribs) (Publish Cursor documentation reconciled with OpenSite source 77c3fee; tests not rerun)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Review notice: Development documentation for OpenSite 0.0.1, source snapshot 77c3fee (Phase 13C). Reviewed against implementation on 29 October 2026. Tests and the Windows desktop were not rerun for this publication; this is not a released-product support claim.

Save and reopen a document without losing object identity.

Stable identifier
document.persistence

Status reported by source

Implemented in the reviewed development source. Historical test evidence is recorded by the repository; no test rerun or product release is claimed by this publication.

Units

Quantities in the file are canonical SI values plus dimension, kind, unit id, and unit version.

Behavior

Writers emit opensite-document format version 4. Formats 1, 2 and 3 have in-memory migration paths; loading does not rewrite the source file. Unknown/unavailable objects preserve read-only raw payloads. Plugin identity, schema and payload remain stored. Save writes and flushes a temporary file, retains one .bak, then replaces the destination. recover_backup copies a backup to a new path and refuses an existing destination.

Errors

corrupt_document, unsupported_version, migration_unavailable, and io_failure. A failed load leaves memory and the file unchanged.

Limitations

Undo history is not persisted; parent-directory fsync is not claimed. Unknown root keys are not a general preservation contract. Python expression source is retained, but is not silently executed when opening a file. Autosave is not implemented. An unavailable extension object stays a placeholder rather than becoming a working provider.

Available hosts

Document library, CLI and embedded Python, plus the Windows desktop document workspace. Saving uses the shared persistence implementation.

Licensing and access

Save and close stay available as recovery operations. They do not grant document.edit.

Verification evidence

Repository evidence references (not rerun for this publication): CTest document.persistence. ADR-0013.


Documentation basis

Source-reviewed against development commit 77c3fee13944bcc4b5d487c77eb1f82fbe4c6ea7, branch feature/phase-13c-properties-python-expressions. This review inspected the implementation and repository evidence; it did not run the Windows application or repeat CTest.

  • include/opensite/limits.h
  • src/document/persistence.cpp
  • docs/verification/Phase-13C-Integration.md

OpenSite overview · Reference · Guides