Builder's AtlasCockpit

Handoff Sync

Turn handoffs into project memory.

Read the local HANDOFF.md file, review the latest structured entries, and import the useful ones into Build History.

Source File

HANDOFF.md

Parsed Entries

8

Import Style

Deterministic Markdown

Recent Handoffs

No AI, no external APIs
CodexCodex BriefMay 22, 2026

2026-05-22 16:16 EDT / 2026-05-22 20:16 UTC

Added Handoff Sync v1 at `/admin/handoff`.

What changed

  • Added Handoff Sync v1 at `/admin/handoff`.
  • Added a `Handoff Sync` link to the admin topbar.
  • Added deterministic `HANDOFF.md` parsing for recent dated handoff sections.
  • Handoff cards now show the date heading, What changed summary, files changed, validation results, known issues, and next recommended task.
  • Added an import action that creates a `ProjectEvent` from a selected handoff section and selected Project.
  • Import defaults the event type to `CODEX_BRIEF` when the section source is Codex, otherwise `MILESTONE`.
  • Import stores the full handoff section in `rawBody`, uses What changed as the plain-English summary, and uses Next recommended task as why it matters.
  • Import touches `Project.lastActivityAt` and the parent `Brain.lastActivityAt`.
  • Import revalidates `/admin`, `/admin/handoff`, the Project detail page, the Brain detail page, and the public Project page when relevant.
  • Added duplicate protection for same Project, source, title, and occurredAt.
  • Kept Capture Inbox v1 unchanged as the manual capture path.

Files changed

  • `src/app/admin/handoff/actions.ts`
  • `src/app/admin/handoff/page.tsx`
  • `src/components/page-chrome.tsx`
  • `src/lib/handoff-parser.ts`
  • `HANDOFF.md`
  • `src/lib/data.ts`
  • `src/components/recent-captures-panel.tsx`
  • `src/app/admin/page.tsx`
  • `src/app/admin/capture/page.tsx`

Validation results

  • Parser smoke check: passed. Latest handoff sections were parsed with titles, buckets, source defaults, and UTC timestamps.
  • `npx prisma validate`: passed.
  • `npx prisma generate`: passed and generated Prisma Client.
  • `npm run typecheck`: initially caught a narrow source literal type issue in `src/lib/handoff-parser.ts`, then passed after the fix.
  • `npm run lint`: passed.
  • `npm run build`: passed. Build output includes `/admin/handoff`.

Known issues

  • The parser expects the current structured handoff format: dated `###` headings and `####` subsections.
  • Duplicate prevention is intentionally simple and checks exact Project, source, title, and occurredAt matches.
  • The import Project select is grouped by Brain but does not dynamically filter from a separate Brain select.
  • There are still no automated tests for the handoff import server action.
  • `npm run build` still emits a Next.js workspace-root warning because multiple lockfiles exist above/in the project, but the build passes.

Next recommended task

  • Add a small imported-memory marker or Recent Handoff Imports panel so it is easy to see which `HANDOFF.md` sections have already been pulled into Builder's Atlas.
CodexCodex BriefMay 22, 2026

2026-05-22 11:16 EDT / 2026-05-22 15:16 UTC

Added `getRecentCaptures(limit?: number)` in `src/lib/data.ts`.

What changed

  • Added `getRecentCaptures(limit?: number)` in `src/lib/data.ts`.
  • Recent Captures pulls `ProjectEvent` records whose source is `ChatGPT`, `Codex`, `Claude`, or `Manual`.
  • Recent Captures orders by `occurredAt desc`, then `createdAt desc`, with a default limit of 8.
  • Added a reusable `RecentCapturesPanel` component.
  • Added Recent Captures to the Cockpit at `/admin`, near the action/status panels and Recently Updated.
  • Added a compact Recent Captures panel underneath the capture form on `/admin/capture`.
  • Kept the feature read-only: no editing, parsing, AI summarization, GitHub sync, or schema changes.

Files changed

  • `src/lib/data.ts`
  • `src/components/recent-captures-panel.tsx`
  • `src/app/admin/page.tsx`
  • `src/app/admin/capture/page.tsx`
  • `HANDOFF.md`

Validation results

  • `npx prisma validate`: passed.
  • `npx prisma generate`: passed and generated Prisma Client.
  • `npm run typecheck`: passed.
  • `npm run lint`: passed.
  • `npm run build`: passed after clearing `.next` before the build.

