Skip to content

Re-pins the family to its 026 releases - #49

Merged
johnnyt merged 1 commit into
mainfrom
se-a5y-final-repin-hex
Sep 2, 2026
Merged

Re-pins the family to its 026 releases#49
johnnyt merged 1 commit into
mainfrom
se-a5y-final-repin-hex

Conversation

@johnnyt

@johnnyt johnnyt commented Sep 2, 2026

Copy link
Copy Markdown
Member

Why

The examples app is the reference embedder, so it consumes the family from
Hex at the versions that are actually published. Between the campaign-026
upstream landings and the operator's publishes it carried four interim git
pins - the largest set this arm has held at once. All four packages are now
on Hex, so this is the FINAL re-pin for the campaign and the pins retire
together.

What

Dep Was Now Resolved
statifier_persistence git @0749481 ~> 0.5 0.5.0
statifier_oban git @4bf3a7d ~> 0.5 0.5.0
opentelemetry_statifier git @99d7791 ~> 0.3 0.3.0
statifier_blocks git @05f0a4a ~> 0.14 0.14.0

statifier stays ~> 2.4 - campaign 026 cut no new engine release, and
mix.lock still resolves it at 2.4.0. The statifier_blocks swap is in the
Hex arm of statifier_blocks_dep/0 only; the STATIFIER_BLOCKS_PATH escape
hatch is untouched. mix.lock moves by exactly those four entries, with no
transitive drift.

No git: source remains for any family package.
grep -n "github\|git:" mix.exs mix.lock returns four lines and all four are
the asset packages heroicons and daisyui, which were git deps before this
branch and stay so.

Notes

Each release was checked for the seam its pin existed for, against the
fetched package under deps/ rather than inferred from a version number:

  • statifier_persistence 0.5.0 - Driver.dispatch_context/0 carries
    invoke: Invoke.t() (sp-2yx), without which
    StatifierBlocks.Runtime.DurableSubchart cannot reach src; and
    [:statifier_persistence, :run, :step, :start | :stop] is emitted
    (sp-i21, ADR-0009), the span every durable macrostep nests inside.
  • statifier_oban 0.5.0 - [:statifier_oban, :timer, :scheduled] and
    [..., :timer, :fired] are emitted (sob-43q, ADR-0006), the two edges the
    one-trace-graph proof asserts across the timer gap.
  • opentelemetry_statifier 0.3.0 - the sibling halves
    OpentelemetryStatifier.Persistence and OpentelemetryStatifier.Oban both
    ship, which is the whole of ots-ADR-0004's bridge-owned nesting.
  • statifier_blocks 0.14.0 - StatifierBlocks.Runtime.DurableSubchart
    ships.

The four guard tests moved with the arms. Each went from asserting a git
ref in mix.exs plus a {:git, ...} lock line to asserting the Hex
requirement plus a resolved {:hex, ...} lock line at the expected release
line, and each gained a refute lock_line =~ ":git," so a pin quietly coming
back is loud. The requirement alone would pass against a tree still holding
the previous release, which is why the lock half stays.

Sabotage. All four lock assertions were pointed at their real-but-wrong
previous release lines (0.13., 0.4., 0.4., 0.2.) in one run with
mix.lock left alone; all four went red reporting the resolved entry against
the mutated expectation, and the file was reverted from a backup copy. The
notes above each test record it.

Gate: full mix quality green - 263 of 263 tests, 77.9% coverage, Credo
and Dialyzer clean, format clean. Doctor, Sobelow and Gettext are declared
permanently inapplicable to this project. The capstone and persistence suites
pass against the Hex releases with no source change beyond the dep arms.

Linkage ledger: this closes the five active statifier_examples entries

  • the two se-6ag entries (statifier_persistence-1416a7b,
    statifier_blocks-05f0a4a) and the three se-opg entries
    (statifier_persistence-0749481, statifier_oban-4bf3a7d,
    opentelemetry_statifier-99d7791). The conductor edits the ledger; this
    branch does not touch it.

Refs se-a5y

Every statifier-family dep this app carries was on an interim git pin
between an upstream landing and the operator's publish. All four are
now on Hex, so the pins retire together:

  statifier_persistence  @0749481 -> ~> 0.5  (0.5.0)
  statifier_oban         @4bf3a7d -> ~> 0.5  (0.5.0)
  opentelemetry_statifier @99d7791 -> ~> 0.3 (0.3.0)
  statifier_blocks       @05f0a4a -> ~> 0.14 (0.14.0)

Each release carries the seam its pin existed for, checked against the
fetched package rather than inferred: sp 0.5.0 has the `:invoke`
dispatch context and the run-step telemetry, sob 0.5.0 the timer
scheduled/fired events, ots 0.3.0 the Persistence and Oban sibling
setups, sb 0.14.0 `Runtime.DurableSubchart`.

The four mix.exs guard tests move with them, from asserting a git ref
to asserting the Hex requirement plus a resolved lock line, each with
a refute that no git source came back.

Refs: se-a5y
@johnnyt
johnnyt merged commit 73d2682 into main Sep 2, 2026
1 check passed
@johnnyt
johnnyt deleted the se-a5y-final-repin-hex branch September 2, 2026 03:18
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