OpenSite/Reference/Features/Document files: Difference between revisions

From BathAfrica Documentation
Jump to navigation Jump to search
Publish Cursor documentation reconciled with OpenSite source 77c3fee; tests not rerun
 
Link adjacent OpenSite reference pages in reading order
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
__NOTOC__
{{OpenSite scope}}
{{BathAfrica Feature
{{BathAfrica Feature
|review=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.
|id=document.persistence
|id=document.persistence
|summary=Save and reopen a document without losing object identity.
|summary=Save and reopen a document without losing object identity.
Line 13: Line 14:
}}
}}


== Try this workflow ==
[[OpenSite/Guides/First document|First document]] — a worked lesson with expected results.


== Documentation basis ==
== Documentation basis ==
Line 23: Line 27:
[[OpenSite|OpenSite overview]] · [[OpenSite/Reference|Reference]] · [[OpenSite/Guides|Guides]]
[[OpenSite|OpenSite overview]] · [[OpenSite/Reference|Reference]] · [[OpenSite/Guides|Guides]]
[[Category:OpenSite documentation]]
[[Category:OpenSite documentation]]
<div class="os-page-nav">{{Docnav|OpenSite/Reference/Features/Dependency bootstrap|OpenSite/Reference/Features/Extension platform|OpenSite/Guides|All guides}}</div>

Latest revision as of 14:15, 29 October 2026

OpenSite 0.0.1 · DevelopmentSource scope and availability


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.


Try this workflow

First document — a worked lesson with expected results.

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