next project
ShapedSteer
A typed DAG workbench in PureScript, positioned as the synthesis point of the four named clusters in Andrew's wider vision (Atlas, Polyfacetic REPL, Hylograph paradigm, Personal data sovereignty). The thesis: the DAG is a universal substrate, and the projections we already build separately — notebooks, spreadsheets, project boards, agent workflows, build graphs — are five faces of the same shape. Aspirational today; implementation is pre-intensive.
Nodes are computations with typed inputs/outputs; edges are typed dependencies. Five views over one DAG: notebook (topo-sorted compute), grid/spreadsheet (cells), kanban/gantt (tasks), human-AI agent flow (claim/submit/approve), build (scheduler + traces via Build Systems à la Carte). Multiple executors — human and AI — can claim nodes concurrently with a typed status lifecycle. Excel roundtrip is in scope (.xlsx → DAG → edit → export).
Eight-layer architecture with strict downward dependencies: Data Structures (0) → Language (1) → Build Systems (2) → Unified DSL, finally-tagless with multiple interpreters (3) → DAG Core (4) → External Bridges, effects live here (5) → Halogen Application (6) → Demo & Generated (7). Layers 0–4 pure, no Effect/Aff. All visualisation via Hylograph libraries; no raw D3.
State (2026-05-02, pre-intensive): scaffolding compiles and the foundational modules exist, but the 8-week intensive has not started. ~4 known architectural violations to resolve, Lang.Eval (~1500 lines) needs splitting, the Halogen views (NotebookView, KanbanView, GridView) exist but aren't wired end-to-end. Intensive plan in docs/intensive-plan.md targets all five faces plus a dogfooding exit criterion: can ShapedSteer manage its own next phase of development. Prerequisite is the Hylograph + Minard + Polyglot release wave (release-plan-2026.md).
Why it matters in the broader frame: if the DAG substrate is right, ShapedSteer becomes the place where the rest of the universe — Marginalia projects, Atelier sessions, Minard architectural views, polyfacetic-REPL musical fragments — can be modelled as graphs of typed nodes with appropriate projections, with Claude as a peer executor. The synthesis is the long-term ambition; the intensive is the next concrete move.
Sub-projects
-
Async Evaluation Architecture active
Backend service for process management + build execution
-
Bosun active
Bosun is a typed deployment-DAG tool: you author a deployment as a typed PureScript spec, and it validates, plans, and reconciles it — compiled to a native Go binary via the purescript-go backend (it doubles as that backend's MVP-gating showcase). It is a standalone proof-of-concept in the ShapedSteer family: the deployment-domain instantiation of the unified-DAG vision, where services are nodes, dependsOn are typed edges, launchers are executors, and a Build-Systems-a-la-Carte rebuilder reconciles only what is stale (down / unhealthy / config-drifted), giving Terraform-style plan/apply rather than blind restarts. One typed spec round-trips to docker-compose.yml, launchd plists, the SDI registry, and Sankey / status-grid views. A headline goal is demonstrating Make-Illegal-States-Unrepresentable and Parse-Don't-Validate for DevOps config: validation parses into a tighter type in which dependency cycles, dangling deps, and port collisions have no representation, so plan/apply are total by construction. Currently designed in full; the repo was just created at ShapedSteer/bosun; next is a design doc, then a Stage-1 implementation (emit + validate + plan — fully synchronous and differential-testable against the hand-written compose file).
-
ShapedSteer Intensive blocked
8-week development sprint for typed DAG workbench. Blocked on Minard release
-
ShapedSteer Pre-work blocked
Meta-planning: multi-agent workflow, dev server architecture, worklogs
-
Functional Spreadsheet someday
Spreadsheet as comonad using Store, recursion schemes, lenses
-
MVP Verticals someday
Four verticals: Spreadsheet, Notebook, Kanban/Gantt, AI Agent
-
Typed Cells Design someday
Typed PureScript lambda compilation into cells
-
Unified DAG Vision someday
Typed DAGs as universal substrate (like Unix byte streams)
-
Unified Data DSL someday
Finally-tagless DSL with Eval, Deps, Pretty, CodeGen interpreters