Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 12 additions & 11 deletions .claude/project/followups/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,27 @@

Auto-generated by `atomic followups render`. Do not edit.

Open: 10 • Stale: 6 • Last rendered: 2026-09-08
Open: 11 • Stale: 8 • Last rendered: 2026-10-27

## 📋 plans (1)

- [usage-index-back-reference](usage-index-back-reference.md) — Usage index: derived back-reference of store/entity touchpoints → docs/spec/process-flows.md

## 🟡 risks (5)
## 🟡 risks (6)

- [dfd-polish-round3-cytoscape-typing](dfd-polish-round3-cytoscape-typing.md) — Type the cytoscape cy binding (retire the TS2339 Core defect) (91d, **stale**)
- [dfd-store-clusters-f-15](dfd-store-clusters-f-15.md) — test-graph-search.ts intermittent stall in page.evaluate (0d)
- [dict-side-nav-scrollspy-timing](dict-side-nav-scrollspy-timing.md) — Side-nav scrollspy test: scrollIntoView → waitForFunction implicit layout assumption (102d)
- [render-perf-elk-web-worker](render-perf-elk-web-worker.md) — ELK web worker — needs separate worker build entrypoint to activate under Bun (90d, **stale**)
- [unified-app-polish-flow-modal-light-mode](unified-app-polish-flow-modal-light-mode.md) — Flow-view dialogs may render dark in light mode (92d, **stale**)
- [dfd-polish-round3-cytoscape-typing](dfd-polish-round3-cytoscape-typing.md) — Type the cytoscape cy binding (retire the TS2339 Core defect) (140d, **stale**)
- [dfd-store-clusters-f-15](dfd-store-clusters-f-15.md) — test-graph-search.ts intermittent stall in page.evaluate (49d)
- [dict-side-nav-scrollspy-timing](dict-side-nav-scrollspy-timing.md) — Side-nav scrollspy test: scrollIntoView → waitForFunction implicit layout assumption (151d, **stale**)
- [render-perf-elk-web-worker](render-perf-elk-web-worker.md) — ELK web worker — needs separate worker build entrypoint to activate under Bun (139d, **stale**)
- [unified-app-polish-flow-modal-light-mode](unified-app-polish-flow-modal-light-mode.md) — Flow-view dialogs may render dark in light mode (141d, **stale**)
- [viewer-qol-f-1](viewer-qol-f-1.md) — Bundle may ship React dev build / StrictMode double effects (0d)

## 🔵 nits (4)

