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
21 changes: 11 additions & 10 deletions .claude/project/followups/INDEX.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,26 @@

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

Open: 9 • Stale: 0 • Last rendered: 2026-08-02
Open: 10 • Stale: 6 • Last rendered: 2026-09-08

## 📋 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 (4)
## 🟡 risks (5)

- [dfd-polish-round3-cytoscape-typing](dfd-polish-round3-cytoscape-typing.md) — Type the cytoscape cy binding (retire the TS2339 Core defect) (54d)
- [dict-side-nav-scrollspy-timing](dict-side-nav-scrollspy-timing.md) — Side-nav scrollspy test: scrollIntoView → waitForFunction implicit layout assumption (65d)
- [render-perf-elk-web-worker](render-perf-elk-web-worker.md) — ELK web worker — needs separate worker build entrypoint to activate under Bun (53d)
- [unified-app-polish-flow-modal-light-mode](unified-app-polish-flow-modal-light-mode.md) — Flow-view dialogs may render dark in light mode (55d)
- [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**)

## 🔵 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 (48d)
- [parse-ts-preexisting-tsc-errors](parse-ts-preexisting-tsc-errors.md) — Fix 6 pre-existing tsc errors in src/parse.ts (64d)
- [render-perf-flow-index](render-perf-flow-index.md) — Index flow validate/parse O(n^2) lookups (findings must stay identical) (53d)
- [unified-app-polish-stack-entities-dfd](unified-app-polish-stack-entities-dfd.md) — Stack entities in the DFD to reclaim visual real-estate (55d)
- [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**)

## ❓ questions (0)

Expand Down
14 changes: 14 additions & 0 deletions .claude/project/followups/dfd-store-clusters-f-15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
id: dfd-store-clusters-f-15
title: test-graph-search.ts intermittent stall in page.evaluate
created: "2026-09-08"
origin: |
docs/spec/dfd-store-clusters.md, iter 9 implementer and reviewer (polish)
kind: finding
severity: risk
review_by: "2026-11-07"
status: open
file: test/checks/test-graph-search.ts
---

test-graph-search.ts stalled inside a page.evaluate on the graph mouseout handler in 2 of 20 instrumented back-to-back runs, after all three Enter cycles completed normally. The handler is synchronous and bounded; no code defect was found, and the stall did not reproduce in the reviewer's 8 runs. The check now carries bounded timeouts, a 55s watchdog, and a forced server stop, so it fails fast with a message instead of hanging. Left: find whether the stall is a CDP/GC hiccup under load or a real race in GraphView search, and remove the watchdog if the cause is fixed.
2 changes: 1 addition & 1 deletion .claude/rules/wiki/docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ paths:
- "docs/glossary.md"
---

Domain: docs. Design docs, user guides, research notes, and implementation-contract specs — 76 markdown files plus `docs/glossary.md` across `docs/design/`, `docs/guides/`, `docs/research/`, `docs/spec/`
Domain: docs. Design docs, user guides, research notes, and implementation-contract specs — 78 markdown files plus `docs/glossary.md` across `docs/design/`, `docs/guides/`, `docs/research/`, `docs/spec/`

Map:
- docs/wiki/docs.md
Expand Down
4 changes: 3 additions & 1 deletion .claude/rules/wiki/flow-view.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@ paths:
- "src/flow-view/**"
---

Domain: flow-view. ELK-driven DFD layout (5-band partitioning, orthogonal edge routing); pure coord helpers for polyline rendering; SVG renderer consumes ELK positions + edgeRoutes + search-token dimming
Domain: flow-view. ELK-driven DFD layout (5-band partitioning, orthogonal edge routing) with a stack-node model for per-process/connected views and three collapse levels (stores/clusters/groups); pure coord helpers for polyline rendering; SVG renderer consumes ELK positions + edgeRoutes + search-token dimming

Map:
- docs/wiki/flow-view.md
Contracts:
- docs/spec/dfd-edge-hover-data.md
- docs/spec/dfd-overhaul.md
- docs/spec/dfd-store-clusters.md
- docs/spec/graph-flow-search.md
- docs/spec/viewer-ux-polish.md
Designs:
- docs/design/dfd-edge-hover-data.md
- docs/design/dfd-overhaul.md
- docs/design/dfd-store-clusters.md
- docs/design/graph-flow-search.md
Research:
- docs/research/dfd-layout-and-leveling.md
Expand Down
4 changes: 3 additions & 1 deletion .claude/rules/wiki/flows.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@ paths:
- "src/flows/**"
---

