Skip to content
🚧 Early alpha — building the foundation. See the roadmap →

Roadmap

Updated

Crosswalker is a meta-system for ontology lifecycle management, not just a framework importer. The roadmap reflects this — architecture decisions come first, features are built on that foundation, and every significant decision is logged with rationale.

See vision alignment decisions for the philosophical foundations.


Current phase: v0.1 implementation (design phase closed 2026-05-04)

Section titled “Current phase: v0.1 implementation (design phase closed 2026-05-04)”

v0.1 implementation milestones (active work)

Section titled “v0.1 implementation milestones (active work)”

The v0.1 implementation phase breaks into 9 sequenced milestones. Each has its own page with concrete tasks, dependencies, and success criteria.

MilestoneTitleEffortStatus
v0.1.1Type system + validation foundation1–2 days📋 Planning
v0.1.2render() v1 — folder + file + heading3–5 days📋 Planning
v0.1.3Generation engine integration3–5 days📋 Planning
v0.1.4Junction notes + crosswalk edges2–3 days📋 Planning
v0.1.5Tier 2 sqlite-wasm sidecar projector5–8 days📋 Planning
v0.1.6Bases query layer3–5 days📋 Planning
v0.1.7Exporters (STRM TSV / OSCAL JSON)2–3 days📋 Planning
v0.1.8Audit trail T1 default1–2 days📋 Planning
v0.1-RCBundle, polish, ship2–3 days📋 Planning

Total estimate: ~3–6 weeks of focused work. See the milestone hub for the full sequencing detail and dependency graph.

Foundation — “Get the architecture right” (closed)

Section titled “Foundation — “Get the architecture right” (closed)”

Architecture decisions before more code. The three interconnected schemas (_crosswalker metadata, FrameworkConfig, StewardshipProfile née EvolutionPattern) must be designed together — getting any wrong is expensive to fix later. Decision: architecture first

After three research waves on 2026-05-02 and the v0.1 stack-pivot, Foundation is now organised around a concrete v0.1 build target plus the genuinely-still-open spec items.

Concrete, shippable. ~1.2 MB total. Tier 1 + Tier 2 sqlite-wasm sidecar bundled together.

Build against the unified v0.1 schema spec — the four interconnected schemas (_crosswalker metadata, FrameworkConfig v2, junction note 13-field schema, Tier 2 sidecar SQL) in one place.

v0.1 stack (full commitment):

  • Tier 1 storage: markdown files with YAML frontmatter; STRM predicate vocabulary (is_equivalent_to, is_broader_than, is_approximate_to, intersects_with, no_relationship); junction notes (13-field schema, Ch 07 resolution) for evidence links
  • Tier 1 in-memory index: plain JS Map built at vault-load time over frontmatter; works without Tier 2 (slow on large vaults but functional)
  • Tier 2 sqlite-wasm sidecar projector: @sqlite.org/sqlite-wasm (~600 KB) + sqlite-vec; auto-projects from Tier 1 on vault load; deletable; reprojected on next load. Per Ch 18 expressivity matrix, 4 ✅ tractable rule types + 4 ⚠️ caveat-tractable cover the realistic GRC workload comfortably under 100K mappings
  • Crosswalk-render plugin: Dataview-style queries on frontmatter for the Tier 1 path; recursive CTE over Tier 2 sidecar for transitive closure / multi-framework joins / coverage matrices / perspective views
  • STRM-shaped TSV exporter (NIST IR 8278A r1 OLIR template shape, Excel-friendly CSV) + OSCAL JSON profile exporter + SSSOM-flavored TSV emission (optional, for academic interop). Hybrid SSSOM↔STRM resolution per v0.1 pivot §6
  • Audit trail (T1 default): git commits + Ed25519-signed releases for shared mapping bundles; auto-generated FRE 902(13) certification PDF available on demand. Per v0.1 pivot §8
  • Bundle target: under 500 KB plugin core + ~600 KB sqlite-wasm sidecar = ~1.2 MB compressed total

Plugin scope: a single, focused import wizard + crosswalk-render plugin + Tier 2 sidecar projector. Performance enhancements (DuckDB-WASM, Oxigraph, Nemo, Comunica federation) live in separate companion plugins released later.