- [dfd-cold-deeplink-fallback](dfd-cold-deeplink-fallback.md) — DFD cold deep-link (#view=flow&dfd=<leaf>) falls back to context diagram on fresh load (85d, **stale**)
- [parse-ts-preexisting-tsc-errors](parse-ts-preexisting-tsc-errors.md) — Fix 6 pre-existing tsc errors in src/parse.ts (101d)
- [render-perf-flow-index](render-perf-flow-index.md) — Index flow validate/parse O(n^2) lookups (findings must stay identical) (90d, **stale**)
- [unified-app-polish-stack-entities-dfd](unified-app-polish-stack-entities-dfd.md) — Stack entities in the DFD to reclaim visual real-estate (92d, **stale**)
- [dfd-cold-deeplink-fallback](dfd-cold-deeplink-fallback.md) — DFD cold deep-link (#view=flow&dfd=<leaf>) falls back to context diagram on fresh load (134d, **stale**)
- [parse-ts-preexisting-tsc-errors](parse-ts-preexisting-tsc-errors.md) — Fix 6 pre-existing tsc errors in src/parse.ts (150d, **stale**)
- [render-perf-flow-index](render-perf-flow-index.md) — Index flow validate/parse O(n^2) lookups (findings must stay identical) (139d, **stale**)
- [unified-app-polish-stack-entities-dfd](unified-app-polish-stack-entities-dfd.md) — Stack entities in the DFD to reclaim visual real-estate (141d, **stale**)

## ❓ questions (0)

Expand Down
14 changes: 14 additions & 0 deletions .claude/project/followups/viewer-qol-f-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
id: viewer-qol-f-1
title: Bundle may ship React dev build / StrictMode double effects
created: "2026-10-27"
origin: |
docs/spec/viewer-qol.md, iter 10 implementer probe
kind: finding
severity: risk
review_by: "2026-12-26"
status: open
file: src/app/main.tsx:1
---

dist/static/index.js may ship React dev-only code: effects disconnect and reconnect about 20 ms after load (StrictMode double-run suspected) in both dev serve and the static export. Observed by the CP5 implementer while probing scroll restore; not proven. Check whether build:bundle's --define of process.env.NODE_ENV reaches the HTML-import build and whether <StrictMode> in main.tsx should be dev-only.
2 changes: 1 addition & 1 deletion .claude/rules/wiki/frontend.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ paths:
- "src/app/**"
---

Domain: frontend. React 19 unified SPA (Graph/Dictionary/Flows views); shell (`App.tsx`) owns state + composition; change-review overlay (`ChangesPanel`, `ChangeBadge`/`ChangeDot`, `logic/change-marks.ts`) marks graph, Dictionary, flow nodes, flow index and level-menu rows, with removed items in warning red; modals stack above the global findings banner; `flowview=`/`collapse=` hash params; views own cy/SVG lifecycle
Domain: frontend. React 19 unified SPA (Graph/Dictionary/Flows views); shell (`App.tsx`) owns state + composition; change-review overlay (`ChangesPanel`, `ChangeBadge`/`ChangeDot`, `logic/change-marks.ts`) marks graph, Dictionary, flow nodes, flow index and level-menu rows, with removed items in warning red; modals stack above the global findings banner; `flowview=`/`collapse=` hash params; views own cy/SVG lifecycle; FAB Settings modal + Export HTML with saved view state; client Mermaid rendering

Map:
- docs/wiki/frontend.md
Expand Down
2 changes: 1 addition & 1 deletion .claude/rules/wiki/generators.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ paths:
- "src/generators/**"
---

Domain: generators. Unified static HTML export via `generateApp` (single file — graph + dict + flows), now embedding `window.__FLOW_CLUSTERS__`; sole static generator
Domain: generators. Unified static HTML export via `generateApp` (single file — graph + dict + flows), embedding `window.__FLOW_CLUSTERS__` and the Mermaid runtime; `exportModel` (`export-model.ts`) is the shared export path for CLI and server

Map:
- docs/wiki/generators.md
Expand Down
1 change: 1 addition & 0 deletions .claude/rules/wiki/parser.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ paths:
- "src/model/model-index.ts"
- "src/model/change-review.ts"
- "src/model/change-store.ts"
- "src/model/markdown-mermaid.ts"
---

Domain: parser. `ignatius.yml` config loading → ParseResult: {model, globalErrors}; nodes, edges, cardinality + classification derivation; wiki-link inline rule + two-pass body rendering (`linkStateNeutral`); `buildModelIndex` lookup maps; change review: `change-review.ts` diffs model + flows against the approved baseline kept by `change-store.ts` and cross-checks agent change notes
Expand Down
2 changes: 1 addition & 1 deletion .claude/rules/wiki/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ paths:
- "src/server/**"
---

Domain: server. Bun.serve with `/api/model` (carries the change-review `diff`), `POST /api/approve`, `/api/flow` (returns `clusters`), `/events` SSE live-reload driven by fs.watch plus a `baseline.json` stat poll; `/dict`, `/flow`, `/flow-dict` redirect to SPA hash routes
Domain: server. Bun.serve with `/api/model` (carries the change-review `diff`), `POST /api/approve`, `/api/flow` (returns `clusters`), `POST /api/export` (HTML export with client view state), `/static/mermaid.js`, `/events` SSE live-reload driven by fs.watch plus a `baseline.json` stat poll; `/dict`, `/flow`, `/flow-dict` redirect to SPA hash routes

Map:
- docs/wiki/server.md
Expand Down
2 changes: 1 addition & 1 deletion .claude/rules/wiki/theme.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ paths:
- "src/theme/**"
---

Domain: theme. ThemeConfig + Branding types, default palettes, flow-kind colors + per-kind store-cap symbols (`FLOW_STORE_KIND_SYMBOLS`), dark/light merging
Domain: theme. ThemeConfig + Branding types, default palettes, flow-kind colors + per-kind store-cap symbols (`FLOW_STORE_KIND_SYMBOLS`), dark/light merging; `mermaid-theme.ts` maps `theme.mermaid` to Mermaid theme variables

Map:
- docs/wiki/theme.md
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ on:

jobs:
test:
runs-on: ubuntu-latest
# Playwright 1.60 cannot install Chromium on ubuntu-latest's 26.04 image.
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Edit any file in the folder and the graph reloads in the browser without a refre
| [Bidirectional predicates](docs/guides/predicates.md) | Forward and reverse edge labels with hover-swap |
| [Process flows](docs/guides/flows.md) | Data flow diagrams: processes, externals, stores, sub-DFDs |
| [Validation and findings](docs/guides/validation.md) | The linter, severity tiers, and where findings surface |
| [Themes and branding](docs/guides/themes-and-branding.md) | Color palettes, the light/dark toggle, logo and copyright |
| [Themes and branding](docs/guides/themes-and-branding.md) | Color palettes, light and dark themes, logo and copyright |
| [The modeling skill](docs/guides/modeling-skill.md) | `/ignatius-modeling` Q&A authoring in Claude Code |
| [Building from source](docs/guides/building-from-source.md) | Build stages, project layout, and tests |

Expand Down
Loading
Loading