Repository navigation
Absorb Memory Map as a browser-local SaaS Maker tool #210
Description
Activity
Plan (merge agent)
Source:
Significant-Hobbies/chatgpt-memory-insights@950a85ce1fd4fb255d145e1c514e776426a9b4e8(cleanmain).Layout: new private workspace package
apps/memory-map(@saas-maker/memory-map), a standalone static Astro build. Not undertooling/because tooling intentionally has no npm dependencies, and not a route inside the showcase app, because that would change the browser origin and with it the saved IndexedDB indexes. The package keeps its own pinned toolchain (Astro 7, Transformers.js 3.8.1, zip.js, Plot, Tailwind 4, Biome/ultracite, knip) and its own quality gate. Roottypecheck/buildpick it up through turbo. CI gets acheck:memory-mapstep.Moves verbatim:
src/(UI, export parsing incl. chunkedconversations-*.json, stats, semantic graph, evidence and history, search, Memory Chat worker, IndexedDB save/forget), tests,public/(agent surfaces, fonts, footer art, analytics loaders),functions/_middleware.ts,scripts/(code-health, Playwright import qualification), configs,DESIGN.md,PRODUCT.md. Pinned model ids and revisions, download disclosures, deterministic fallbacks and the candidate-vs-verified distinction are unchanged, because the code is unchanged.Retained in the source repo for now: the
packer/Rust CLI (memory-pack), its release workflow andinstall.sh. These depend on that repo's GitHub Releases, so moving them is a separate owner decision. Also kept there:artifacts/designscreenshots,docs/qualificationevidence and agent metadata (.codex/.agents/.claude/.impeccable/.fleet), which stay as history.Dropped in the package: the
deployscript,require-clean-main.mjsandwrangler.toml, so this PR cannot deploy to the production Pages project.Compatibility: the hostname stays
chatgpt.significanthobbies.com. If the owner keeps that hostname when cutting over the Pages deploy source, saved IndexedDB (memory-mapdatabase) indexes stay available. Any new origin starts empty: indexes do not move between origins, and users must re-import.Owner cutover checklist (not done here):
- Point the
chatgpt-memory-insightsPages deploy atapps/memory-map(or a new project on the same hostname); no DNS change needed if the hostname is kept - Decide where
memory-pack(packer) lives and where its releases come from - Repoint catalog
systemswiredFiles/footerSurfaces and the dossier after cutover; then lifecycle retirement - Reconcile source repo issues (Fix package deploy workflow commands #12, docs: define spotlight products and fleet directory #37, …); transfer the repo to
sarthakagrawal927, archive it, and move the local checkout out of active Fleet
2026-10-09: all boxes closed by the cutover (see the final comment). Per the owner decisions, the source repo is not transferred or retired; it now hosts the DaddyRad MCP server. Issues #12 and #37 became #213 and #214.
- Point the
- added a commit that references this issue
on Oct 9, 2026 Source merge landed in #211 (squash
6ef53142)Memory Map now lives at
apps/memory-map(@saas-maker/memory-map), copied verbatim fromchatgpt-memory-insights@950a85ce. It has no deploy path, so production is unchanged. CI is green, including the newpnpm check:memory-mapstep that runs the package's full quality boundary.Verification (local and CI)
- The package check passes: format and lint clean,
astro check0 errors, 104/104 tests with coverage above the floors, knip, complexity and duplication within baselines, 0 advisories on this package's dependency paths, and the build succeeds. test:importpasses 6/6 in Chromium, covering model-download failure recovery at 390px and 1280px, pinned compact WASM inference, and analytics never collecting archive text.- An extra Playwright run on the built app used a split
conversations-000/001.jsonZIP:- 4/4 conversations were parsed, and semantic search returned the right evidence;
- there was no overflow at 390px or 1280px;
- Save created the
memory-mapIndexedDB, reload restored an identical report, and Forget deleted the DB and returned to import; - a unique archive marker appeared in no external request URL or body, and there were no page errors.
- The root lint, typecheck, tests, docs and catalog checks and all four app builds pass.
- Catalog: the
ownerNotesforchatgpt-memory-insightsnow record the new source location and pending cutover, andpnpm catalog:synchas been run. Lifecycle is unchanged.
Remaining (owner cutover, last box)
- Approve and run: point the
chatgpt-memory-insightsPages project atapps/memory-map/dist. Keepchatgpt.significanthobbies.comso saved IndexedDB indexes survive; any other origin starts empty. Add a deploy script and guard at that point. - Decide the home and release channel for
memory-pack(packer/,packer-release.yml,install.sh); these are still in the source repo. - After cutover: repoint catalog
systemspaths (Clarity, footer surfaces) tosaas-maker/apps/memory-map/..., retire the lifecycle, and refresh dossiers. - Reconcile source issues (Fix package deploy workflow commands #12 debt ratchet, docs: define spotlight products and fleet directory #37 qualification) into SaaS Maker, then transfer the repo to
sarthakagrawal927, archive it, and move the local checkout out of active Fleet.
2026-10-09: all boxes closed by the cutover (see the final comment). Per the owner decisions, the source repo is not transferred or retired; it now hosts the DaddyRad MCP server. Issues #12 and #37 became #213 and #214.
- The package check passes: format and lint clean,
- added 4 commits that reference this issue
on Oct 9, 2026 Cutover complete (owner decisions 2026-10-09)
- Deploy path. Added
pnpm deploy:memory-map, which runs the deploy guard, then the packagecheck, thenwrangler pages deploy dist --project-name chatgpt-memory-insights --branch main. It targets the existing Pages project, so the origin is unchanged. Landed in Memory Map: deploy to existing Pages project; move memory-pack into apps/memory-map/packer #215 (squash576a623e). CI was green. - Deployed from SaaS Maker. Production deploy
4ef026cc-02a4-418a-a0e9-6125988090c7(source576a623e) is live at https://chatgpt.significanthobbies.com.- Rollback target: previous production deploy
ce1af558-69c9-4b16-914b-58ec32c81e21. - The guard passed all 6 gates: linked checkout at exact
origin/main, clean tree, green push CI. - Status codes, redirects and headers are unchanged against the pre-cutover capture.
/,/install.sh,/llms.txt,/agents.md,/robots.txt,/sitemap.xml,/.well-known/ai-catalog.jsonand/index.mdreturn 200./aboutand/changelogreturn 308 to the trailing-slash URL./api/ai.mdis 404, as it was before. - Real Chrome at 390, 1280 and 1440 px: no horizontal overflow and no page errors.
- A synthetic two-conversation export parsed (Conversations 2, Messages 2) and embedded ("Embedded 2 of 2").
- A unique archive marker appeared in no request URL or body.
- The final origin stayed
https://chatgpt.significanthobbies.com. The baseline run before the deploy gave the same results.
- Rollback target: previous production deploy
- memory-pack moved to
apps/memory-map/packer(Memory Map: deploy to existing Pages project; move memory-pack into apps/memory-map/packer #215).memory-pack-ci.yml(fmt, clippy, test) is green on main.- Release mechanism:
memory-pack-release.ymlpublishes when amemory-pack-v*tag is pushed. A manual dispatch only builds, so it works as a dry run. - Installer:
install.shnow resolves the newestmemory-pack-v*release here and falls back to the legacy releases (v0.1.0–v0.1.2). Installing from the live/install.shworks (v0.1.2, checksum verified). - Dry run result: run 37954074373 built the macOS and Linux targets. The Windows build failed on unix-only code added before the move (
c45fbca). That is tracked in memory-pack: Windows target no longer builds, which blocks the next release #216, and it blocks publishing. - Next release step: fix memory-pack: Windows target no longer builds, which blocks the next release #216, bump
Cargo.tomlandnpm/package.json, then push amemory-pack-v0.1.3tag.
- Release mechanism:
- Issues. Source Fix package deploy workflow commands #12 and docs: define spotlight products and fleet directory #37 were already closed, and cross-org transfer is refused. They are copied as Memory Map: Reduce measured code-health debt #213 and Memory Map: Qualify complete semantic import, search, save, restore, and forget journey #214 (closed to match), and the originals link here.
- chatgpt-memory-insights (Move Memory Map and memory-pack to SaaS Maker; host the DaddyRad MCP server Significant-Hobbies/chatgpt-memory-insights#60, squash
25c49407):- The app source and memory-pack are replaced by a README with commit links.
- DaddyRad
mcp/is added verbatim fromdaddyrad@bfdd8a81(identical mode, blob and path listing), together with its macOS CI. That CI is green. - The repository stays active.
- Catalog (catalog: Memory Map now sourced and deployed from apps/memory-map #217
c9740121; Memory Map cutover: footer surfaces and dossiers point at SaaS Maker apps/memory-map site-health#524755d3876):- Memory Map's repositories now point at
saas-makerwithsourcePath: saas-maker/apps/memory-map. - Clarity and footer paths are repointed.
- Public repo and roadmap links now point at saas-maker.
- The Pages project and domain stay attributed to Memory Map, with the deploy verification recorded.
- The
Significant-Hobbies/chatgpt-memory-insightsrepository row is now linked todaddyrad, because the repo hosts the MCP server. - Lifecycle is unchanged (active, live). Sync was run and dossiers were refreshed;
--checkpasses.
- Memory Map's repositories now point at
Owner follow-up: only #216, before the next memory-pack release.
- Deploy path. Added
Why
Memory Map is a useful bounded tool, like GitStat, rather than an independent active product. Absorb it into SaaS Maker tooling while preserving its existing capabilities.
Scope
Move the browser-local ChatGPT-export analysis tool from
chatgpt-memory-insightsinto an independently testable SaaS Maker tooling package. Choose the final route/package layout on pickup. Preserve its established UI, export parsing, statistics, semantic graph, memory evidence/history, search, opt-in local chat and optional browser-local persistence. It remains credential-free client-side processing, not a hosted analytics service or generic AI gateway.Archives and derived text must remain on the visitor’s device. Preserve pinned model profiles, download disclosures, incremental parsing, deterministic fallbacks, explicit save/delete controls, and the distinction between candidate inferences and verified facts. Review SaaS Maker’s boundary instructions for the bounded tool’s ownership without introducing a new analytics-dashboard product.
Tasks
chatgpt-memory-insightsrepo stays active hosting the DaddyRad MCP server, so it is not transferred or retired. Evidence in the final comment.)Deferred scope
Owner requested tracking only. Do not implement, deploy, migrate, archive or move repositories as part of creating this task. Preserve all current source, data and public surfaces until verified parity. At completion, reconcile source issues, update the canonical SaaS Maker catalog and regenerate consumers/dossiers. Transfer the superseded repository to
sarthakagrawal927, archive it, and move its local checkout intact out of active Fleet after verifying retained work. Deployment and data migrations require their applicable approval.