Expand description
The canonical validation issue codes — one constant per row of the SPEC.md § Validation table. Call sites reference these instead of bare strings so the code and the SPEC table can never silently drift.
Constants§
- DB_
MD_ BAD_ TYPE - the store’s
DB.mdis nottype: db-md. - DB_
MD_ MISSING_ FIELD - the store’s
DB.mdfrontmatter lacksscopeorowner. - DB_
MD_ UNKNOWN_ SECTION DB.mdhas an##section other than the three recognized ones.- DUP_
COMPANY_ DOMAIN - two
companys sharedomain. - DUP_
CONTACT_ EMAIL - two
contacts shareemail. - DUP_
EMAIL_ REINGEST - two
emails share(from, subject, date)(re-ingest). - DUP_
EXPENSE_ TUPLE - two
expenses share(date, amount, vendor). - DUP_ID
- two files declare the same explicit
id. - DUP_
INVOICE_ TUPLE - two
invoices share(vendor, date, amount). - DUP_
MEETING_ TUPLE - two
meetings share(date, sorted-attendees-set). - FM_
BAD_ TIMESTAMP created/updated/ a date field isn’t ISO-8601.- FM_
MALFORMED_ YAML - frontmatter block isn’t valid YAML.
- FM_
MISSING_ TYPE - content file has no
type:. - INDEX_
JSONL_ DESYNC - a file isn’t in the
index.jsonl, or a jsonl record points at a missing file. - INDEX_
JSONL_ MISSING - a type-folder’s
index.jsonltwin is missing. - INDEX_
JSONL_ STALE - a
index.jsonlrecord’s fields don’t match the file’s frontmatter. - INDEX_
MISSING - a non-empty canonical folder lacks
index.md. - INDEX_
MISSING_ ENTRY - a file isn’t listed in its folder’s
index.md. - INDEX_
ORPHAN - an
index.mdsits in an empty / non-canonical folder. - INDEX_
STALE_ ENTRY - an
index.mdlists a file that no longer exists. - INDEX_
SUMMARY_ MISMATCH - an index entry’s text doesn’t match the target file’s
summary. - INDEX_
WRONG_ SCOPE - an index’s
scope:doesn’t match its filesystem location. - LAYER_
TYPE_ MISMATCH - a recognized
type:sits in a layer other than its canonical one. - LOG_
BAD_ TIMESTAMP - a
log.mdentry header timestamp is unparseable. - LOG_
OUT_ OF_ ORDER log.mdentries aren’t in non-decreasing time order (possible rewrite).- LOG_
UNKNOWN_ KIND - a
log.mdentry kind isn’t recognized. - NOT_
A_ STORE - path has no
DB.md; not a db.md store. - POLICY_
FROZEN_ PAGE - a write was attempted on a
### Frozen pagespath (write-time). - POLICY_
IGNORED_ TYPE_ DERIVED - a
wiki-pagederives from an ignored-type record. - POLICY_
IGNORED_ TYPE_ PRESENT - a file with an
### Ignored typestype exists. - SCHEMA_
ENUM_ VIOLATION - a value isn’t in the schema’s
enum. - SCHEMA_
LINK_ PREFIX_ MISMATCH - a
link to <prefix>/field has a plain or wrong-prefix value. - SCHEMA_
MISSING_ REQUIRED - a
DB.mdschema requires a field that’s absent. - SCHEMA_
SHAPE_ MISMATCH - a value doesn’t match the schema’s shape modifier.
- SUMMARY_
EMPTY summarypresent but empty.- SUMMARY_
MISSING - content file has no
summary. - SUMMARY_
MULTILINE summarycontains newlines.- SUMMARY_
TOO_ LONG summary> 200 chars.- TAGS_
MALFORMED tagsisn’t a flat YAML list of short scalar labels.- WIKI_
LINK_ AMBIGUOUS - wiki-link target matches multiple files (defensive).
- WIKI_
LINK_ BROKEN - wiki-link target file doesn’t exist.
- WIKI_
LINK_ FLOW_ FORM_ LIST - frontmatter list uses inline
[[[a]], [[b]]]— use block form. - WIKI_
LINK_ HAS_ EXTENSION - wiki-link target carries a
.mdextension — drop it. - WIKI_
LINK_ SHORT_ FORM - wiki-link target isn’t a full store-relative path.