Skip to content

lode v1.4.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 03:46
· 507 commits to trunk since this release

Lookup without loading: a derived, never-committed index over docs/ (lode-t6o1)

Answering "what did we decide about X" no longer means pulling a 400K-line design doc into
context. A new lookup tool rebuilds an FTS5 index over docs/*.md on every invocation and prints
ranked path:line_lo-line_hi pointers with a snippet — never a full doc, never a synthesized
answer.

  • Chunker that splits on the deepest heading or bullet, holds a 16 KB size invariant, detects
    CommonMark fences correctly, and emits exact 1-based line ranges that tile each file (lode-t6o1.1)
  • FTS5 index built per invocation into an XDG cache path outside the worktree, stdlib sqlite3
    only (lode-t6o1.2)
  • scripts/docs_index_query.py: Typer CLI returning ranked pointers, with FTS5 input escaping
    (lode-t6o1.3)
  • Gate test proving the index can never become a tracked file (lode-t6o1.4)
  • CLAUDE.md routes decision lookups to the tool first (lode-t6o1.5)
  • Chunker lives in scripts/ as repo tooling rather than in src/lode/ (lode-1fzq)
  • One importable CommonMark fence parser (src/lode/fence_parsing.py), with the private-fence AST
    gate widened to src/lode (lode-ee7b)

CLI --help: user-facing text split from maintainer rationale (lode-ii25)

Every registered command now carries concise, reader-facing help= text while its docstring stays
verbatim as the design record — and a corpus gate keeps it that way.

  • New coding convention recording the help=/docstring split (lode-ii25.1)
  • Concise help= across the CLI: reindex-lexical (lode-ii25.2); reembed/reenrich
    (lode-ii25.3); status/backfill (lode-ii25.4); work/dump-html/verify/show
    (lode-ii25.5); the remaining nine mid-length commands (lode-ii25.6); models pull (lode-ii25.11)
  • Clean one-line summaries in the lode --help command list (lode-ii25.7)
  • Every help= footnote into docs/ now resolves, and the maintenance-command gap is filled with
    docs/how-to/maintenance-commands.md (lode-ii25.8, lode-ii25.10)
  • Corpus-scan gate enforcing the help= rules over all 21 registered commands, with an allowlist
    that is now empty (lode-ii25.9)
  • Gate widened to walk sub-app groups as well as leaf commands (lode-g0ck, lode-r51w)
  • check_links.py gates anchor-less docs/<page>.md citations outside docs/ (lode-6lvu)

Keybinding help overlay, and the footer as a hint surface (lode-2bt3)

The TUI footer stops pretending to be the complete binding contract; a real help overlay takes that
job.

  • HelpScreen modal composing Textual's BindingsTable over a live binding snapshot, opened with
    ctrl+_ or ? (lode-2bt3.2)
  • Per-screen footer priority: screens hide the bindings they don't need, restoring readable labels
    (View content, Related, History, Quick) instead of abbreviations (lode-2bt3.3)
  • Search direction retired on the browse screen so ? is free for help; / always restarts the
    scan from the top (lode-2bt3.1)
  • Parametrized footer-width scan over all 11 footer-bearing screens, so "tightest screen" is derived
    rather than asserted (lode-2rv2)

docs/decisions.md landing bottleneck (lode-4jtc)

  • Root .gitattributes declares docs/decisions.md merge=union, killing the append-at-EOF
    landing conflict — a git built-in, no per-clone config (lode-4jtc.1)
  • Rationale, rejected alternatives, and the ours-side-only union caveat recorded (lode-fp9l)

Fixes

  • Statusline: the build: count is now the complement of its sibling segments, so the /sweep
    digest no longer makes an idle fleet read build:1 forever (lode-9hqr)
  • CLI help-corpus gate: strip ANSI escapes and force color off, so the plain-text parsers survive
    Rich's colorizing under CI (lode-pdtd, lode-g8ry)

Internal / workflow

  • Correctness-review Workflow fully retired: JS deleted, runbooks stamped, decision recorded
    (lode-blrl)
  • Escalation resolution can no longer strand a ticket at ready-for-code-review with no
    review_head (lode-uomo)
  • run_tool_turns logs each run's total output-token spend against its bound (observational, no new
    knob) (lode-9594)
  • CI: actions/cache bumped v4 → v6 (Node 20 deprecation)