Petri net → free (commutative) SMC → elementary WBS & schedules (toy: cliffside mountain refuge)

The Petri net below is the physical logic of a cliffside mountain refuge build (halfway up a cliff): tokens are “facts” (markings), transitions are “acts” (tasks). Under the “interchangeable markings/tokens” assumption, the clean categorical fit is the free commutative (hence symmetric) monoidal category presented by the net; “schedule options” are morphisms (reachability), while a WBS is a chosen operadic/parenthesized factorization of that morphism and a time schedule is a copresheaf / max-plus enrichment on the same causal skeleton.

Click transitions to fire Generate schedule options Choose a WBS cut See Gantt & critical path

Petri net for a toy “build a cliffside mountain refuge (halfway up a cliff)” project Goal not yet reached

How to read: circles are places (“facts”), rounded rectangles are transitions (“tasks”). A transition is enabled when all its input places have the required tokens; firing consumes inputs and produces outputs. This net is intentionally acyclic so “schedule options” correspond to different linearizations/parallelizations rather than looping behaviors; in this toy cliff-refuge, the “Access thread” means fixed-line rigging + ledge prep, the fork chooses helicopter vs winch/haul logistics, and both culminate in an anchored platform that enables the build.
Current marking (multiset):
Interpretation: each marking is an object in the free monoidal category generated by this net (so “states” are first-class, not just incidental snapshots).
Manual step-by-step iterator
Choose an enabled transition and fire it to advance. Use “Step back” to undo one firing.
History (oldest → newest):
Why “markings as schedule options” isn’t as odd as it sounds

In planning, one often wants not just “the list of actions” but the trace of state (which literals/facts carry causal responsibility for later steps). A Petri marking is exactly that kind of trace-friendly state, and a schedule can be seen as a path in the reachability graph: a sequence of markings connected by firings. Treating markings as interchangeable “for now” corresponds to working in the collective-token setting where only multiplicities matter (no token identities).

Controls & model choices (toy but principled)

Two deliberate “project management” knobs are baked into the Petri net itself: (i) a logistics choice between helicopter lift vs winch/haul access, and (ii) a work split after the wall system goes up into roof / openings / power paths.
What gets generated: a finite list of firing sequences from the initial marking to any marking containing Complete. Think "candidate schedules" before you assign calendar dates: they’re merely lawful executions.
SMC intuition in one breath

A Petri net freely generates a (very strict) symmetric/commutative monoidal category: objects are markings; morphisms are firing sequences; tensor is “doing in parallel”; composition is “doing in series”. This turns “project space” into a genuine algebra: schedule options are morphisms, WBS options are factorizations of morphisms, and “milestones” are just intermediate objects you choose to cut on.