Skip to content
kc@kumarChandrachooda.com:~$ cd /blog/series/groupflights-strategy-before-code && read --section="top" 0%
Series

GroupFlights — Strategy Before Code

In reading order.

  • 16 parts
  • ≈ 110 min total
  • 16 published
Part 1 15 Nov 2025 7 min read

The Repo That Ships Its Own Design Decisions

Most repositories ship code and a README - this one ships four ADRs with a named approver, a context map, a domain message flow and a methodology poster. Part 1 of a series that reads the strategic half of DevMentors' GroupFlights.

Part 2 16 Nov 2025 7 min read

Eight Modules, Three Architectures, One Domain

GroupFlights picks a different application architecture per module on purpose - and the module nobody singled out turns out to hold the only real aggregate in the estate.

Part 3 17 Nov 2025 7 min read

The Context Map They Drew

ADR 03 declares six relationship patterns across ten bounded contexts and gives a reason for each - read on its own terms, before any code is checked against it.

Part 4 17 Nov 2025 8 min read

The Context Map the Compiler Drew

A repeatable twenty-minute method for deriving a real context map from the project graph and the event subscriptions - then diffing it against the one on the wall.

Part 5 18 Nov 2025 7 min read

Three Boxes That Were Never Built

Three of the ten contexts on the context map have no code behind them - and reading the absences carefully separates a design placeholder from a forgotten promise.

Part 6 19 Nov 2025 7 min read

A Gentleman's Agreement Across Thirty-Five Projects

ADR 01 chose a verbal ban on illegal project references over an automated architecture test - and the ban held perfectly, in an estate whose database boundary has no enforcement at all.

Part 7 19 Nov 2025 6 min read

The Only Legal Edge Between Modules

Seven contract projects are the estate's entire cross-module surface - and one misplaced marker interface drags the dispatcher framework into two of them by copy-paste.

Part 8 20 Nov 2025 7 min read

Your Contract Project Is Not Your Contract

Seven of thirteen published integration events in GroupFlights have exactly one consumer - the module that published them - and one has none at all.

Part 9 21 Nov 2025 6 min read

The Contract That Became Someone Else's Migration

One published type from the Communication module is mapped as an owned entity into TimeManagement's schema - so adding a field to your own contract now needs a migration you do not own.

Part 11 22 Nov 2025 6 min read

The Snapshot With No Version

ADR 04 names one risk in prose - changing a reservation on stale information - and the table built to mitigate it has no version, no timestamp and no concurrency check.

Part 12 23 Nov 2025 7 min read

Correlation Identifier, Invented Three Times

The event interface has no members, so nothing can carry a correlation id - and three modules each rebuild the pattern as application state, one of them in a static dictionary with a TODO.

Part 13 24 Nov 2025 6 min read

Broadcast Without a Filter

Two events in GroupFlights have more than one subscriber, and both are where it breaks - two handlers ask "is this mine?" and two do not, in both directions.

Part 14 24 Nov 2025 6 min read

The Feature Flag That Is a Constant

A fully built cross-cutting decorator disables an entire context relationship behind a local variable that is always false - while a sibling module enforces the identical rule for real.

Part 15 25 Nov 2025 7 min read

Decisions With an Approver and No Date

Four decision records with a named reporter and approver, no dates, no supersession, an architecture board hosted outside version control and a README that links code by line number.

Part 16 26 Nov 2025 8 min read

What Strategy-First Actually Bought Them

An honest retrospective on fifteen parts of source-reading - what the decision records bought, what they could not buy, and the compliance gaps nobody wrote down.