# Shared waters — provenance and bounded model definitions

Foray 170 · 26 September 2026. Three corrected first attempts, derived from Lawrence Rowland's 2022 GraphML explorations. Original files were inspected with nesting, family boundaries and exact node/edge IDs preserved; none was rewritten or published as a validated model.

The End is to understand one or another method for composing open systems in a familiar SMR/depot and organisational context. Useful chunks of work, capability, scope or resource may emerge from that understanding. Deriving useful project work remains a welcome stretch ambition; it is not claimed by these three attempts.

## Original graph identities

| Source filename | Nodes / nested groups / edges | SHA-256 |
|---|---|---|
| `2022 07 Open Graphs as a double category.graphml` | 32 / 15 / 22 | `46a28243d614c7c5437a744ef6897467fcc4f00d5e48beac480a663e4ba6f56a` |
| `2022 08 Basic functor setup for TOM.graphml` | 82 / 10 / 75 | `43deee510ce3b61b9118cb0185c45c0df2e3a02d2781ed29b27418fa78f30499` |
| `2022 08 TOM open systems second attempt.graphml` | 25 / 1 / 16 | `b714958981d9919d4ffbfed104cb6af70fd5a9c0224068ea1801d9606503a305` |

Groups are structural evidence, not proof of ontology or formal composition. In G3, the five process motifs are not nested child groups: there is one actual containing group. Repeated labels are distinct original vertex identities until a correspondence is explicitly supplied.

## Attempt 01: finite typed open graphs

Historical anchors: G1 `n0::n0::n0` (composition) and `n0::n0::n1::n0` (graph and boundary maps). The second square, empty placeholder and unproved double-category claims are omitted.

`models/compose.mjs` defines finite directed multigraphs with typed vertices and typed edges, discrete named boundary port sets, and injective boundary-to-vertex maps. Edge types have explicit source/target type signatures. Interface slots concern draft service information, not actual approved engineering documents.

Composition first makes sure the declared shared boundary objects match in name, port identities and types. It then identifies the vertices selected by corresponding boundary maps. Nonboundary vertices remain distinct, even when their labels match. No new edge is inserted. Original members and edges are retained. The two graphs must use disjoint original identities; reuse requires a fresh copy.

Two singleton-boundary examples compose to three vertices/two edges. Three compose to four/three. The two parenthesisations agree under the implemented canonical naming of equivalence classes of original vertices. Tests also cover reordered multiport boundaries, distinct same-labelled interiors, incorrect types and false identity matches. This is a finite construction check, not a proof of all categorical laws or behavioral equivalence.

The representation map sends two parallel preparation edges to one abstract preparation edge, with total vertex, edge and boundary-port assignments. Endpoint/type/boundary preservation is checked, including extension across the adjoining module. Route identity is forgotten; capability, timing, permission and substitution equivalence are not inferred. No double category is claimed.

## Attempt 02: declared organisational inventory correspondence

Historical anchors: G2 `n3` (fully named BAU surroundings), `n1` (TOM processes) and `n2` (scope ideas). Unspecified WBS products and the natural-transformation/scheduling ideas in `n6::n2` are omitted.

`models/compare.mjs` keeps processes, participant roles, capabilities and a planning function as distinct kinds. Each authored correspondence has one source, one target, and a retained/extended classification. Unmapped elements are explicit additions/removals. A correspondence cannot silently change kind. This is an inventory comparison, not a functor or transition system.

The seven named BAU surroundings are retained by stipulation in the toy comparison; they do not identify the original TOM's blank interfaces or prove unchanged performance. The Design Excellence centre comes from `n2::n2`, and is classified here as a proposed capability grouping; its staff, authority and behavior remain unspecified. Three Boolean choices give eight inventory variants. Counts of changes are not counts of generated tasks.

## Attempt 03: finite observation and capacity relations

Historical anchors: G3 `n0` (the author's question about artefacts versus teams), and the Sell/Design/Build motifs within `n2`. No isolated regulator node is silently turned into an approval constraint. The source's schedule-functor/SMC ambitions remain unresolved.

`models/contracts.mjs` gives three local observations of one declared specification identity, with synthetic revision values A/B. Observation compatibility requires all three values to agree. A separate resource identity and one slot allow at most one of Design and Installation to request the team.

The space has 2³ × 2² = 32 possible snapshots. Two version triples match; three allocation patterns satisfy capacity; six complete snapshots satisfy both rules. Across all32, eight satisfy version agreement alone and24 satisfy capacity alone. These are possibility counts, not probabilities.

No reservation does not mean a job can execute without staff; it means no claim is being made on that team in this slot. The model does not include transitions, histories, actual document production, acceptance/revocation, decision dynamics or evidence truth. It is not yet a full resource-sharing machine. A dynamical extension would have to supply local updates and test compatibility before and after a joint step.

## Reading for this essai

The ten-item curated source set was freshly reread through read-only source access before finalising these constructions: all54 pages of Willems, all8 of the Café article, all26 of Libkind, all10 of the AlgebraicJulia post, and all six Baez records (parts3,4,5,6,8,9). Work was divided across source-reading lanes and consolidated with independent model/conceptual review. It was not an independent proof audit. Visual checks recovered notation and Libkind proof pages omitted by the normal extraction. The Baez part4 capture reports16 physical pages but yields15 text sections; substantive author content was checked against its original webpage.

Full public titles, links, contribution and limits appear on [Sources and method](sources.html), with specific use on each attempt's page. Further research papers linked by the sources were not silently counted as read or implemented.

## Checks and reproducibility

Run `node --test tests/*.test.mjs` with Node22 or later. The repository has no package dependencies and no build step for the site. The deployment workflow runs the checks before publishing only the public HTML, styles, browser module, model modules and assets.

Conceptual review identified and corrected an initially misleading line between the specification and team relations, and a caption that implied a review operation absent from the graph model. Browser review checks the actual controls, reset, navigation, narrow-screen layout and accessible explanations. These remain bounded model and agent-operated checks, not human-user or field validation.

No local database identifiers, source-library paths or private scenario report are required to use the public site. The sources supply methods; the specific organisational examples and model assumptions are declared constructions for this essai.