Domain: flows. SSADM data flow diagrams: `parseFlows` (recursive sub-DFDs + canonical Yourdon leveling via `deriveLevels`), `validateFlows` (12 `flow.*` rules), `buildFlowLayoutKeys`, usage indexing; role-split node model
Domain: flows. SSADM data flow diagrams: `parseFlows` (recursive sub-DFDs + canonical Yourdon leveling via `deriveLevels`), `flow-clusters.ts` `cluster:` token expansion from `clusters/<slug>.md` author files, `validateFlows` (17 `flow.*` rules), `buildFlowLayoutKeys`, usage indexing; role-split node model

Map:
- docs/wiki/flows.md
Contracts:
- docs/spec/dfd-nesting-depth.md
- docs/spec/dfd-overhaul.md
- docs/spec/dfd-store-clusters.md
- docs/spec/folder-model.md
- docs/spec/process-flows.md
Designs:
- docs/design/dfd-nesting-depth.md
- docs/design/dfd-overhaul.md
- docs/design/dfd-store-clusters.md
- docs/design/folder-model.md
- docs/design/process-flows.md
Guides:
Expand Down
5 changes: 4 additions & 1 deletion .claude/rules/wiki/frontend.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,17 @@ paths:
- "src/app/**"
---

Domain: frontend. React 19 unified SPA (Graph/Dictionary/Flows views); shell (`App.tsx`) owns state + composition; views own cy/SVG lifecycle; components/logic/hooks/dom layered underneath
Domain: frontend. React 19 unified SPA (Graph/Dictionary/Flows views); shell (`App.tsx`) owns state + composition; `flowview=`/`collapse=` hash params drive the flow view mode and collapse level; `StackDialog`/`EdgeContractDialog` cover stack and edge-contract detail; views own cy/SVG lifecycle; components/logic/hooks/dom layered underneath

Map:
- docs/wiki/frontend.md
Contracts:
- docs/spec/dfd-store-clusters.md
Designs:
- docs/design/app-tsx-decomposition.md
- docs/design/branding.md
- docs/design/dd-spotlight-grid.md
- docs/design/dfd-store-clusters.md
- docs/design/dict-navigation.md
- docs/design/graph-flow-search.md
- docs/design/graph-position-persistence.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); sole static generator
Domain: generators. Unified static HTML export via `generateApp` (single file — graph + dict + flows), now embedding `window.__FLOW_CLUSTERS__`; sole static generator

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

Domain: parser. `ignatius.yml` config loading → ParseResult: {model, globalErrors}; nodes, edges, cardinality + classification derivation; wiki-link inline rule + two-pass body rendering; `buildModelIndex` — 13 O(1) lookup maps built once per Model
Domain: parser. `ignatius.yml` config loading → ParseResult: {model, globalErrors}; nodes, edges, cardinality + classification derivation; wiki-link inline rule + two-pass body rendering; `ModelMeta.flowView` (`flow_view:`/`adjacency_stacks`); `buildModelIndex` — 13 O(1) lookup maps built once per Model

Map:
- docs/wiki/parser.md
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` + `/api/flow` + `/events` SSE + fs.watch live-reload; `/dict` and `/flow` redirect to unified SPA hash routes; `/flow-dict` redirects to `/#view=dict`
Domain: server. Bun.serve with `/api/model` + `/api/flow` (now includes `clusters`) + `/events` SSE + fs.watch live-reload; `/dict` and `/flow` redirect to unified SPA hash routes; `/flow-dict` redirects to `/#view=dict`

Map:
- docs/wiki/server.md
Expand Down
6 changes: 5 additions & 1 deletion .claude/rules/wiki/validate.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@ paths:
- "src/model/validate.ts"
---

Domain: validate. Pure model validator: 33 RuleIds across 8 prefixes (parse/config/entity/body/edge/cluster/index/flow), two severity tiers (A=warn, B=omit); `validateIndex` reuses `buildRouters` to detect router drift
Domain: validate. Pure model validator: 38 RuleIds across 8 prefixes (parse/config/entity/body/edge/cluster/index/flow), two severity tiers (A=warn, B=omit); `flow.*` now 17 ids including five `flow.cluster_*` DFD-store-cluster rules; `validateIndex` reuses `buildRouters` to detect router drift

Map:
- docs/wiki/validate.md
Contracts:
- docs/spec/dfd-store-clusters.md
- docs/spec/model-index-routing.md
- docs/spec/schema-lint-and-error-ux.md
Designs:
- docs/design/dfd-store-clusters.md
- docs/design/model-index-routing.md
- docs/design/schema-lint-and-error-ux.md

Consult the map before changing behavior here. Behavior changes stale the pages above. Renames or removals stale mentions beyond them: grep the old name across docs/ before shipping.
Loading
Loading