Known issues

  • The panel only shows events with source exactly matching `ChatGPT`, `Codex`, `Claude`, or `Manual`.
  • There is no dynamic Brain-to-Project filtering in the Capture form yet.
  • There are still no automated tests around capture creation or recent capture querying.

Next recommended task

  • Add a tiny capture source quality pass: normalize source values on capture, add project filtering by selected Brain, and optionally show capture counts by source on the Capture page.
CodexCodex BriefMay 22, 2026

2026-05-22 10:21 EDT / 2026-05-22 14:21 UTC

Added Capture Inbox v1 at `/admin/capture`.

What changed

  • Added Capture Inbox v1 at `/admin/capture`.
  • Added a `Capture Update` link to the admin topbar.
  • Added a capture form for ChatGPT, Codex, Claude, and Manual summaries.
  • Capture form writes directly to the existing `ProjectEvent` model.
  • Capture submit touches `Project.lastActivityAt`.
  • Capture submit touches the parent `Brain.lastActivityAt` when available.
  • Capture submit revalidates `/admin`, the Project detail page, the Brain detail page, and the public project page when relevant.
  • Capture submit redirects back to the Project Build History section.
  • Added a “What to paste here” helper panel for Codex summaries, Claude reviews, ChatGPT strategy notes, build decisions, bugs fixed, and next-step decisions.
  • No schema change was made for this pass.

Files changed

  • `src/app/admin/capture/actions.ts`
  • `src/app/admin/capture/page.tsx`
  • `src/components/page-chrome.tsx`
  • `src/lib/data.ts`
  • `HANDOFF.md`

Validation results

  • `npx prisma validate`: passed.
  • `npx prisma generate`: passed and generated Prisma Client.
  • `npm run typecheck`: passed.
  • `npm run lint`: passed.
  • `npm run build`: initially hit a stale `.next` cache file during trace collection, then passed after `rm -rf .next && npm run build`.

Known issues

  • Project dropdown is grouped by Brain, but the Brain select does not dynamically filter Projects yet.
  • No file parsing, automatic ChatGPT import, GitHub sync, or AI summarization has been added.
  • The capture action depends on a configured PostgreSQL `DATABASE_URL`; seed fallback can show the form options but cannot persist captured updates.

Next recommended task

  • Add a lightweight “Recent Captures” panel on the Cockpit and/or Capture page so newly captured Codex, Claude, and ChatGPT updates are visible immediately without opening each Project.
ManualMilestoneMay 22, 2026

2026-05-21 23:17 EDT / 2026-05-22 03:17 UTC

Added optional project-to-Business Area assignment so the hierarchy is now Brain -> Business Area -> Projects.

What changed

  • Added optional project-to-Business Area assignment so the hierarchy is now Brain -> Business Area -> Projects.
  • Added a nullable `Project.businessAreaId` relation with `onDelete: SetNull`.
  • Added Business Area filtering to the project create/edit form with an Unassigned option and helpful empty-state text.
  • Added server-side validation so a Project only keeps a Business Area assignment when that area belongs to the selected Brain.
  • Updated project create/update actions to revalidate admin, project, public project, and affected Brain pages using the existing revalidation path.
  • Updated Brain detail pages to group Projects under their Business Areas and include an Unassigned Projects section.
  • Added the project Business Area label to project detail snapshots.
  • Added practical Business Area seed records and assigned existing seed projects where obvious.

Files changed

  • `prisma/schema.prisma`
  • `prisma/seed.ts`
  • `prisma/migrations/20260522031119_project_business_area_assignment/migration.sql`
  • `prisma/migrations/migration_lock.toml`
  • `src/app/admin/brains/[slug]/page.tsx`
  • `src/app/admin/projects/[slug]/edit/page.tsx`
  • `src/app/admin/projects/[slug]/page.tsx`
  • `src/app/admin/projects/actions.ts`
  • `src/app/admin/projects/new/page.tsx`
  • `src/components/project-business-area-fields.tsx`
  • `src/components/project-form.tsx`
  • `src/lib/data.ts`
  • `src/lib/seed-data.ts`

Validation results

  • `npx prisma migrate dev --name project_business_area_assignment`: passed and applied the migration.
  • `npm run typecheck`: passed.
  • `npm run lint`: passed.
  • `npx prisma validate`: passed.
  • `npx prisma generate`: passed and generated Prisma Client.
  • `npm run build`: passed. Build output includes `/admin/projects/new`, `/admin/projects/[slug]/edit`, and `/admin/brains/[slug]`.

