Skip to content

Version Packages - #126

Merged
SandroMaglione merged 1 commit into
mainfrom
changeset-release/main
Aug 17, 2026
Merged

Version Packages#126
SandroMaglione merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@typeonce/effect-machine@0.14.0

Minor Changes

  • 4554c4d: Make MachineTest.coverage report transition definitions and their exact branches separately. Read definition coverage through coverage.transitions.definitions and conditional branch coverage through coverage.transitions.branches.

    Replace the targetBounds verification law group with definitions. The new laws validate the declared startup root, transition registration, retained branchIndex, and the selected branch's exact target kind and scope.

  • a4cd309: Add exact transitionCoverage to MachineTest.Exploration. Coverage includes startup and every concretely planned event, including state-limit candidates, while unplanned depth- and transition-limit frontiers remain misses.

  • 324ae69: Retain exact static and runtime transition evidence for testing and visualization. Transition branch inspection now includes the selected target kind and scope, retained planner transitions identify the zero-based branch that executed, and Machine.initialDefinition exposes the root startup selection without executing its resolver.

    Use branchIndex to associate a retained transition with the corresponding entry in Machine.transitionDefinitions(machine).branches. Direct transitions use index 0; conditional cases retain their declaration index and otherwise follows the final case.

  • 2c67924: Require Machine.transition for every machine transition and capture each possible target as static machine topology. Direct transitions declare target and resolve; conditional transitions declare titled cases whose when functions return Option, plus an explicit otherwise branch. The selected target builder and conditional match value are inferred in each resolver.

    Initial state construction now uses the same target and resolve shape, restricted to the machine's declared initial state. Replace process logic previously created with Machine.transition by Machine.logic, and replace function handlers, target upper-bound lists, and States.initial construction with the explicit transition and initial target selectors.

  • 944cdb5: Allow conditional Machine.transition definitions to infer any number of heterogeneous cases. Define cases with its locally supplied branch constructor so each predicate match and selected target remain exact in the corresponding resolver:

    Machine.transition({
      cases: (branch) => [
        branch({
          title: "cached",
          when: ({ event }) => event.cached,
          target: (to) => to.full.Ready(),
          resolve: ({ match, target }) => target.from({ data: match })
        })
      ],
      otherwise: {
        target: (to) => to.full.Loading(),
        resolve: ({ target }) => target.from()
      }
    })

    Replace each object previously written directly in the cases array with branch({ ... }) inside the cases: (branch) => [...] factory. Direct transitions and otherwise keep their existing shape.

  • 64094df: Make MachineTest.verify accept startup roots reached through exact retained initial-choice routes and reject retained targets whose choice, initial, or history resolution is inconsistent with their selected static branch. Resolution failures are reported as definitions.resolution.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 4 times, most recently from d469a2f to 9856ec2 Compare August 17, 2026 09:33
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 9856ec2 to a8e5e04 Compare August 17, 2026 09:43
@SandroMaglione
SandroMaglione merged commit 6887b70 into main Aug 17, 2026
13 checks passed
@SandroMaglione
SandroMaglione deleted the changeset-release/main branch August 17, 2026 09:54
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