Harmonica 0.5: the project layer
In the 0.4 post we said Harmonica had become a runtime: something that can take a facilitation method and run it for a group rather than one person at a time. Chained stages, layered prompts, structured outputs grounded in participant words. What sessions still couldn’t do was outlive themselves. A retro produced a summary you starred; the next retro started from scratch. A Wardley map landed in editable Mermaid syntax, but the rationale behind each placement lived in one session’s responses and stayed there. A community ran four discussions on the same topic and accumulated nothing.
0.5 closes that gap. The project is now a place that accumulates.
What lives there now
When you create a project in Harmonica today, three things exist at the project layer that didn’t before. First, project knowledge: a tab that aggregates structured propositions across every session in the project, synthesized by a second LLM pass over the raw participant words. Themes, tensions, and claims live there as readable accordion sections, each with the quotes behind them. Second, project-level context sources: a file, another session, an MCP server, or a URL you attach once at the project level becomes context for every session in that project, so you stop uploading the same PDF four times. Third, retrieval: files, sessions, and MCPs feed one unified pgvector index per session, so the facilitator pulls from across the substrate the same way regardless of which source the relevant chunk came from.
Concretely: Metagov’s gov/acc research ran 50+ structured 1:1 interviews to map web3 governance — who’s working on what, which problems converge, where the gaps are. The synthesis (11 problems, 41 solutions, 59 actors) lived on a custom Quartz site we built outside the platform because nothing inside Harmonica held that cross-session view. With 0.5, that synthesis renders as the project’s knowledge tab and, when the host chooses to publish, as the project’s public page on the Broad Listening Hub. No custom build needed.
What flows in
The project now accepts more kinds of substrate. URLs are a fourth context source kind: paste a link, the page is scraped and added to the substrate via Firecrawl. PDFs upload directly without a plain-text conversion step; large files chunk and embed automatically. Both join the unified retrieval index alongside files, prior sessions, and MCP servers.
The host also gets to curate what counts. When the system extracts knowledge from imported sources, the host marks which extracted statements should feed back into the facilitator’s cross-pollination scratchpad. Material that’s authoritative, like a research brief or a published policy, gets weighed differently from material that’s circumstantial. The substrate isn’t blindly ingested; it’s curated, and the curation flows back into how the facilitator behaves in future sessions.
What gets rendered
For projects that go public, the rendered view also changed. What was called /explore and “public sensemaking” is now the Broad Listening Hub. The rename retired terminology that confused in two directions (an “explore” that hosts didn’t browse, a “sensemaking” that already meant something else to the policy world) and matched the language the Polis community already uses for this shape of work.
Inside it, opinion maps now ship as a framework rather than a single rendering. The first lens, Reasoning, visualizes where participants agree, disagree, and pass on individual statements, in the spirit of Polis. Statements themselves are built from project knowledge, so the same propositions that surfaced in the knowledge tab become the things participants react to publicly. The themeMap block uses the project’s Atlas data-viz palette to render which themes have most reach across participants. More lenses are sketched (stance, salience, uncertainty); they’ll render the same underlying substrate from different angles.
Also shipped
A handful of changes that don’t fit the substrate thesis but matter operationally. HARMONICA.md, the host’s organizational-context layer from 0.4, now auto-refreshes from recent sessions. The template picker became data-driven and surfaces methodology provenance per template. Sociocracy 3.0 starter chains seeded as ready-to-run templates under the S3 methodology. Chain facilitator discipline tightened: step-0 prompts respect the platform guidelines, and the closing turn reflects rather than punts. Non-Claude models stop dropping the offered options list. The full changelog has the rest.
What’s next
0.4 made the runtime. 0.5 gives it memory. The questions we’re sitting with for 0.6 are about what the runtime does with that memory at conversation time: how a facilitator running a fresh session uses what previous sessions surfaced, when to ask vs when to skip, how to weight host-curated material against fresh participant input. That work isn’t shipped; it’s where we’re looking.
If this resonates and you want to try it, pick a template and run a project. If you want to support the work, our Open Collective is the cleanest way. The lifetime deal is still open: one-time payment for every premium feature forever, paired with bring-your-own-model so you cover token cost yourself.