Skip to content

feat(flows): stack and group DFD stores - #37

Merged
damusix merged 1 commit into
mainfrom
worktree-dfd-store-stacks
Sep 8, 2026
Merged

feat(flows): stack and group DFD stores#37
damusix merged 1 commit into
mainfrom
worktree-dfd-store-stacks

Conversation

@damusix

@damusix damusix commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • A process's reads and writes render as stacked store boxes with one connector each; stores group by author-declared clusters (clusters/<slug>.md, cluster:<slug>), basetype/subtype families, or ERD groups, and every flow entry can carry a prose label: shown on the chip.
  • Per-process view (default) and connected view with stores/clusters/groups collapse levels, a stack dialog listing members, a contract dialog listing which columns come from which tables, and five flow.cluster_* validation rules.
  • The modeling skill authors labels and clusters by default in every mode that writes flows; the key-inherited demo's Collect Payment is the worked example it quotes.

What this solves

Real models (a dozen processes, dozens of stores, hundreds of edges) drew one box and one column chip per table and were unreadable. Grouping and labelling keep each process at a handful of stacked rows with prose on the connectors.

Order-to-cash demo, per-process view
Stacked-paper marker on a cluster row

A process no longer gets one store box and one column chip per table.
Its reads and writes render as stacked store boxes with one connector
each, tables group into clusters (author-declared in clusters/<slug>.md
and referenced as cluster:<slug>, or derived from basetype/subtype
families and ERD groups), and every flow entry can carry a prose label:
that shows on the chip. The flow view has a per-process view (default)
and a connected view with stores/clusters/groups collapse levels, a
stack dialog listing members, and a contract dialog listing which
columns come from which tables. Five flow.cluster_* validation rules
cover unknown or empty clusters, unknown members, and overlap.

The modeling skill now authors a label on every flow entry and a
cluster for stores a process treats as one thing, in every mode that
writes flows, and verifies stack legibility. The key-inherited demo's
Collect Payment writes a settlement cluster and is the worked example
the skill and the flows guide quote.

Non-breaking: existing models render unchanged; db: entries, hash
routes, and the export format keep their meaning. New hash params
flowview= and collapse= are additive.

Design: docs/design/dfd-store-clusters.md
Spec: docs/spec/dfd-store-clusters.md
@damusix
damusix force-pushed the worktree-dfd-store-stacks branch from dadcc43 to 02c37c0 Compare September 8, 2026 15:36
@damusix
damusix merged commit dd2c24a into main Sep 8, 2026
2 checks passed
@damusix
damusix deleted the worktree-dfd-store-stacks branch September 8, 2026 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant