Skip to main content
Mirrored from Meerkat Meta main at 26f5ae9da1fd on 2026-11-03; Meta version 0.9.9 at that commit. Meta includes governance validators for implementation-tracking documents. They check governance declarations, traceability row format, recognized statuses, and required evidence text. They do not discover every contract, verify the truth of status claims, or establish release completeness.

Governance state

Governance documents declare their state on a governance_state: line. The validator currently accepts exactly this unquoted value:
validate_governance_state(file_name, content) extracts the state from document text. The file name is a label for errors, not a path it reads:

Traceability statuses

Rows in a supplied traceability document declare a status from this strict set. These are the meanings claimed by the document’s author, not facts the validator proves:

Validation

The function accepts YAML document text as above or a Markdown table with Status and evidence/link columns. All row statuses must be in STRICT_TRACEABILITY_STATUSES. TYPED, WIRED, VALIDATED, and PROVISIONAL require non-placeholder evidence; MISSING, DEFERRED, and STUBBED do not. Evidence validation checks presence, not whether a referenced artifact exists or proves the status. Invalid input returns GovernanceValidationError. YAML input parses under YAML 1.2 rules: yes, on and off stay text, and << is an ordinary key rather than a merge. The document is refused as InvalidTraceabilityRow when it has a custom tag, a key given twice in the same mapping, a null where text is expected (an empty list entry is a null), a ... document end marker, nesting deeper than 64 levels, or 100 or more aliases that outnumber their anchors more than ten to one.

Baseline verification

The optional source-baseline check scans a local Meerkat checkout for a selected historical checklist of source tokens. Supply the checkout explicitly, or set MEERKAT_REPO; there is no machine-specific default:
This is a heuristic source-token smoke check: even occurrences in comments can satisfy a checklist entry. It does not establish crate presence, exported API or signature correctness, or version compatibility. Use the pinned dependency manifests and compilation/tests for compatibility validation.

Required symbols

REQUIRED_MEERKAT_SYMBOLS contains that selected historical checklist, not an exhaustive inventory of Meta’s current dependency entry points. An unsatisfied checklist entry produces BaselineVerificationError::MissingSymbols.

Governance contracts

validate_governance_contracts(spec_yaml, plan_yaml, checklist_yaml, traceability_markdown) validates four supplied document strings:
  1. The required governance_state in the spec, plan, and checklist texts
  2. The traceability document’s row format, allowed statuses, and evidence presence where required
The standalone governance_check binary runs this same validation for CI. Neither invokes baseline verification, executes tests, nor checks that all features have traceability rows. Run baseline_check or verify_meerkat_baseline_symbols separately if that optional smoke check is desired; it is not a release-compatibility gate.

Governance validation errors

For Markdown, line is a source line number. For parsed YAML rows it is the one-based row index; YAML parse failures report line: 1. Baseline verification uses a separate BaselineVerificationError:

CLI tools

Meta’s binaries include these validation and operational tools: Use the two check binaries in CI for their respective validation scopes; the gateway and fixture are operational/test tools, not governance validators.

See also