Format specification and ledger structure
This section defines the structural format used by lurabwefet to represent budgeting entries as archival records. The format is intentionally neutral: it is descriptive and records how items are stored rather than prescribing allocation methodologies. Each record is a modular object composed of three conceptual layers: identification, content, and provenance. Identification includes a stable identifier that follows a canonical namespace pattern, a display label, and semantic qualifiers. The content layer holds category pointers, boundary metadata, and optional free-text annotations that document context. Provenance records the creation timestamp, author key, and revision pointers that link to previous states. All timestamps are ISO 8601 with timezone markers. Boundary metadata explicitly declares the applicability window for allocations and can be temporal, numeric, or contextual. Annotations are minimal and structured to support parsing: free-text fields are trimmed and normalized while controlled vocabularies are used where applicable. The format emphasizes traceability and deterministic interpretation across toolchains and time horizons.
Field definitions and permitted types
The format prescribes a compact set of required and optional fields for each budgeting entry. Required fields include identifier, label, category_codes, effective_boundaries, created_at, and revision_chain. Identifiers use namespace prefixes and a deterministic suffix generated from canonical inputs. Labels are display text and may change; identifier mappings preserve history. category_codes is an array of stable category identifiers drawn from the index. effective_boundaries is an object describing the boundary type, start and end markers where applicable, and metadata that references the source document. created_at is an ISO 8601 timestamp for initial record creation. revision_chain is an ordered list of revision identifiers that reference the provenance graph. Optional fields include annotations, external_source_ids, tags, and verification_digest. Annotations are limited to concise notes and must be normalized for whitespace and Unicode. verification_digest is an algorithm identifier plus hex digest computed over canonicalized changed fields to support independent integrity checks. Field typing is strict: dates are strings in ISO 8601, codes are ASCII-safe tokens, arrays use stable ordering, and free-text fields have length limits to prevent inadvertent metadata bloat. The emphasis is on predictable structure and hygiene, enabling reliable archival operations and deterministic comparisons across versions.
Revision encoding and notation
Revision entries describe discrete changes applied to records and are encoded as lightweight objects optimized for archival chaining. Each revision includes a revision_id, author_key, utc_timestamp, verb, affected_pointers, summary, rationale_reference, and verification_digest. The verb is chosen from a controlled set: rename, split, merge, annotate, remap, exception, and retire. affected_pointers lists canonical identifiers impacted by the change, including category codes, record ids, and boundary ids. summary is a concise description limited to structured phrasing that omits evaluative language. rationale_reference is an optional pointer to supporting documentation by URL or document identifier. The revision_id uses the REV namespace and a deterministic suffix to tie the revision to its canonical input. Revisions are chained by including predecessor pointers, producing an immutable provenance graph. Verification_digest uses an agreed hash algorithm and canonicalization procedure so independent auditors can reproduce the digest from the same inputs. The encoding prioritizes parseability and chronological linkage while avoiding operational recommendations. Revision entries are stored alongside records so that any archived state can be reconstructed by replaying revision objects in sequence.
Example notation (schematic)
{
"revision_id": "REV-20260115-0001",
"verb": "rename",
"affected_pointers": ["CAT-1002"],
"utc_timestamp": "2026-01-15T14:12:00Z"
}
Navigation
For structured examples and archived records, consult the records view.
View budgeting records