A-IForgeEngineDocsReference2. Vault Lint

Forge scans .md markdown notes against your schema, enabled lint settings, and optional shape validation rules.

Non-markdown files are exempt from Vault Lint and Shape Lint. They can still appear in inventory and export counts, but they are not metadata- or shape-validated.

Vault Lint is read-only for vault notes.

The only files it writes are reports, history files, and generated summaries.

Run:

Forge: Run Vault Lint

Vault Lint

What Vault Lint Checks

Vault Lint helps detect:

  • missing metadata
  • malformed frontmatter
  • inconsistent tags
  • invalid field values
  • stale notes
  • undocumented inline metadata
  • structural drift
  • shape mismatches

The goal is not perfection.

The goal is helping the vault remain consistent and dependable over time.


Outputs

Forge writes lint output into:

A-I/Forge/Exports

Typical outputs include:

OutputPurpose
lint-report.jsonLatest machine-readable lint results
lint-history.jsonHistorical lint summaries
lint run notesHuman-readable summaries and reports

These reports help track how vault structure changes over time.


Rule Coverage

RuleMeaningSeverity Source
no_frontmatterFile has no YAML frontmatter blockError
required_fieldRequired schema field is missingField severity
enum_valueField value is not in the schema enum listField severity
date_formatDate field is not yyyy-MM-ddField severity
stale_dateDate field is older than stale_after_daysField severity
type_mismatchField value has the wrong YAML typeField severity
unique_fieldField value is duplicated across scanned notes when the schema sets unique: trueField severity
tag_namespaceTag has no namespace slashTag rule severity
unknown_tag_namespaceTag namespace is not allowed by schemaTag rule unknown_tags
required_whenConditional field is missingRule severity or field severity
forbidden_whenConditional field exists when it should notRule severity or field severity
tag_consistencyField value does not have a matching namespaced tagRule severity or field severity
invalid_shape_refShape reference points at an unknown shapeField severity
inline_is_schema_fieldInline key duplicates a schema frontmatter fieldWarning
inline_fuzzy_schemaInline key resembles a schema field typoWarning
inline_fuzzy_inlineInline key resembles an allowed inline field typoWarning
inline_undocumentedInline key is not listed in inline.allowedInfo
stale_noteReview cycle has elapsedNeeds Review
stale_inbox_noteInbox note is older than the configured retention threshold when inbox retention action lists stale inbox notes for reviewNeeds Review
shape_heading_missingRequired heading is missingError
shape_heading_orderHeadings exist but are out of orderWarning
shape_heading_extraHeading exists outside the expected structureInfo or warning
shape_section_emptyRequired section exists but contains no direct contentInfo or warning

Severity Levels

Forge groups findings by severity so you can prioritize cleanup gradually.

Typical severity levels include:

SeverityMeaning
errorStructural issue likely to break consistency or workflows
warningImportant inconsistency that should usually be reviewed
infoInformational issue or soft consistency recommendation
reviewValid note that needs a human review pass, shown outside lint issues

Schemas can define severity levels for many rules directly.

This allows different vaults to enforce structure differently.

A research vault may enforce stricter metadata than a lightweight journal vault.


Why Linting Matters

Many Obsidian workflows depend on predictable structure.

That includes:

  • Dataview
  • Bases
  • dashboards
  • templates
  • exports
  • automation workflows
  • AI-assisted systems

Without consistent metadata, those systems gradually become unreliable.

Examples:

  • project vs projects
  • active vs in-progress
  • malformed dates
  • undocumented tags
  • inconsistent note types

Vault Lint helps surface those problems before they spread.


Stale Note Review

Forge can find notes whose review cycle has elapsed.

These findings are not lint errors or warnings. They appear in the dashboard's Needs Review section and do not make lint fail.

Typical configuration includes:

  • a cycle field, usually review_cycle
  • an updated field, usually updated
  • optional note type filters

Example review cycles:

daily
weekly
monthly
quarterly
never

never acts as an opt-out.

Stale review workflows are especially useful for:

  • project systems
  • research vaults
  • operational notes
  • evergreen documentation
  • team vaults

Forge can also flag stale inbox notes when:

Inbox retention action -> List under Needs Review

is enabled in maintenance settings.


Inline Metadata Checks

When:

Lint inline metadata

is enabled, Forge scans body metadata like:

source:: example

Forge can detect:

  • undocumented inline keys
  • typo-like keys
  • collisions with frontmatter fields

Keep inline metadata keys listed in:

inline:
  allowed:

to avoid accidental drift.


Shape Validation

If Shapes are enabled, Vault Lint can also validate heading structures and section organization.

This helps detect:

  • missing sections
  • unexpected headings
  • empty required sections
  • structure drift over time

Shape validation is especially useful for:

  • project templates
  • meeting notes
  • research pipelines
  • operational runbooks
  • reusable workflows

Shape Validation

Recommended Workflow

A common lint workflow looks like this:

  1. Validate schema
  2. Run Vault Lint
  3. Review findings
  4. Normalize metadata
  5. Repair inconsistencies
  6. Re-run lint
  7. Export dashboards and summaries

Over time, this helps the vault become:

  • easier to maintain
  • easier to query
  • more consistent
  • more reliable for Dataview and Bases
  • easier to use with AI workflows

Related Notes

24 Notes link here
Built with LogoFlowershow