Pointer & meta
.opf.toml
The committed store pointer, at the product repository root. The one file whose content legitimately differs between store topologies.
About
The pointer carries a [store] table whose target names where the
store repository lives: dir:. by default (the store rides this repository at
.working/), or any location a target can name after relocation. An uncommitted,
machine-local override, .opf.local.toml, may override or complete the pointer on
one system, for targets that only make sense there; it is resolved first and never
committed.
Why
The store's location is configuration, not architecture. Because the committed pointer must be safe to publish, anything machine-local or private-only belongs in the override; and because a stale pointer aimed at the wrong store would be worse than no pointer, resolution is validated every time and fails closed: a pointer that does not resolve stops the tool and never falls back silently to the default location.
Description
[store] target = "dir:." the default written by opf init Target syntax: dir:<path> or a bare path a directory that is, or will be, its own git repository git:<url> or a bare git URL any git remote on any host github:<owner/repo> creation convenience; resolves to an ordinary git URL gitlab:<owner/repo> same, for GitLab
Relative dir: paths resolve against the product repository root, the named
fixed root for this file; any other path in a pointer must be absolute.
How it works
Resolution order: the local override first, then the committed pointer, then (where neither
exists) the default location, where a valid manifest resolves as the store. No pointer and no
default store is the not-adopted state, and opf init is the remedy. Store
relocation re-points the committed pointer and the manifest's recorded sync target in the
same change, so the pointer, the manifest, and the actual remote never disagree across a
landed state; the integrity layer checks that agreement.
Generated view
None. The pointer is lowercase machine source on the same casing contract as the store's own files: never a deliverable, never hand-authored truth a human is meant to read first.
Value
A store that can live anywhere, resolved the same way by every tool, with private topologies possible without weakening tracking. Fail-closed resolution helps prevent a tool from operating on a different store than the one intended.
Usage
- Created by:
opf init, withtarget = "dir:."; init refuses to run where any pointer already exists. - Updated by:
opf migrate(when it ships), as part of the single recorded relocation change. - Read by: every verb, at every store resolution;
opf doctor, for pointer and sync-target agreement.