Known issues

  • Seed data was updated, but `npm run db:seed` was not run. Existing local DB projects remain unassigned until they are assigned manually or the seed is intentionally rerun.
  • There are still no automated tests for the server action ownership/assignment guard.
  • In-app Browser tools were not exposed after tool discovery, so this pass used production build plus HTTP smoke tests instead of screenshot-based visual QA.

Next recommended task

  • Add a Business Area detail/readout pass: area project counts, area-level recent memory, and a focused view for projects inside one Business Area.
ManualMilestoneMay 22, 2026

2026-05-21 22:59 EDT / 2026-05-22 02:59 UTC

Added `updateBrainAction` for editing Brain source-of-truth fields without changing the stable slug.

What changed

  • Added `updateBrainAction` for editing Brain source-of-truth fields without changing the stable slug.
  • Added ownership verification through `brainId` and `brainSlug` before saving Brain edits.
  • Added Brain priority enforcement to keep saved priority between 1 and 5.
  • Added `/admin/brains/[slug]/edit`.
  • Added a mobile-friendly Brain edit form with prefilled fields, status/momentum/priority selects, textarea fields, hidden Brain IDs, Save Brain, and Cancel.
  • Added an Edit button to Brain detail page headers.
  • Added `brainStatusOptions` to label helpers for consistent Brain status selects.

Files changed

  • `src/app/admin/brains/actions.ts`
  • `src/app/admin/brains/[slug]/page.tsx`
  • `src/app/admin/brains/[slug]/edit/page.tsx`
  • `src/components/brain-form.tsx`
  • `src/lib/labels.ts`

Validation results

  • `npx prisma validate`: passed.
  • `npx prisma generate`: passed.
  • `npm run typecheck`: passed.
  • `npm run lint`: passed.
  • `npm run build`: passed. Build output includes `/admin/brains/[slug]/edit`.

Known issues

  • There are still no automated tests for server actions.
  • Browser visual verification could not run because the in-app Browser plugin had no available browser instance.
  • Business Areas are editable, but Projects are not assigned to Business Areas yet.

Next recommended task

  • Add project-to-Business Area assignment so Brain pages can group Projects under Business Areas.
CodexCodex BriefMay 23, 2026

2026-05-23 19:45 EDT / 2026-05-23 23:45 UTC

Recorded a new `MILESTONE` ProjectEvent for Community Ledger / Vendor Billing and Market Invoicing Tool.

What changed

  • Recorded a new `MILESTONE` ProjectEvent for Community Ledger / Vendor Billing and Market Invoicing Tool.
  • Project event title: `Community Ledger Stripe loop confirmed + Money-In dashboard added`.
  • Confirmed milestone details captured:
  • Stripe payment loop confirmed complete.
  • Activity Feed confirmed working.
  • Money-In dashboard/payment summary added.
  • Community Ledger validation passed.
  • Current blocker recorded.
  • Next recommended task recorded as RecurringFeeSchedule v1.
  • Updated the Builder's Atlas Project record:
  • status remains `WORKING_MVP`
  • momentum remains `HOT`
  • local path set to `/Users/leomaggio/Documents/Community Ledger`
  • repo set to `git@github.com:flowdrivemedia/community-ledger.git`
  • next best action set to RecurringFeeSchedule v1
  • last activity timestamp touched

Files changed

  • `HANDOFF.md`

Validation results

  • Community Ledger: `npm run typecheck` passed.
  • Community Ledger: `npm run lint` passed.
  • Community Ledger: `npm run build` passed with 33 routes.
  • Community Ledger browser smoke passed for `/admin`, `/admin/activity`, `/admin/who-owes`, `/admin/vendors/[id]`, and `/admin/invoices/[id]`.
  • Community Ledger phone-width smoke passed at 390px for `/admin` and `/admin/activity`.
  • Builder's Atlas database write returned `INSERT 0 1` and `UPDATE 1`.

Known issues

  • Builder's Atlas does not yet have an imported-memory marker showing which external project updates have already been recorded.
  • Community Ledger still needs the exposed Stripe test key rotated before further Stripe testing.
  • Community Ledger production upload storage should move to private object storage before deployment.

Next recommended task

  • Community Ledger: RecurringFeeSchedule v1.
  • Builder's Atlas: add an imported-memory marker or recent handoff import panel.
  • Brain-first Cockpit dashboard
  • Brain detail and edit pages
  • project detail, edit, and new pages
  • timeline event CRUD
  • project link CRUD with private/public flag
  • pitch asset editing
  • Business Areas (create/edit/delete, project assignment)
  • Brain Recent Memory
  • public-safe Show Mode
  • seed data
  • Capture Inbox at `/admin/capture`
  • Recent Captures panel
  • Handoff Sync v1 at `/admin/handoff`
  • basic auth
  • GitHub repo at `https://github.com/flowdrivemedia/builders-atlas`
