ch · changelog
Changelog
Narrative ship notes across the ai-labs tree. Entries authored at the parent level cover structural changes; child entries roll up from each submodule.
-
ai-labs Splash catches up: augment-it, a Studies landing page, nested-pseudomonorepo rollup, and OpenPanel
ai-labs grew a fourth active child (augment-it) and three of memopop-ai's apps started shipping their own changelogs, but the splash didn't know it. This round teaches the rollup to recurse into pseudomonorepo children's `apps/*`, adds a dedicated `/studies/` landing page that reads each study's `.gitmodules` and README at build time, surfaces augment-it in every count and card on the homepage, and wires OpenPanel analytics the same way the other splash sites do it.
-
ai-labs Shared Auth for Applied AI Labs went from exploration to validated reference in one evening — chroma-decks is the first end-to-end install
Earlier this month an exploration in this tree argued that every AI product under ai-labs needs its own auth story but none of them is at the scale that justifies Auth0/Clerk pricing. The doc proposed ~800 lines of owned auth, a libSQL-backed session model, OAuth via the small `arctic` library, an opaque cross-app `lossless_id`, and a stub seam for future rollup. It estimated three sessions of work plus a package extraction. Tonight the first real install landed — in chroma-decks, greenfield, with the four 'Session-2 additions' from the spec baked in from day one. The pattern is validated against a real-world app, the cross-app organization-naming convention is locked into the exploration as binding policy for every AI product in this tree, and the next AI product that needs auth (memopop-ai, augment-it) installs from a 6-phase template that took ~3 hours to produce on a greenfield codebase.
-
dididecks-ai In-play classifier ranking lit, audits schema migrated to dual-surface, TOC redesign planned
A++.2 closed: `/play/[slot].astro` now consumes `<DeckOverlay--Play-UI>`, replacing the inline calmstorm-port chrome bars with the themable `<DeckChrome>` floating capsule and lighting up the in-play `<SlideRankPill>` via the section-wrap adapter. Phase 1 of the TOC-redesign plan also shipped: the audits storage migrated from one-rating-per-(deck, variant, slot) (schema 1) to up-to-two-ratings-per-row keyed by surface (schema 2 — `{scroll?, play?}`), with an auto-migrating loader, a one-shot CLI migrator, and the chroma audits file rewritten in place against its 18-row backlog. And the workflow-shaped TOC the founder asked for — variants as columns, slots as rows, paired scroll-rating + play-rating chips per cell, per-column shippability rollup, per-row drift indicator — is now a written plan ready for execution.
-
dididecks-ai Calmstorm-decks auth gate fixed — prerendered Play routes were silently bypassing the middleware
Mid-afternoon detour from the dididecks TOC redesign: the calmstorm-decks fundraise deck was stuck in an auth loop — submit `staycalm`, land on a page once, then every subsequent navigation bounced back to `/access`. Server logs said `[middleware] /play/variant/v2: no cookie → /access` even though DevTools showed `cs_session` sitting in the browser cookie jar with all the right attributes. The HAR export looked like the browser wasn't sending cookies at all. The real culprit, after three rounds of red herrings: `/play/variant/[variant].astro` and `/play/section/[slot].astro` both had `export const prerender = true`. In Astro 6 with `output: "server"`, prerendered routes serve through a code path where the middleware's request context doesn't surface the inbound `Cookie` header — so the cookie was being set correctly and sent correctly, but the middleware was structurally blind to it. Worse, in production those routes would be static HTML files served directly by the Vercel CDN, **bypassing the auth gate entirely**. Flipping both to `prerender = false` makes every request to a gated route flow through the middleware properly, in dev and prod. The auth hardening done before discovering the prerender issue (explicit `Set-Cookie` headers on manually-constructed redirect Responses in verify / logout / link redemption) stays — it removes ambiguity from a part of the stack that has bitten this codebase before.
-
dididecks-ai Play-UI gets a calmstorm-style full chrome — <DeckFrame--Play-UI>, audience-tier intent, single Switch-Variant menu
After the morning's TOC matrix work and the calmstorm auth detour, the founder pulled up calmstorm-decks' /play surface and named what was missing from the shell side: the rich top-and-bottom border chrome that exposes section title, status rating buttons, variant cycle pill, audit link, keyboard hints, and variant switches. Today's third chunk lands that as `<DeckFrame--Play-UI>` — a new full-chrome component sitting alongside the existing floating `<DeckChrome>` capsule. The bigger move tucked inside it: a new orthogonal dimension on top of the shell's existing `surface` axis — `intent: "workflow" | "presentation"` — that gates which affordances render. Workflow chrome is the VC-firm / Lossless-Group authoring view (variant cycle pill, inline status, audit link, variant switches, 1-4 status keyboard). Presentation chrome is the end-user / LP view (exit, section title, counter, clean nav hints — no workflow controls at all). One URL parameter (`?intent=presentation`) swaps the whole thing. Two follow-ups baked in: an Astro scoped-CSS bug that was silently breaking the `C` chrome-toggle key, and a UX iteration that replaced the row of N-1 "Switch to {variant}" buttons with a single "Variant ▾" popover menu navigable by click or arrow keys.
-
dididecks-ai <DeckMatrix> iteration — vacuous-Ready bug fixed, rollups merged into one pill, variant filter chips, OPEN button retired, plan revised to keep per-variant TOC alive
Three in-browser review passes on chroma's index produced four DeckMatrix refinements and one plan revision. The matrix the morning shipped was structurally right but visually noisy and wrong on two specific decisions — the per-surface rollup rendered as five separate count pills wrapping onto two lines per surface (ten pills per column for a 4-variant deck); the column-level OPEN link buried the scroll-vs-play surface distinction into one button that dumped readers into 'the deck' without saying which surface; and a `getStaticPaths`-free variant with zero slots was vacuously satisfying the Ready badge's 'no blockers found' check. Fixing those produced one larger consequence: the per-variant `/toc/[deck]/[variant]/` route, originally slated for deprecation-to-redirect in Phase 6 of the redesign plan, gets to stay alive — the deck-level matrix and the per-variant TOC serve different workflow needs (cross-variant comparison vs. land-in-one-variant), and the variant-name in each column header now links to the latter as the variant's landing surface.
-
dididecks-ai /data-assets/companies and /data-assets/people shell-injected; DeckStatsPanel lifts the homegrown chroma stats tile into shared shell ground
Chroma's home page already had a reviewer audit panel — the four-tile row above the matrix counting variants, slide files, people, companies — but the People and Companies tiles pointed at /data/team/ and /data/investors/ which were never actual routes. The audit pages themselves existed in calmstorm-decks (as /data-assets/companies and /data-assets/people) but had never been ported to the shell. This entry closes both gaps. Two new shell-injected routes — /data-assets/companies and /data-assets/people — discover .md files via consumer-root Vite globs that catch both calmstorm's single-firm data layout (data/firms/{firm}/portfolio|team/) and chroma's multi-investor layout (data/investors/{firm}/portfolio/, flat data/team/) without configuration. A new <DeckStatsPanel> shell component replaces chroma's local AssetsDataPanel, doing its own count math from registries + globs so the figures always match the audit pages. The work also surfaced three Astro-pipeline traps worth documenting: JSDoc terminators inside path strings, esbuild misclassifying inline block comments + slash-heavy regex literals as unterminated regex, and Astro's <Image> taking down a 373-row page over one corrupted SVG in the consumer's data tree.
-
memopop-ai/memopop-native Open in Obsidian, Actually — Vault Detection and a Cleaner Deal Header
The 'Open in Obsidian' button was silently doing nothing. Turns out `open -a Obsidian /some/folder` is a no-op unless that folder *is* a vault — so we taught the app to walk up to the nearest `.obsidian/` and route through `obsidian://` URIs instead. While we were in there, the deal-workspace header that hosted that button got a long-overdue redesign.
-
dididecks-ai Themable chrome, DeckOverlay primitives, a living sitemap, and a status-discipline framework — four days of shell hardening
After Phase A+ shipped `@dididecks/shell` to its first cross-client functional state on 2026-05-12, the next four days were spent giving the shell its bones: a calmstorm-grade themable chrome (with the `--ddd-chrome-*` CSS-custom-property contract), a `<SlideCanvas>` + `/print` PDF-export route, the `<DeckOverlay--Scroll-UI>` / `<DeckOverlay--Play-UI>` paired-suffix discipline for any UI-mode-specific composition, a `context-v/sitemap/` living map that turns the shell's component+route surface into agent-readable mini-specs, and a status-discipline framework codified at the skill level that swept all nine plans into accurate state-of-record. None of this is shippable code-as-product on its own; together it's the architectural ledger that makes the next iteration tractable.
-
ai-labs SortControls land on the ai-labs splash — convention closure modulo llms.txt
The changelog and context-v list pages now carry a Modified / Created / Published / Title chip-group plus a direction toggle, with per-page localStorage persistence and server-pre-sorted defaults so the static HTML reads correctly with JS off. Single follow-up remains for full skill conformance: the /llms.txt + /llms-full.txt endpoints.
-
ai-labs llms.txt + llms-full.txt land on the ai-labs splash — the convention is now fully met
Two endpoint files, three markdown templates, one small provenance helper, and a `<link rel="alternate" type="text/markdown">` in BaseLayout — agentic crawlers can now ingest the entire pseudomonorepo (parent + three children, 11 changelog entries, 29 context-v notes) in one fetch instead of crawling 44 HTML pages.
-
ai-labs Messages-format OG card is now the primary unfurl on every page
Chat-preview is the surface most readers will see the splash through first — iMessage, WhatsApp, Slack, Discord all crop unfurls to a square-ish landscape, and the old 1.78:1 banner crop weirdly. The new 890×760 Messages card (real JPEG, no ImageKit content-negotiation surprise) fits that crop natively and is now what every page emits in its og:image sextet.
-
augment-it Bolt-era Augmenter monolith reaches a working demo — React + Supabase + three LLM providers in one repo
Before there was a federation, there was one big React app: Bolt-vibed, Supabase-backed, three LLM providers wired in, every screen in the workshop already shipping as a component. This is where we found out what the workshop wanted to be.
-
augment-it First extraction attempt: record-collector as a standalone frontend — turso, then Supabase, then frozen
Two months after the Bolt monolith hit working-demo state, we tried to peel record-collection off into its own frontend repo. Two days, three commits, one DB swap (turso out, Supabase in), then we set it down to think harder.
-
augment-it Restart augment-it on turbo, rsbuild, and Docker — fresh scaffold, brand assets, monorepo discipline
The bolt.new monolith had served its purpose. We tore the build system down to studs and rebuilt on a turborepo + pnpm + Docker base ready to host federated microfrontends.
-
augment-it Module-federation starter lands: host shell, two microfrontends, shared UI package
Tanuj brought up a minimal-but-real module-federation scaffold — a host shell that loads two remote microfrontends from the same monorepo, each exposing a Card component, all sharing a single ui package.
-
augment-it Microfrontends become real submodules: record-collector, prompt-manager, request-reviewer get their own repos
The two placeholder microfrontends got promoted out of the parent repo and into three named, independently-versioned submodules — the first concrete instance of the federation contract.
-
augment-it Promote RecordCard out of the microfrontends and into shared/ui — one Card, many consumers
The Card component was duplicated across two microfrontends. Tanuj lifted it into packages/ui as RecordCard, the first non-trivial component to live in the shared package — and the proof point for how cross-MFE components will work going forward.
-
augment-it Comms documentation push — vision spec, architecture explainer, and prompts that travel with the project
A 3,064-line documentation drop that gave augment-it a written voice — the kind of artifacts a new collaborator can read end-to-end before touching code.
-
augment-it Move five loose specs into a specs/ folder — the start of a real documentation structure
Five planning docs that had been sitting at the repo root got consolidated into specs/. A small move, but it set the precedent for where future specs would land.
-
augment-it Scope the next phase: five GitHub issues opened across specs, visualization, and the legacy bolt monolith
A morning of issue-triage turned the next month of augment-it work into five named threads — and named the loose ends honestly.
-
augment-it RecordCollector analysis spec — 479 lines on the first microfrontend's shape, data contract, and integration points
Before writing the next line of code in the record-collector submodule, we wrote down what it actually has to do — input shapes, output contract, edge cases, and where it sits in the broader workshop.
-
augment-it Add a GitHub Pages splash for augment-it
A small Astro site at splash/ that ships to GitHub Pages on push to main, renders the repo's changelog/ and context-v/ alongside curated copy about the six module-federated microfrontends.
-
dididecks-ai Calmstorm-Decks UI + Component Library — patterns ready to seed every future client-site
A long day inside calmstorm-decks surfaced four patterns that are now ready to migrate up the tree and seed every other client-site: a unified two-axis navigation grammar across Scroll and Play modes, a two-route discipline that splits the design contract from the component catalog, a typed component registry as single source of truth for both stakeholders and the embedded chat-composer, and a `ContentFit + swappable info-display` mechanic that ends the per-slide font-and-margin tuning war. None of these are calmstorm-specific.
-
dididecks-ai @dididecks/shell ships — the first cross-client capability in the pseudomonorepo
DidiDecks just gained its first shared frontend module. `@dididecks/shell` — an Astro integration that wraps a client-site with shared chrome — boots inside chroma-decks today, injects a TOC route and a slide-ranking API, and operationalizes the Phase 1 → Phase 2 boundary of the deck-iteration workflow with a one-click `scaffold per-slide file` button. Each client-site stays a standalone repo deploying to its own Vercel project; only the shell travels. Along the way we learned why a workspace dep can't cross a `.npmrc` line that says `ignore-workspace=true` — a lesson the eventual publish solves cleanly.
-
dididecks-ai @dididecks/shell Phase A+ — global nav, in-scroll rank pill, /play runtime, two seeded slides
Phase A shipped the integration that proved the architecture works. Phase A+ — landed the same day — closes the three concrete gaps the founder named seconds after first opening the smoke-test build. The shell now ships a global nav that auto-mounts on every shell-injected route, a floating `<SlideRankPill>` that lets a founder rank slots from inside a scroll deck via IntersectionObserver, and a `/play/[deck]/[variant]/[slot]` runtime with keyboard nav (← / → / Space / Home / End / F / C / T / Esc) plus a friendly empty-slot placeholder. Two seed per-slide files in chroma — a faithful cover recreation and a redesigned ask — prove the rank → decompose → recreate loop end-to-end. The whole release moves the shell from `0.0.1` to `0.1.0-rc.0`. Workspace-link mode throughout; Phase A.7 publish still queued.
-
ai-labs DidiDecks promoted to its own repo, ai-labs gets its first splash
Two related moves on the same day: the slide-deck work that was mis-parented under astro-knots became a first-class child of ai-labs (new repo, new specs, two client engagements re-attached as nested submodules), and ai-labs itself grew a splash page — three-mode + two-tier tokens, mono-forward bench aesthetic, rolled-up changelog + context-v across all three active children.
-
ai-labs ai-labs splash goes live — Pages workflow wired, base path corrected before first deploy
Yesterday the splash was scaffolded assuming everything lived under `/ai-labs/`. But the GitHub repo is `lossless-ai-labs`. Without correcting the base path, Pages would have 404'd every internal link, image, sitemap entry, and OG URL on first deploy. This entry fixes that mismatch and adds the `.github/workflows/pages.yml` that bootstraps Pages on push to `master`.
-
ai-labs Pagefind lands on the ai-labs splash — search across the four-repo rollup
The skill says every splash ships search-by-default and I had quietly demoted it to a follow-up. Caught. Pagefind is now wired: header popover with `/` shortcut, full `/search/` page, three filter facets (kind / from / tag), and the UI tokenized to the splash's three-mode contract. 38 detail pages indexed across ai-labs and its three children.
-
context-vigilance-kit Sitemap, robots.txt, and an OG card — the rest of the discovery surface
Saturday the splash started speaking llms.txt to LLMs. Tonight it learned to speak sitemap.xml to search engines, robots.txt to crawlers, and a 1024×1024 JPG to share-preview bots. The three audiences each get a machine-readable handhold pointed at the same corpus.
-
dididecks-ai Init dididecks-ai — repo scaffold, context-v migration, splash, client-sites re-parented
Promoted DidiDecks from `ai-labs/context-v/specs/` folder to a first-class child of the ai-labs pseudomonorepo — its own GitHub repo, its own three-tier branches, its own context-v/ + changelog/, its own splash, and the two driving client engagements re-parented from astro-knots.
-
memopop-ai MemoPop's splash speaks all three discovery protocols — llms.txt, sitemap.xml, robots.txt
The memopop-site splash now serves the same machine-readable discovery surface that landed in context-vigilance-kit over the past two days, ported with the adaptations memopop needs — two content collections instead of one, provenance via `from` instead of `source_repo_slug`, and no publish gate to mirror. LLM crawlers get `/llms.txt` + `/llms-full.txt`, search engines get `sitemap-index.xml` + `robots.txt`, and the head of every page carries explicit `rel="sitemap"` and `rel="alternate" type="text/markdown"` hints.
-
context-vigilance-kit Splash gets analytics — OpenPanel wired the same way as the others
Context Vigilance's splash now phones home to OpenPanel like its siblings — production-only, clientId-from-env, no secrets in the browser. The interesting part wasn't this wiring; it was figuring out why the other three splashes had been silently 401-ing for a day.
-
context-vigilance-kit llms.txt + llms-full.txt — give the model the corpus directly
The splash now serves the llms.txt standard at /llms.txt (a 132 KB link index, grouped by source repo) and /llms-full.txt (the full 5.7 MB corpus concatenated as raw markdown). LLM crawlers and agentic tools that follow the convention can ingest 460 hand-authored context-v documents in one fetch.
-
ai-labs A studies pass, a true-monorepo correction, and the seed of a Context Vigilance kit
One day across ai-labs: a third study repo lands, the investment-memo orchestrator stops pretending to be a sibling and folds into memopop-ai where it has always belonged, memopop gains a /find-team Firecrawl command, and a new context-vigilance-kit submodule starts collating context-v/ files across the whole tree.
-
context-vigilance-kit First real splash — four-act narrative, Pagefind, and live deploy
Context Vigilance gets its public face: a dark-default engineer's-clipboard splash that walks readers through Hook → Practice → Proof → Invitation, opens with a Google-style 'what context do you need?' prompt over the 587-doc corpus, and ships to GitHub Pages on every push.
-
memopop-ai/memopop-orchestrator The Orchestrator Learns to Find a Team
A new Firecrawl-driven pipeline walks any organization's website, finds the team page, extracts a structured roster, and back-fills missing socials by name. Phase 2 of Team-and-People-Metadata-Ingestion ships.
-
memopop-ai/memopop-site Splash upgrade — three-mode theming, peer-walking discovery, context-v archive, and Pagefind
memopop-site catches up to the astro-knots/splash conventions that crystallized after this site was originally built. The marketing prose stays; everything underneath gets rebuilt around two-tier tokens, a three-mode (light · dark · vibrant) toggle, a monorepo-aware discovery layer that auto-surfaces new apps, a brand-new /context-v/ archive alongside /changelog/, build-time Pagefind search across both, and a custom MemoMark logo.
-
memopop-ai/memopop-site memopop-site Ships — GitHub Pages Live with a Submodule-Powered, Cross-Project Changelog Hub
From an empty Astro starter to a deployed splash page in a single session. Dark Lossless redesign, a click-to-expand GUI callout, and — the centerpiece — a permissive content-collection renderer that turns four scattered project-level changelogs into one unified timeline.
-
memopop-ai/memopop-native The Crew Shows Up — Live Character Indicators on the Run Panel
-
ai-labs Studies system kickoff — Open Specs & Standards, Memory Layers for Agents
-
memopop-ai The Story So Far — memopop-ai From Empty Bun Workspace to Live Desktop Client
First changelog at the monorepo level. Catching up the eight days that took memopop-native from `bun create tauri-app` to a fullscreen client driving the orchestrator's HTTP API end-to-end.
-
memopop-ai/memopop-native Brand Setup Lands — Paste a URL, Get a Populated Config
-
memopop-ai/memopop-orchestrator Wire memopop-native to the FastAPI Sidecar — Tests, Rust Transport, Frontend SSE
End-to-end integration of the desktop client with the orchestrator's FastAPI sidecar across four phases: pytest coverage on the server, a Rust transport layer with lazy spawn and /healthz poll, a TypeScript Transport implementation with SSE event subscription, and a Generate flow that streams milestones live into the UI.
-
memopop-ai/memopop-orchestrator Milestones Out of the Logs, Files Into the Firm
The sidecar gains structured milestone events extracted from agent prints, and a missing scaffold step that was sending firm-scoped runs to legacy output/.
-
memopop-ai/memopop-orchestrator Hardened: Logs Land, Versions Bump, the Sidecar Heals Itself
First contact with the desktop client surfaced four ways the orchestrator-as-a-service could go sideways. All four are closed in this pass.
-
memopop-ai/memopop-orchestrator The Orchestrator Learns to Read a Website
A new brand_fetch module drives a Claude tool-use loop over a firm's homepage, and two endpoints expose it. The HTTP surface keeps growing; agents stay untouched.
-
memopop-ai/memopop-orchestrator The Orchestrator Got an HTTP Front Door
The investment memo orchestrator has been a 30-agent Python CLI for months — you type a company name, wait 15 to 45 minutes, and a fully cited 50-file deal memo lands in `output/`. It just works. Now it also speaks HTTP.
-
memopop-ai/memopop-native memopop-native Bootstrapped — Tauri 2 + Svelte 5 Inside the Bun Workspace
-
memopop-ai/memopop-native Settings + Firm Picker — First End-to-End Through the Transport Layer
-
memopop-ai/memopop-native Full Onboarding Journey Lands — Outline Gallery, Firm Creation, Deal Capture
-
memopop-ai/memopop-orchestrator Interactive Terminal Application with Rich Framework
New guided CLI application that walks users through memo generation, export, and iteration without requiring knowledge of individual commands, flags, or file paths.
-
memopop-ai/memopop-orchestrator Assure Proper Integration of Table of Contents
The Table of Contents was consistently missing from final memo output despite the `toc_generator` agent running successfully mid-pipeline. Two separate ordering bugs caused the TOC to either never generate or get destroyed before finalization.
-
memopop-ai/memopop-orchestrator Assure Consistent Workflow and Codify Docs — Fact-Check Pipeline & Source Catalog
Introduces a three-step LLM-powered fact-check pipeline (extract → verify → correct) and a per-section comprehensive source catalog. The mechanical-only fact-checker is upgraded to use Perplexity Sonar Pro for independent claim verification and Claude for surgical corrections.
-
memopop-ai/memopop-orchestrator Assure Disambiguation During Research
Strengthens entity disambiguation to prevent research agents from conflating similarly-named organizations. Adds both improved prompt language and a mechanical post-synthesis override that forces correct company identity regardless of what the LLM returns.
-
memopop-ai/memopop-orchestrator Enforce Correct Citation Spacing with Mechanical Agent
New pipeline agent that mechanically enforces correct markdown citation spacing — no LLM, pure regex. Fixes the recurring problem of clumped, duplicated, and improperly spaced citations that affect Obsidian rendering, HTML/PDF exports, and readability.
-
memopop-ai/memopop-orchestrator Introducing the One-Pager Generator
New pipeline agent and standalone CLI tool that distills the full investment memo into a single-page visual summary. Serves as both a standalone deal teaser and a cover sheet for the full memo export.
-
memopop-ai/memopop-orchestrator Centralize Final Draft Path Logic & Bump Prefix to 7
Consolidated all final draft file resolution into `src/final_draft.py` and bumped the canonical prefix from `6` to `7`. Previously, three agents each had their own inline glob logic to locate the final draft — now they all call shared utility functions.
-
memopop-ai/memopop-orchestrator Table Generator CLI Tool
New standalone CLI for running the table generator agent outside the full pipeline. Scans memo sections and structured state data for tabular data opportunities, generates markdown tables, and inserts them into section files.
-
memopop-ai/memopop-orchestrator Deck Slide Classification & Placement Overhaul
Rewrote the deck screenshot classification, naming, and injection system to fix two core problems: (1) Claude Vision was misclassifying slides because it only had 7 vague categories to choose from, and (2) the injection agent was spamming sections with duplicate, poorly-placed im…
-
memopop-ai/memopop-orchestrator Competitive Landscape Research & Evaluation System (Initial Implementation)
Two new agents that discover, evaluate, and classify competitors using Perplexity Sonar Pro. The system splits competitive analysis into two phases with opposing cognitive biases: the researcher uses **completion bias** to find as many candidates as possible, while the evaluator…
-
memopop-ai/memopop-orchestrator New Module: Research PDF Scraper
A complete standalone module for parsing market research PDFs (McKinsey, CB Insights, PitchBook, Gartner, etc.) into markdown with properly formatted Obsidian-style citations.
-
memopop-ai/memopop-orchestrator Citation Pipeline Fixes: Alphanumeric Key Support & Duplicate Section Prevention
Fixes to the citation pipeline addressing two critical issues: (1) the writer agent's regex only matched numeric citation keys (`[^1]`) and missed alphanumeric keys (`[^deck]`), causing citation loss during polishing; and (2) the citation enrichment agent was appending duplicate…
-
memopop-ai/memopop-site Monorepo Foundation: Scaffold memopop-ai with Astro Site and SvelteKit App
Established the production-grade memopop-ai monorepo with Bun workspaces, Astro marketing site, SvelteKit web app skeleton, and shared Tailwind configuration.
-
memopop-ai/memopop-orchestrator Citation Pipeline Fixes: Definition Preservation & Duplicate Key Handling
Critical fixes to the citation pipeline that were causing citation definitions (the source references at the bottom of files) to be lost during processing.
-
memopop-ai/memopop-orchestrator Fix: 12Ps Scorecard Section Excuses in Final Draft
This release fixes an issue where the 12Ps Scorecard Summary section (section 08) would contain LLM "excuses" instead of actual scorecard data.
-
memopop-ai/memopop-orchestrator Refactor: Centralized Final Draft Module & Artifact Renumbering
This release refactors final draft operations into a single centralized module (`src/final_draft.py`) and updates the artifact numbering scheme.
-
memopop-ai/memopop-orchestrator Fix: Resume Workflow Uses Wrong Paths for Firm-Scoped IO
When resuming a workflow with `cli/resume_from_interruption.py` for firm-scoped deals, the writer agent would use legacy `output/` paths instead of firm-scoped `io/{firm}/deals/{deal}/outputs/` paths.
-
memopop-ai/memopop-orchestrator Dimension-Grouped Questions for 12Ps Framework
Fixed a critical issue where Perplexity was returning garbage/meta-commentary for non-standard section names like "Opening" and "Organization" in the 12Ps outline.
-
memopop-ai/memopop-orchestrator Scorecard Integration into Workflow
This release adds automatic 12Ps scorecard integration to the memo workflow. Previously, the scorecard evaluator generated detailed scores in `5-scorecard/12Ps-scorecard.
-
memopop-ai/memopop-orchestrator Disambiguation Exclusion List: Explicit Wrong-Entity Filtering
This release adds explicit wrong-entity exclusion to the disambiguation system. Deal configurations can now specify a `disambiguation` array of URLs/domains that belong to **different companies** with similar names.
-
memopop-ai/memopop-orchestrator Firm-Scoped IO System: Complete Implementation
This release completes the firm-scoped IO system, enabling private, firm-specific configurations, inputs, outputs, and exports. The system allows each firm (e.g.
-
memopop-ai/memopop-orchestrator Summary
Added a comprehensive scorecard evaluation system that scores completed investment memos against a structured 12-dimension framework (12Ps: Persona, Pain, Proposition, Problem, Possibility, Positioning, People, Process, Product, Potential, Progress, Plan).
-
memopop-ai/memopop-orchestrator Summary
Began major refactor to reorganize the flat `data/` and `output/` directories into a hierarchical `io/` directory organized by firm and deal. This enables private git submodules for firm-specific data while keeping the orchestrator open-source.
-
memopop-ai/memopop-orchestrator Summary
Completed the firm-scoped IO path resolution system, enabling deals to be stored in `io/{firm}/deals/{deal}/` with automatic fallback to the legacy `data/` and `output/` directories. All agents now pass the `firm` parameter through the workflow.
-
memopop-ai/memopop-orchestrator CLI Utilities for Fund and Company Memos
Added a focused set of CLI tools to tighten the memo workflow end-to-end:
-
memopop-ai/memopop-orchestrator Entity Disambiguation System Implementation
---
-
memopop-ai/memopop-orchestrator Canonical Draft Assembly Tool
---
-
memopop-ai/memopop-orchestrator Standalone CLI Tools for Post-Generation Enrichment & Evaluation
---
-
memopop-ai/memopop-orchestrator Summary
Added explicit "Venture Capital mindset" framing to all memo-writing agent prompts to ensure generated content focuses on opportunity and upside rather than defaulting to Private Equity-style skepticism.
-
memopop-ai/memopop-orchestrator Emerging Manager Outline with Proprietary Scorecard Vocabulary
Created a comprehensive outline for evaluating LP commitments to emerging manager VC funds, integrating Hypernova Capital's proprietary 12-dimension GP evaluation framework directly into the memo generation system.
-
memopop-ai/memopop-orchestrator Scorecard Agent & CLI Implementation
Implemented the Scorecard Agent and CLI tool to automatically generate Hypernova Capital's 12-dimension scorecards for emerging manager fund commitment memos. This completes the scorecard system introduced in changelog 2025-11-27_01.
-
memopop-ai/memopop-orchestrator Dataroom Analyzer Agent System & Export Improvements
Introduced a new multi-agent dataroom analyzer system for processing investment datarooms, plus improvements to trademark handling and export versioning.
-
memopop-ai/memopop-orchestrator Competitive Extractor & Separated Artifact System
Implemented Phase 2 of the Dataroom Analyzer: the Competitive Extractor. This extracts and synthesizes competitive landscape data from battlecard PDFs and outputs structured analysis as separate, numbered artifact files for better manageability.
-
memopop-ai/memopop-orchestrator Cap Table & Financial Extractors
Added two new extractors to the Dataroom Analyzer: Cap Table Extractor and Financial Extractor. These complete the core Phase 2 extractors for investment dataroom analysis.
-
memopop-ai/memopop-orchestrator Traction Extractor
Added the Traction Extractor to complete Phase 2 extractors (4 of 5). This extractor pulls customer metrics, revenue data, pipeline information, and partnerships from pitch decks and other traction-related documents.
-
memopop-ai/memopop-orchestrator Team Extractor - Phase 2 Complete!
Added the Team Extractor, completing all Phase 2 extractors (5/5). The dataroom analyzer now extracts comprehensive structured data from investment datarooms.
-
memopop-ai/memopop-orchestrator Table of Contents Generator Agent
Added a new TOC Generator agent that automatically creates a Table of Contents with working anchor links for the final investment memo. The TOC includes main sections (h2) and subsections (h3) that function in both HTML and PDF exports.
-
memopop-ai/memopop-orchestrator Phase 3: Data Synthesis & Cross-Reference
Added the Synthesizer module to cross-reference data across all extractors, detect conflicts, identify data gaps, and generate a unified view of company metrics with confidence scores.
-
memopop-ai/memopop-orchestrator Project Restructuring: CLI, Tools, and Scripts Organization
Major refactoring to organize 38 scattered Python files and shell scripts into logical directories, improving developer experience and project maintainability.
-
memopop-ai/memopop-orchestrator Resume Workflow Implementation
Implemented checkpoint-based resume functionality to recover from workflow interruptions without losing progress or re-running expensive API calls. System now detects completed agents from saved artifacts and resumes execution from the last successful checkpoint.
-
memopop-ai/memopop-orchestrator PDF Export Quality & Branding Improvements
Enhanced PDF export quality with proper logo rendering, Unicode symbol support, and GHCP Partners brand configuration. Fixed critical rendering issues that caused logo distortion and citation symbols to display incorrectly in WeasyPrint-generated PDFs.
-
memopop-ai/memopop-orchestrator Tier 1 Anti-Hallucination System: Prompt Engineering Fixes
Implemented comprehensive prompt engineering fixes to eliminate LLM fabrication of pricing, revenue, traction, and financial metrics in investment memos.
-
memopop-ai/memopop-orchestrator Perplexity Premium Sources Integration: @Syntax Quality Control
Integrated Perplexity's `@source` syntax into the research workflow to ensure high-quality data from premium sources like @crunchbase, @pitchbook, @statista, and @cbinsights.
-
memopop-ai/memopop-orchestrator Tier 2 Anti-Hallucination: Fact-Checker Agent Implementation
Implemented the fact-checker agent to prevent hallucinated metrics and claims in investment memos. This agent verifies all factual claims against research sources, catching fabricated revenue figures, pricing data, customer counts, and other metrics before final memo assembly.
-
memopop-ai/memopop-orchestrator Image-Based PDF Support: Batch Processing with Claude Vision API
Complete implementation of image-based PDF deck analysis using Claude's Vision API with intelligent batch processing. This solves the recurring issue of Docsend-exported decks that contain only images with no extractable text.
-
memopop-ai/memopop-orchestrator Perplexity Citation Integration: Research-First Architecture
Complete integration of Perplexity Sonar Pro for section-specific research WITH citations as a core part of the memo generation pipeline. This fundamentally changes the architecture from "write then add citations" to "research with citations then polish.
-
memopop-ai/memopop-orchestrator Major Architecture Refactor: Section-by-Section Processing
Complete refactor of the enrichment pipeline to process memo sections individually rather than as a single monolithic document. This eliminates API timeout issues and enables proper citation management with Perplexity Sonar Pro.
-
memopop-ai/memopop-orchestrator Overview
Major architectural improvements to prevent API timeouts through section-by-section processing, plus comprehensive brand expansion with MaC VC assets and SVG logo support.
-
memopop-ai/memopop-orchestrator Overview
This session focused on building and refining a comprehensive export/conversion system for investment memos, enabling professional PDF generation with Hypernova Capital branding.
-
memopop-ai/memopop-orchestrator Multi-Brand Export System
Implemented a comprehensive multi-brand export system that allows managing and exporting memos for multiple VC firm clients from a single installation.
-
memopop-ai/memopop-orchestrator PDF Edge-to-Edge Backgrounds & Brand Config Reorganization
Solved a critical PDF rendering issue where page backgrounds didn't extend to all edges and content lacked proper per-page spacing. Discovered WeasyPrint's `@page background-color` property enables edge-to-edge colored backgrounds while maintaining proper content margins on every…
-
memopop-ai/memopop-orchestrator Obsidian-Style Citation Consolidation for HTML Exports
Implemented automatic citation consolidation in HTML exports to match Obsidian's footnote behavior. When Perplexity AI cites the same source multiple times using `[^2]` throughout the markdown, Pandoc was incorrectly converting each instance into a separate numbered footnote, res…
-
memopop-ai/memopop-orchestrator Milestone: Complete Enrichment System + Deck Analyst Agent Implementation
---
-
memopop-ai/memopop-orchestrator Week 1 POC Complete
Historical entry — Core Multi-Agent System, Templates & Style Guides, CLI Interface.
-
memopop-ai/memopop-orchestrator Git Commit Message - Week 1 POC Complete
---
-
memopop-ai/memopop-orchestrator Milestone: Artifact Trail System + Citation-Enrichment Agent
---
-
memopop-ai/memopop-orchestrator Milestone: Deck Analysis Agent + Dual-Template/Mode System + Enhanced Citation Enrichment
---
-
augment-it Augmenter App progress — API editor, response list, user profiles, highlighter, group-by-record
A late-January progress update with embedded GIF demos from the pre-restart Augmenter App: API options and editor, response list, user profiles, highlighter, and grouping by customer.
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.2.2-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.3.0-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.3.3-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.3.4-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.4.1-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.4.3-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.5.0-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.5.1-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.5.2-release-notes
-
memopop-ai/memopop-orchestrator memopop-ai/memopop-orchestrator/releases/v0.5.3-release-notes