@objectstack/metadata-fs@5.1.0
·
333 commits
to main
since this release
Patch Changes
-
75f4ee6: feat(metadata): introduce
executionPinnedcapability for runtime version pinning (ADR-0009)Adds a new capability flag on the metadata type registry so that types whose runtime
transaction rows reference a specific historical version (flow, workflow, approval)
get unified pinning behavior — instead of every business table re-implementing its
own snapshot column.MetadataTypeRegistryEntrySchemagainsexecutionPinned: boolean, enforced
invariantexecutionPinned ⇒ supportsVersioning.flow,workflow,approvalflipped toexecutionPinned: true.approval
also corrected tosupportsVersioning: true(it was wronglyfalse).MetadataRepository.getByHash(ref, hash)added to the interface. Production
implementation inSysMetadataRepositoryresolves historical bodies through
sys_metadata_historykeyed by(organization_id, type, name, checksum).
In-memory and FS repositories serve HEAD-only matches.sys_metadata_historygains an index on(organization_id, type, name, checksum)
to keep hash lookups O(log n).HistoryCleanupManagerskips pinned types entirely (both age-based and
count-based retention) — pinned-type history must never be GC'd.
See
docs/adr/0009-execution-pinned-metadata.mdfor full rationale and the
list of rejected alternatives (no shared snapshot table, no inlined snapshot column). -
Updated dependencies [75f4ee6]
- @objectstack/metadata-core@5.1.0