These are committed direction, with deliverables and decision logs. They feed v0.1 and beyond.

These are design / spec items that need work before/during v0.1 implementation. Most are documentation or schema specifics, not architectural questions.

Schema spec work:

  • Unified v0.1 schema spec (2026-05-03) — the four interconnected schemas designed together as the v0.1 build target. Implementation of the four schemas below proceeds against this spec.
  • ImportRecipe v1 schema (formerly FrameworkConfig v2 — see naming history) — implement the recipe shape in src/types/config.ts; migration script for legacy saved configs
  • _crosswalker metadata v2 — extend src/generation/generation-engine.ts to write the v2 fields (ontology_id, ontology_version, recipe_id); idempotent migration for existing notes
  • Junction note 13-field schema — implement junction-note generation as new code path in the generation engine; non-destructive, git-history-preserving
  • Tier 2 sidecar SQL schema — new packages/core/ projector module; auto-runs on vault load; lazy closure cache
  • Migration strategy matrix — given StewardshipProfile + old/new version → recommended SCD type + handling strategy

Implementation infrastructure:

Documentation tasks (surfaced 2026-05-02; non-blocking but valuable):

  • OSCAL ↔ Crosswalker mental model — extend reference/registry/oscal to map OSCAL terms (catalog ↔ source-ontology web, Control Mapping Model ↔ crosswalk edges, Assessment Result ↔ junction notes) into Crosswalker’s vocabulary. Per TL;DR §3.3
  • DB-choice architecture page — extend architecture/file-based-graph-database explaining why Tier 1 + sqlite-wasm sidecar is the right choice (and why not pure graph DB). Per third-wave §3.3
  • Comunica honest+practical assessment — per third-wave §7.2, Comunica federation conditional confirmation pending honest assessment before v1.0 companion plugin work
  • StewardshipProfile rename ripples — propagate the rename across ~24 docs files where the old “EvolutionPattern” term still appears

Research items remaining (not v0.1-blocking):

Infrastructure (non-blocking):

  • PII scanning in CI/CD — automated detection of personal paths, secrets, API keys before push
  • Expand E2E smoke tests minimally (don’t test wizard UI — it will change)
  • Fluid layout scaling — replace rigid Nova breakpoints (768/1152px) with clamp() CSS. ~3-5 hours.

Formats — “Import anything, transform it properly”

Section titled “Formats — “Import anything, transform it properly””

Built on the Foundation spec. The wizard UI is redesigned around FrameworkConfig v2.

  • Complete import wizard UI — steps 2-4 redesigned around the new config schema
  • Complete settings tab — all 8 sections reflecting new schema
  • Complete config browser modal — search, select, delete, import/export
  • XLSX parser — integrate xlsx package into wizard with sheet selector
  • JSON/JSONL parser — structured data import
  • Transform system — implement 20+ transform types defined in schema (string, array, type conversion, conditional). Current types
  • Improved preview — expandable folder tree, full note preview in Step 3
  • E2E test suite — full import wizard workflow tests, built from spec

Section titled “Crosswalks — “Link frameworks to each other and to evidence””

The evidence mapping workflow — the core value proposition for GRC teams.

  • Cross-framework linking engine — generate typed WikiLinks between imported frameworks using crosswalk data. Crosswalk specs
  • Link insertion commands — “Insert framework link” with search modal and metadata form. Link metadata system
  • Batch re-import — update existing framework folders with version awareness and diff preview. Resilience patterns
  • FrameworkConfig presets — per-framework configs with sheet selection, custom transforms, column overrides. Community-contributed via the as-code format.
  • CLI implementation — headless import, crosswalk generation, batch operations

Performance — “v1.0+ companion plugins”

Section titled “Performance — “v1.0+ companion plugins””

Performance enhancements and integration capabilities researched on 2026-05-02 (third research wave) and reframed by the v0.1 stack-pivot as opt-in companion plugins that ship after v0.1 lands. Each is fully researched; the deliverables are ready-made designs.

These are not v0.1 build target. They are v1.0+ work for users who outgrow the Tier 2 sqlite-wasm sidecar default.

  • “Crosswalker Power Query” companion plugin — DuckDB-WASM + Oxigraph-WASM + Nemo-WASM layered Tier 2 stack (~5 MB compressed). Triggered when a user vault exceeds Tier 2-Lite’s ~100K mapping ceiling (per Ch 18 migration triggers) OR demands recursive SHACL / multi-stratum Datalog / SPARQL property paths. Ch 11 deliverables A/B/C · Ch 14 deliverable
  • Comunica federation companion plugin — Comunica + N3 + HDT for cross-vault, cross-org, external SPARQL endpoint queries. ~250–300 KB gzipped core. Conditional — see third-wave §7.2: user flagged Comunica as “seems bulky or overengineered”; honest-and-practical assessment needed before locking in
  • Compliance-export mode — opt-in profile picker exposing T2 OpenTimestamps and T3 audit options (“US litigation”, “EU regulated”, “Federal ATO”, “Supply-chain”) per the Ch 15 deliverable §E. Each profile pre-configures 4–6 settings. v0.1 default remains T1 (git + signed commits).
  • Migration trigger UX — status-bar indicator and modal prompts for “you’ve outgrown Tier 2-Lite” per Ch 18 §3.2. Detects performance / scale / feature triggers; suppressed on platforms that can’t migrate (Obsidian Mobile)
  • PQC dual-sign migration — Ed25519 → ML-DSA-44 dual-sign starting 2027 per Ch 15 §5.6 crypto-agility plan. Ahead of NIST IR 8547 2035 deadline.

Deployment — “v2.0+ Tier 3 server guide”

Section titled “Deployment — “v2.0+ Tier 3 server guide””

Server-tier deployment options for users who genuinely need a shared multi-team server. Documented as a deployment guide rather than bundled into the plugin.

  • Default recommendation: Postgres + JSONB + recursive CTE — boring tech, broadly operable, “you probably don’t need anything fancier.” Per Ch 16 deliverable §2.3
  • Apache Jena Fuseki + oxigraph-server — same-API alternative for users who want SPARQL natively (oxigraph-server uses the same engine as the v0.1 Tier 2, just with serve mode). Architectural symmetry with Tier 2.
  • Layered Fuseki + DuckDB-on-server — power-user upgrade path for multi-team mixed SQL+graph workloads, multi-million mappings. Federated via SPARQL SERVICE and DuckDB httpfs / postgres_scanner
  • TerminusDB v12 — opt-in vault-mirror for users who want server-side git-style branch/diff. Small-vendor (DFRNT) risk explicitly flagged
  • Apache AGE on Postgres — supported fallback for Postgres-standardized environments. AGE’s killer feature (graph queries inside an existing Postgres instance) has no substitute
  • Migration from AGE — for early adopters who started on AGE during the Ch 10 era. The SSSOM-canonical files-first architecture turns “migrate from AGE” into “re-run the projector against the new engine,” not “translate AGE data” — see Ch 16 §5

Implement the ontology evolution classification system designed in Foundation. This is the novel contribution — no existing tool solves this.


Build the ecosystem around the spec.

  • Community config registry — start with GitHub repo, evaluate built-in registry later
  • OSCAL export — export to Open Security Controls Assessment Language for GRC tool integration
  • Compliance dashboardsBases views for gap analysis, coverage tracking
  • Report generation — exportable compliance reports for auditors
  • Custom migration transforms — user-defined transformation logic for version migrations. From inline expressions to named transforms to custom scripts. Progressive depth applied to migration.
  • AI-assisted transforms — LLM-based property mapping using templates (like Obsidian web clipper AI templates but for ontology node properties). Map source schema to target schema via AI suggestion.
  • Extended graph support — research and implement DAG and hypergraph support beyond basic directed graphs
  • Community plugin submission — publish to Obsidian plugin registry
  • Spec publication — publish EvolutionPattern taxonomy and structural diff engine as standalone specifications

Every significant architectural decision is captured with rationale in the log:

Recent (2026-05-02 / 2026-05-03) — three research waves + v0.1 stack pivot:

Earlier (2026-04) — first-principles foundations:

See also: ROADMAP.md on GitHub, research deliverables, research challenges


Past roadmap versions are preserved here for reference: