seed example content so Bases render non-empty on first open
Five files across four note types so every new Obsidian Base has something to display immediately when the vault is opened: - daily/2026-04-19.md — today's journal entry, covering the PKB setup work. Wikilinks to the permanent note, project brief, and reading note below. - notes/pkb-as-lens-substrate.md — the load-bearing design note capturing the PKB-as-substrate / Council-as-lens inversion that drove this whole extension. - projects/mql/brief.md and log.md — active project tracking the companion Markdown-Query-Language CLI (sibling repo). First log entry records the Go-over-Rust decision and v0.1 scope. - reading/audiopen-integration-research.md — marked done; captures the two-clouds distinction (AudioPen's processing cloud unavoidable; Obsidian Sync optional) and names Tailscale Funnel as the chosen webhook-exposure path. - inbox/2026-04-19-1900_test-ingestion.md — hand-authored fleeting note (source: manual, distinguishable from AudioPen drops) so /triage-inbox has something to exercise on before the real voice pipeline is running. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
---
|
||||
type: project
|
||||
title: "mql — Markdown Query Language CLI"
|
||||
status: active
|
||||
started: 2026-04-19
|
||||
tags: [tooling, go, pkb]
|
||||
---
|
||||
|
||||
# mql — Markdown Query Language CLI
|
||||
|
||||
## Why
|
||||
|
||||
The Council's members currently reach for Grep + Read to find patterns across `daily/`, `notes/`, `projects/`, `reading/`. Grep is stringly-typed; it doesn't understand YAML frontmatter, wikilinks, tags, or Obsidian Bases. As the PKB grows, "find all sessions where winner = X" or "list permanent notes tagged with Y linked to project Z" will be load-bearing queries, and a proper query tool pays off.
|
||||
|
||||
`mql` is a Go CLI that indexes and queries any repo with Markdown + YAML frontmatter + wikilinks + tags + Obsidian Bases, exposing a Dataview-compatible query language from outside Obsidian.
|
||||
|
||||
## Outcome definition
|
||||
|
||||
v0.1 shipped and installed in `~/.local/bin/mql`:
|
||||
- Cold-scan builds a SQLite index under `~/.cache/mql/<vault-hash>.sqlite`.
|
||||
- `mql 'LIST FROM "sessions" WHERE winner = "vaasa"'` returns JSON.
|
||||
- `mql base <name>` executes an Obsidian `.base` file as a query.
|
||||
- Researcher and `/ask-*`-invoked members can shell out to `mql` instead of grep-walking directories.
|
||||
|
||||
## Constraints
|
||||
|
||||
- Go (single static binary across Linux/macOS/Windows).
|
||||
- Pure-Go SQLite (modernc.org/sqlite) — no cgo, no C toolchain at build time.
|
||||
- MIT or Apache-2.0 license (open-source candidate).
|
||||
- Dataview-compatible subset; `GROUP BY`, `FLATTEN`, `TASK`/`CALENDAR`, inline fields in prose, and `dataviewjs` are explicitly out for v0.1.
|
||||
|
||||
## Log
|
||||
|
||||
See [[log]].
|
||||
|
||||
## Links
|
||||
|
||||
- Sibling repo: `~/projects/mql/` (separate from this repo).
|
||||
- Design: `~/projects/mql/docs/structure/initial-plan.md`.
|
||||
- First customer: this vault. `/var/mnt/data/projects/council/` is the v0.1 integration-test fixture.
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
type: project-log
|
||||
title: "mql — log"
|
||||
project: mql
|
||||
tags: [tooling, go, pkb]
|
||||
---
|
||||
|
||||
# mql — project log
|
||||
|
||||
## 2026-04-19 — project started
|
||||
|
||||
- Scaffolded `~/projects/mql/` as a sibling repo (Go module planned; no code yet).
|
||||
- Archived the design plan at `~/projects/mql/docs/structure/initial-plan.md`.
|
||||
- Decided: Go over Rust (single-binary cross-compile story, pure-Go SQLite via `modernc.org/sqlite`, development velocity for the target scope).
|
||||
- Decided: Dataview-compatible query dialect from the start, not a narrower `--where` expression. Grows cleanly over time.
|
||||
- First milestone (v0.1): indexer + `files`, `meta`, `tags`, `schema` commands — no DQL parser yet.
|
||||
- Council PKB (this repo) is the v0.1 fixture corpus.
|
||||
Reference in New Issue
Block a user