Skip to content

Harden Markdown graph intelligence in compass.graph/1 - #298

Merged
forhappy merged 2 commits into
mainfrom
codex/markdown-graph-intelligence-v1
Aug 27, 2026
Merged

Harden Markdown graph intelligence in compass.graph/1#298
forhappy merged 2 commits into
mainfrom
codex/markdown-graph-intelligence-v1

Conversation

@forhappy

@forhappy forhappy commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • keep the public wire contract at compass.graph/1 while adding bounded typed Markdown normalization internally
  • retain table, header, row, and cell nodes with semantic labels, stable qualified identities, and exact byte/line/column anchors
  • resolve Markdown links and inline-code references from the smallest owning cell against repository files and code symbols
  • parse bounded nested YAML frontmatter and publish exact config_key hierarchies with Config provenance, JSON Pointer paths, stable value-independent IDs, and nested containment
  • use a bounded frontmatter title for the document display name and summarize only established content metadata; generic and credential-shaped values do not enter the public graph
  • statically link the pinned YAML grammar and harden block/flow object-array extraction without runtime downloads
  • harden clean, warm, forced, alternate-checkout, and edit/restore publication determinism
  • extend the independent source-derived Markdown graph quality oracle and graph-v1 qualification

Graphify comparison

The comparison audits the official Graphify v8 deterministic Markdown extractor source. Graphify parses nested YAML metadata onto its page node and covers ATX headings and local document references with line-level locations. Compass now matches nested frontmatter while adding queryable typed key hierarchy, exact key ranges, stable escaped paths, value-disclosure controls, pipe-table hierarchy, semantic row/cell identities, Setext headings, exact byte/column anchors, and cell-owned references.

Compass exceeds that audited structural graph baseline without introducing a Graphify runtime, test, configuration, artifact, or fallback dependency.

Compatibility

  • graph schema remains compass.graph/1
  • no graph-v2 adapter or schema bump
  • table/header/row/cell nodes remain published
  • frontmatter uses existing config_key, Config provenance, contains, source-anchor, and qualified-name contracts
  • normalization-only document details are rejected if they reach the graph-v1 wire boundary
  • extraction semantics advances to compass.languages.extraction/4 so stale Markdown caches rebuild automatically

Verification

  • ./scripts/qualify_code_graph_v1.sh --fixtures-only
    • Markdown quality: 17/17
    • 6 exact frontmatter keys, 1 table, 2 body rows, 9 retained cells, 3 exact references
    • 2,560 semantic graph invariants
    • all lifecycle byte comparisons pass
    • enterprise scale ceilings pass
    • React/frontend qualification passes
  • cargo test --workspace --lib --bins --locked — passed
  • cargo clippy --workspace --lib --bins --locked -- -D warnings — passed
  • cargo test --locked -p compass-languages --test markdown_coverage — 11 passed
  • cargo test --locked -p compass-graph --test domain_normalization — 6 passed
  • pinned language-pack YAML block/flow extraction tests — passed
  • cargo test --locked -p compass-cli --test compass_product — 8 passed
  • cargo fmt --all -- --check, git diff --check, and scripts/check_product_boundary.sh — passed

The macOS debug/release CLI link emits the repository's existing compact-unwind size warning; it does not fail the build or tests.

@forhappy
forhappy merged commit 36bf65c into main Aug 27, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant