Future — Planned Developments

This document tracks planned improvements to the notes system. Items here are intentions, not commitments — details will be worked out when each feature is addressed.

Completed

Browsergdata-browser provides a wxPython hypertext viewer with navigation history, dual backend support (HTTP and GDBM), and inline markup rendering.

Renderer — The browser includes a built-in JSONHTL-to-HTML renderer that handles both structured JSONHTL objects and markdown-in-strings (**bold**, `code`, *italic*).

Planned

Linter

A tool to validate that nodes conform to the JSONHTL spec and the conventions documented in README. Should check structural validity (correct block/inline types, required keys present) and convention compliance (key naming, metadata keys, document brevity). May eventually be stored as a runnable codeblock node itself.

Normaliser

A tool to convert between the two equivalent inline formatting approaches: JSONHTL objects ({"code": "x"}) and markdown strings (`x`). Allows the system to settle on one canonical form after a period of mixed usage.

External Link Resolution

Define what happens when following an external link (one starting with http:// or https://). The target might be a web page, another JSONHTL store, or an API endpoint. Needs a resolution protocol.

Runnable Documents

Executable codeblocks within nodes, similar in concept to Jupyter notebooks but oriented towards LLM execution. See Runnable Document Conventions for the current placeholder.

Search and Indexing

A way to find content across nodes beyond knowing keys directly. Could be full-text search over node content, tag-based filtering, or a generated index node that lists all keys with summaries.

version2