Skip to content

fix(event-storming): reconcile Big Picture simulation layout to one canonical scheme - #159

Merged
kyle-sexton merged 1 commit into
mainfrom
chore/retrofit-event-storming-sim-layout
Jul 13, 2026
Merged

fix(event-storming): reconcile Big Picture simulation layout to one canonical scheme#159
kyle-sexton merged 1 commit into
mainfrom
chore/retrofit-event-storming-sim-layout

Conversation

@kyle-sexton

@kyle-sexton kyle-sexton commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

What

Reconciles the event-storming simulation skill's three reference docs onto one canonical Big Picture layout scheme, resolving two conflicting coordinate systems that produced sticky overlaps and false --evaluate regressions.

Why

agentic-simulation.md, miro-integration.md, and simulation-evaluation.md carried two incompatible Big Picture layouts:

  • Canonical (scheme A) — expansive per-persona rows (miro-integration.md "Big Picture Y-Coordinate Table").
  • Compact (scheme B) — single-flow (main flow y=0, people -250, systems +450). This is correct for Process Modeling / Design-Level (genuinely single-flow workshops) but had leaked into the Big Picture section of agentic-simulation.md, where Big Picture is multi-persona.

Arithmetic proof of the conflict (Miro stickies are fixed ~199px boxes positioned by center; overlap when |Δy| < 199, doc's stated minimum is 250):

Item Conflict Gap Verdict
1 agentic systems +450 vs canonical persona-2 row +500 50px hard overlap
2 agentic pivotal -400 = canonical People/Actors row -400 0px same-row collision (canonical pivotal -600)
3 eval walk-through count at y=1900 vs canonical 4200 n/a false regressions during --evaluate
4 agentic grows/resizes timeline frames vs miro-integration.md z-order gotcha n/a frames render on top and hide stickies

Resolution — per-phase canonical

  • Big Picture adopts the expansive per-persona scheme as the single source of truth (miro-integration.md table).
  • Process Modeling / Design-Level keep the compact single-flow scheme unchanged — they are correctly single-flow.
  • "One coherent scheme" = no cross-file contradiction for the same phase, not one scheme for all phases.

Changes

  • miro-integration.md — respace the header stack -800/-600/-400/-200-1000/-750/-500/-250 so every adjacent gap is ≥250px (the doc's own minimum; the old stack ran 200px gaps). Persona 1 stays anchored at y=0. Mark the table as the SSOT.
  • agentic-simulation.md — remove the leaked compact Big Picture coordinates; reference the canonical table instead. Stop creating/resizing growing timeline frames (Big Picture and Process Modeling board setup) per the frame z-order gotcha; use coordinate-based organization + the static legend frame.
  • simulation-evaluation.md — walk-through new-event count pointer y=1900 → reference the canonical Walk-through row (4200).

Verification (geometric, no live Miro board)

Miro access is unavailable to the team, so the "verify against a live board" method was changed (with maintainer approval) to geometric verification — overlap is deterministic geometry, so a live board adds nothing once frames are removed:

  • Deterministic pairwise overlap check over the reconciled table: 0 overlaps, 0 sub-250 gaps.
  • To-scale render of the final layout confirms clean layering (header stack at the 250px minimum, personas at 500).
  • The one Miro-specific rendering concern (frame z-order) is eliminated by removing the frames.

Local hygiene: markdownlint clean, typos clean, git diff --check clean, LF endings.

Out of scope (follow-up)

Spotted PM-internal coordinate drift (simulation-evaluation.md rubric y=200/y=250 vs the Process Modeling table's 300/600) — same bug class in the PM phase, not the Big Picture subject of this change. Filed as a follow-up rather than half-fixed here.

Refs melodic-software/medley#1473


Note

Low Risk
Documentation-only reference changes for simulation/Miro layout; no runtime code, auth, or data paths.

Overview
Unifies Big Picture Miro layout across agentic-simulation.md, miro-integration.md, and simulation-evaluation.md so agent runs, board placement, and --evaluate use the same y-coordinates instead of two conflicting schemes (compact single-flow vs expansive per-persona rows).

miro-integration.md is now the single source of truth for the Big Picture Y-Coordinate Table. The header stack is respaced (-1000 / -750 / -500 / -250) so adjacent rows meet the documented ≥250px minimum; Persona 1 stays at y=0.

agentic-simulation.md drops duplicated coordinates and leaked compact-layout guidance. Big Picture and Process Modeling setup no longer create or resize growing timeline frames (frame z-order hides stickies); only the static Legend frame plus coordinate-based organization. People/external systems and pivotal events are placed per the canonical table (headers above persona event rows).

simulation-evaluation.md points walk-through new-event checks at the canonical Walk-through row instead of obsolete y=1900, avoiding false evaluation regressions.

Reviewed by Cursor Bugbot for commit 7da5594. Bugbot is set up for automated code reviews on this repo. Configure here.

…anonical scheme

The simulation skill's three reference docs carried two conflicting Big
Picture layout schemes. The compact single-flow layout (main flow y=0,
people -250, systems +450) is correct for Process Modeling / Design-Level
but had leaked into the Big Picture section of agentic-simulation.md, where
Big Picture is a multi-persona layout (persona rows at 0/500/...): systems
at +450 sat on the persona-2 row at 500 (50px overlap), and agentic pivotal
-400 collided with the People/Actors row.

Resolution (per-phase canonical): the Big Picture Y-Coordinate Table in
miro-integration.md is the single source of truth for Big Picture; PM/DL
keep the compact single-flow scheme unchanged.

- miro-integration.md: respace the header stack -800/-600/-400/-200 ->
  -1000/-750/-500/-250 so every adjacent gap is >=250px (the doc's own
  vertical-spacing minimum; the old stack ran 200px gaps). Persona 1 stays
  anchored at y=0. Mark the table as the SSOT.
- agentic-simulation.md: remove the leaked compact Big Picture coordinates;
  reference the canonical table instead (pivotal, people, external systems,
  persona rows). Stop creating/resizing growing timeline frames (Big Picture
  and Process Modeling board setup) per miro-integration.md's frame z-order
  gotcha; rely on coordinate-based organization + the static legend frame.
- simulation-evaluation.md: walk-through new-event count pointer y=1900 ->
  reference the canonical Walk-through row (4200), removing false --evaluate
  regressions.

Verification (no live Miro board available; geometrically verified instead):
deterministic pairwise overlap check over the reconciled table (0 overlaps,
0 sub-250 gaps) plus a to-scale render confirming clean layering. The one
Miro-specific rendering concern (frame z-order) is eliminated by removing
the frames.

Refs melodic-software/medley#1473
@cursor

cursor Bot commented Jul 13, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_b7e594b6-904c-42f3-a49c-d49b54aa779f)

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: low. Not approving because Cursor Bugbot completed as skipped (usage limit reached) without a clean automated review. Human review is needed before merge; assigned kyle-sexton as reviewer.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@kyle-sexton
kyle-sexton merged commit a9957a6 into main Jul 13, 2026
21 of 25 checks passed
@kyle-sexton
kyle-sexton deleted the chore/retrofit-event-storming-sim-layout branch July 13, 2026 14:31
kyle-sexton added a commit that referenced this pull request Jul 16, 2026
…ocs (#219)

## What

Reconciles the two Process Modeling coordinate conflicts flagged across
the `event-storming`
`simulation` skill's three reference docs onto the existing per-phase
canonical scheme (mirroring
#1473's Big Picture reconciliation), for the PM/DL phases left unchanged
by that prior work.

## Why

`simulation-evaluation.md` and `agentic-simulation.md` carried compact
literal PM y-values that
drifted from the **Process Modeling Y-Coordinate Table** in
`miro-integration.md`:

| Item | Compact literal (removed) | Canonical table row |
|---|---|---|
| Corrected policies | `y=200` | Pass 2 corrections = `300` |
| Alternative/failure events | `y=+250` / `y=250` | Exception flows =
`600`, Secondary alternatives = `900` |

## Resolution — per-phase canonical (per the issue, mirroring #1473)

The Process Modeling and Design-Level Y-Coordinate Tables in
`miro-integration.md` are the single
source of truth for their phases. Replaced the drifting literals in
`agentic-simulation.md`
(PM Round 2: Alternative Paths) and `simulation-evaluation.md` (PM
Rubric: Three passes completed,
Alternative paths modeled) with references to the canonical table rows
instead of restating
values — same treatment PR #159 gave the Big Picture phase.

Swept every `y=`/`x=`/frame/tool coordinate reference in both files: no
other PM/DL drift found.
Design-Level sections in `agentic-simulation.md` contain no numeric
coordinate literals to begin
with (mechanical step descriptions only), so nothing there needed
changing.

## Verification (geometric, x-aware — no live Miro board)

Per the issue: PM/DL layouts are x-localized per flow-segment (not
full-width bands like Big
Picture), so the overlap check must be x-aware — two elements overlap
only when their x-ranges
intersect AND `|Δy| < ~199px`.

- **Deterministic overlap check** over the Process Modeling Y-Coordinate
Table (the table this PR
aligns to): built a representative 3-segment flow (x = 0, 400, 800 — the
documented 400px
horizontal spacing) with every table row placed at each segment. **0
overlaps** across 30
elements — confirms the table is a geometrically safe alignment target.
- **To-scale render** of the table for one flow segment confirms clean
layering: every adjacent
row gap is ≥200px (header stack) or 300px (below Main Flow), all clear
of the 199px overlap
  threshold.

## Out of scope (follow-up — same bug class as #1473's "spotted but not
fixed here")

The same verification pass surfaced two issues in `miro-integration.md`
itself, outside this
issue's scope (which only covers the two flagged PM literals in the
other two files):

1. **Design-Level Y-Coordinate Table has a genuine internal overlap.**
Actors (`-200`), Commands
(`-100`), Aggregates (`0`) are packed into 100px gaps — under the `|Δy|
< 199px` threshold.
Deterministic check confirms: `OVERLAP: Actors <-> Commands |dy|=100px`,
   `OVERLAP: Commands <-> Aggregates |dy|=100px`.
2. **An orphaned duplicate coordinate scheme** sits in
`miro-integration.md` right after the
Design-Level table (`**Main flow (y=0 baseline)**` / `**Above the
flow**` / `**Below the
flow**` / `**Example: one complete flow segment**` blocks) restating its
own values (Actors
`-250`, Read Models `-450`, Hot Spots `-250`, Alternative outcomes
`+250`) that match neither
the PM nor the DL table. Per `git blame`, this block and both per-format
tables were introduced
in the same original authoring commit — it's the literal source the
compact values removed by
this PR trace back to, never cleaned up when the two tables were added.
Same shape as the
   leaked-compact-scheme bug #1473/PR #159 fixed for Big Picture.

Fixing #1 requires choosing new DL spacing (multiple valid options, no
single correct answer
dictated by existing evidence) — a decision, not a mechanical
literal-swap like this PR, so it
wasn't forced here. Filing a follow-up issue for a human decision was
attempted but blocked by
this session's own write-permission guard (unrequested tracker write);
flagging here instead so
it isn't lost.

Closes melodic-software/medley#1490
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