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

Open questions

Updated
  • Re-import strategy: When importing a file that was previously imported, should we overwrite, merge, or create new notes? What about user edits to generated notes?
  • Column type inference: How aggressive should auto-detection be? Current heuristics may misclassify columns.
  • Multi-file import: Should the wizard support importing multiple files in one session, with cross-linking between them?
  • Link syntax: Should typed links use inline Dataview fields (type:: [[Target]] {json}) or a custom syntax? What’s most compatible with future Obsidian features?
  • Link direction: When two frameworks crosswalk, should links be injected in source notes, target notes, or both?
  • Link updates: When a framework is re-imported, how do existing typed links get preserved?
  • Large frameworks: NIST 800-53 has ~1000+ controls. How does generation perform at scale? Need benchmarks.
  • Streaming threshold: Is 5MB the right cutoff for streaming mode? Should it be row-count based instead?
  • Wizard flow: Is 4 steps the right number? Could steps 2 and 3 (configure + preview) be combined?
  • Error recovery: What happens when generation fails mid-way? Should we support rollback?
  • Mobile support: Obsidian mobile has limited file picker capabilities. How to handle?

These are the hardest open questions. See data model resilience and ontology evolution for background research.

  • Version-tagged vs. overwrite: Should re-import create a new version folder (SCD Type 2) or overwrite in place (Type 1)? Or let the user choose?
  • User annotations: If a user adds custom content to a generated note and then re-imports, how do we preserve their additions while updating the generated parts?
  • ID aliasing: When a framework renames an ID (e.g., ATT&CK sub-technique migration), how should old links resolve? Frontmatter aliases? Redirect notes?
  • Crosswalk staleness: If Framework A updates but the A↔B crosswalk doesn’t, how do we detect and surface this? See OLIR maintenance model.
  • Changelog ingestion: ATT&CK publishes machine-readable STIX changelogs. Should Crosswalker consume these to automate migration? What about frameworks without machine-readable changelogs?
  • Bitemporal queries: Should _crosswalker metadata support both valid-time (when the framework version was published) and transaction-time (when we imported it)?
  • OSCAL output: What subset of OSCAL should we target? Full catalog or just control mappings?
  • Community configs: How to distribute and discover shared import configurations?
  • Pivot framework: Should Crosswalker support importing SCF’s STRM data as a meta-framework that enables automatic crosswalking between any frameworks mapped through it?