code cartography
Humboldt
A suite of tools to manage large, diverse codebases including multi-language, distributed applications and databases. Originally conceived for teams of human programmers but now something more about collaboration with AI and adapting to the special challenges of the new paradigm. Flagship tool "Minard" uses data visualisation to directly present huge amounts of information in a comprehensible, navigable way. Other tools analyse the routes in webapps and the ports and websockets that connect distributed applications.
Sub-projects
-
Brunel active
Portfolio-altitude auditor agent for the Humboldt toolchain. Runs in its own session, sees work via the artifact trail (git, worklogs, marginalia notes), never shares builder context. Three axes: direction (charter adherence), leverage (dogfooding force-multipliers), hygiene (tests/CI/docs). Proposes, Andrew disposes. Exists today as the /brunel skill plus the engineering-spine API endpoints (goals/ADRs/provenance/coverage) it reads and writes; queued checks: working-surface lint, agent-vs-human summary dissonance (tracker notes 283/287).
-
Marginalia (Project Tracker) 1 active
Personal project tracker spanning all of Andrew's work — programming, music, house, woodworking, garden, infrastructure — and the shared context layer between Andrew and Claude: structured memory that replaces grep-and-infer with curl-and-lookup. PureScript/Halogen frontend ("The Cambrian Explosion" newspaper, :3101) + HTTPurple/DuckDB API (:3100), live on the MacMini; a child of Humboldt (#133) since 2026-06-11. The server is the federating press: /api/projects, /api/projects/:id and /api/stats merge the tracker DuckDB (engineering realm) with the Infovore markdown life-projects folder (the bare reference ProjectSource — frontmatter cards, notes, and ## Attachments sections, deduped by id). The Register orders living projects above terminal ones. Each project carries two summaries: description (this field — Claude-maintained, additive-with-divider protocol, flushed each morning by Raker) and human_summary (the owner's editorial voice, never Claude-authored), which renders as ruled newspaper columns on aggregate (P1/P2) cards. Cross-tree curation uses the symmetric "related" dependency type (a "see also" rail in the dossier). Attachments serve through the narrow-grant infovore-files daemon (TCC); the capture PWA at /capture/ gives phone-side project search, dictation (local whisper, :3200) and photo capture. Deploy: build on the MBP, rsync (server output/, both gitignored bundles); static files via git. The Weather section renders Raker's output. --- Personal project tracker spanning all domains of Andrew's work — programming, music, house, woodworking, garden, infrastructure. Keyboard-first dispatch board with PureScript/Halogen frontend and HTTPurple/DuckDB backend, reachable across machines via Tailscale. Beyond bookkeeping, Marginalia is becoming the **shared context layer** between Andrew and Claude — the structured memory that lets Claude replace grep-and-infer with curl-and-lookup. The `description` field on each project is a Claude-maintained living summary (additive-with-`---`-divider update protocol). The new **Weather** section (WEATHER pill in the section row, added 2026-04-30) is the in-Marginalia surface for Raker (193): three panes — pending summary updates with approve/reject/edit, recent-notes digest grouped by project, and quick-wins capture/file/`did` for /what-next Axis 0. The Weather cutoff lives in `localStorage` for now; a server-side endpoint to share state with the Raker CLI is queued as a quick-win. Marginalia + Raker + SDI (184) form the **Atlas cluster** — the system-overview-and-dispatch layer over the ~150-project workspace, in service of the larger AI-as-peer ambition.
-
Minard Family 7 active
Umbrella for language-specific code exploration tools built on Hylograph. Each Minard variant goes deep into one language's type system, module structure, and idioms — understanding the language natively rather than treating all code as generic files-with-functions. All variants share Hylograph visualization infrastructure and store data in a common DuckDB instance, but have language-native data models and ingestion pipelines. Current: Minard-PS (PureScript). Planned: Minard-Rust, Minard-Python, Minard-Node, Minard-DB.
-
pausanias active
-
Portolan active
System-level explorer for multi-component, multi-language projects. Point it at a directory and it discovers components (languages, build systems, workspaces), executables and services (entrypoints, ports), and connections between them (port matching, shared packages, protocol inference). Renders topology as a Hylograph force graph. Part of the Humboldt tool ecosystem alongside the Minard family of language-specific code explorers. MVP scope: filesystem discovery + service detection as a single interactive page.
-
Raker active
Daily morning-review companion to Marginalia and feeder for `/what-next`. Two surfaces share the same protocol but have separate state (convergence via a server-side cutoff endpoint is queued as a quick-win): - **Python CLI** at `agent-teams/raker/raker`, scheduled via a LaunchAgent (com.condon.raker, daily 06:30 CET). Subcommands: `scan`, `review`, `did`, `check-in`, `pending` / `notes` / `show`. State at ~/.raker/. - **Weather page in Marginalia** (WEATHER pill in the section row, added 2026-04-30 after the CLI's terminal-folding made it unusable as a daily ritual surface). Three panes: pending-summary diffs, notes digest, quick-wins capture. Cutoff in `localStorage`. Both surfaces drive the same loop: walk pending summary updates (approve/reject/edit on Marginalia descriptions), scan recent notes, file quick-win lines as `author=quick-win` marker notes that `/what-next` surfaces as Axis 0. The act of typing each line is the filter — non-promoted notes drop from future digests when the cutoff advances. Half of the **Atlas cluster**'s human-attention layer; pairs with SDI for orchestration.
-
Culler idea
Companion to Raker in the Atlas cluster, surfacing projects that look defunct or redundant during the daily review. Where Raker asks "what's new and active?", Culler asks "what's gone quiet?" The hard problem is the anti-repetition / anti-burial tension: a project shown once and not acted on shouldn't reappear tomorrow, but it also shouldn't disappear forever just because the human deferred once. Raker's cutoff doctrine — "reading-and-not-promoting is itself a decision" — is the proven pattern. Each Culler surfacing forces a verdict (act / defer / archive); deferring advances a per-project cutoff, and the project re-surfaces only when new evidence crosses it (more elapsed time, a status change, parent-cluster activity). Likely signals beyond `updatedAt`: last-note timestamp, status (an `idea` with no notes is a different cohort from an `active` project gone quiet), description-rewrite age, last-time-shown-in-Culler with the user's verdict, and parent activity (a quiet child of an active parent reads differently from an orphan). Near-term: build CLI-first like Raker, then fold into Marginalia's Weather page as a fourth pane alongside pending / notes / quick-wins.
-
minard-06dee49 defunct
This is i think a worktree that was used to work with "naive Claude" to test that the project builds and runs from a bare clone.