ManualMilestoneMay 24, 2026

2026-05-24 00:00 EDT / 2026-05-24 04:00 UTC

Recorded a new `MILESTONE` ProjectEvent for Community Ledger / Vendor Billing and Market Invoicing Tool.

What changed

  • Recorded a new `MILESTONE` ProjectEvent for Community Ledger / Vendor Billing and Market Invoicing Tool.
  • Project event title: `Community Ledger liquid glass visual polish pass`.
  • Confirmed milestone details captured:
  • Liquid glass visual polish pass completed.
  • Safer and clearer MVP interface captured.
  • Community Ledger validation passed.
  • Desktop and 390px mobile browser smoke passed.
  • Current blocker recorded.
  • Next recommended task remains RecurringFeeSchedule v1.
  • Updated the Builder's Atlas Project record:
  • status remains `WORKING_MVP`
  • momentum remains `HOT`
  • next best action remains RecurringFeeSchedule v1
  • last activity timestamp touched

Files changed

  • `HANDOFF.md`

Validation results

  • Community Ledger: `npm run typecheck` passed.
  • Community Ledger: `npm run lint` passed.
  • Community Ledger: `npm run build` passed with 35 routes.
  • Community Ledger built-app browser smoke passed at desktop width and 390px mobile width for the main admin pages.
  • Builder's Atlas database write returned `INSERT 0 1` and `UPDATE 1`.

Known issues

  • Builder's Atlas still does not have an imported-memory marker showing which external project updates have already been recorded.
  • Community Ledger still needs the exposed Stripe test key rotated before further Stripe testing.
  • Community Ledger production upload storage should move to private object storage before deployment.

Next recommended task

  • Community Ledger: RecurringFeeSchedule v1.
  • Builder's Atlas: add an imported-memory marker or recent handoff import panel.
ManualMilestoneMay 24, 2026

2026-05-24 02:00 EDT / 2026-05-24 06:00 UTC

Recorded a new `MILESTONE` ProjectEvent for Community Ledger / Vendor Billing and Market Invoicing Tool.

What changed

  • Recorded a new `MILESTONE` ProjectEvent for Community Ledger / Vendor Billing and Market Invoicing Tool.
  • Project event title: `Community Ledger RecurringFeeSchedule v1 implemented`.
  • Confirmed milestone details captured:
  • RecurringFeeSchedule v1 implemented.
  • Weekly/monthly/yearly schedules generate normal invoices manually.
  • No Stripe subscriptions, no auto-charge, no SMS/email reminders, no cron yet.
  • Community Ledger validation results recorded.
  • Current blocker recorded.
  • Next recommended task updated to RecurringFeeSchedule QA/edit polish.
  • Updated the Builder's Atlas Project record:
  • status remains `WORKING_MVP`
  • momentum remains `HOT`
  • local path remains `/Users/leomaggio/Documents/Community Ledger`
  • repo remains `git@github.com:flowdrivemedia/community-ledger.git`
  • next best action updated to RecurringFeeSchedule QA/edit polish
  • last activity timestamp touched

Files changed

  • `HANDOFF.md`

Validation results

  • Community Ledger: `npx prisma validate` passed.
  • Community Ledger: `npx prisma generate` passed.
  • Community Ledger: `npm run typecheck` passed.
  • Community Ledger: `npm run lint` passed.
  • Community Ledger: `npm run build` passed with Node 24 build wrapper.
  • Community Ledger browser smoke passed earlier for `/admin/recurring-fees`, `/admin`, `/admin/vendors`, and `/admin/invoices/new`.
  • Builder's Atlas database write returned `INSERT 0 1` and `UPDATE 1`.

Known issues

  • Builder's Atlas still does not have an imported-memory marker showing which external project updates have already been recorded.
  • Community Ledger still needs the exposed Stripe test key rotated before further Stripe testing.
  • Community Ledger production upload storage should move to private object storage before deployment.
  • Community Ledger recurring schedules do not yet have edit controls or a cron runner.

Next recommended task

  • Community Ledger: RecurringFeeSchedule QA/edit polish.
  • Builder's Atlas: add an imported-memory marker or recent handoff import panel.