grid_engine 0.4.0-dev.13 copy "grid_engine: ^0.4.0-dev.13" to clipboard
grid_engine: ^0.4.0-dev.13 copied to clipboard

Tree engine for the_grid — genesis_tree reconciles the running system: build(observed), mount = spawn, unmount = kill.

0.4.0-dev.13 #

  • FIX(sdk,runtime): land the zombie-PR guard on the production path, bound the unwind tail, self-bound the live attach test (tg-b1t8, tg-supq, tg-ejzb) (#517).
  • FIX(runtime): bind teardown reads to writer store (#513).
  • FIX(engine): refuse non-bd-safe result field identifiers before the write (tg-ymcd) (#499).
  • FIX(engine): classify cut-retired step-bead lag as legacyStepCarrierRetired, not unexplained (tg-ul2v) (#516).
  • FIX(engine): bound terminal-write and reservation bursts station-wide (tg-66w8, tg-t4k9) (#515).
  • FIX(status): serve the resident wedge sample (#514).
  • FIX(sdk): refuse incompatible bd store modes (#512).
  • FIX(engine): fail closed on teardown state reads (#509).
  • FEAT(cli,sdk,engine): session void, the ungated operator exit (tg-5snt) (#518).
  • FEAT(trajectory): report G2 shadow diagnostics (#511).

0.4.0-dev.12 #

  • FIX(engine): gate adopted exhausted sessions (#507).
  • FIX(trajectory): refresh P6 heartbeat after resume (#506).
  • FIX(status): derive wedge counts from joined store facts (#498).
  • FIX(rework): require minted successors for readiness holds (#495).
  • FEAT(trajectory): emit G2 molecule and successor shadows (#503).

0.4.0-dev.11 #

  • FIX(gate): resume blocked steps on gate resolve and acknowledged re-arm (#486).
  • FIX(engine): publish closed external dependency targets (#494).
  • FIX(engine): park exhausted persist failures at a gate (#488).
  • FIX(engine): report wedge tuple changes (#487).
  • FIX(engine): qualify persists against the current dependency pass (#484).

0.4.0-dev.10 #

  • FIX(trajectory): retire liveness-lost sessions (#480).
  • FIX(rework): close session and gates before rekey and report receipts (#479).
  • FIX(trajectory): supervise stale P6 tick passes (#476).
  • FIX(admission): release abandoned pre-session reservations (#473).
  • FIX(cli): read effective external project config (#471).
  • FEAT(trajectory): add G2 molecule graph posture and edge delta folding (#478).
  • FEAT(admission): expose the live admission ceiling (#475).
  • FEAT(station): prune closed session graphs on schedule (#474).

0.4.0-dev.9 #

  • Allocation reports are qualified against the host's CURRENT dependency pass, not the pass that created the allocation (#469, tg-adic). genesis_tree invalidates a host's dependency scope on every later dependency pass, and the report sink was a closure over the creating pass's scope, so any step whose process outlived one pass — every spawned agent — had its terminal report dropped silently: the agent finished on disk and the step never completed. The sink now reads the re-stamped scope, and a genuine drop (host unmounted or scope superseded) emits step.reportDropped with mounted/scopeCurrent in the payload instead of vanishing.
  • Floors grid_runtime at ^0.2.1-dev.5, which vends the gate-supersession API the advance corridor now uses (#468).

0.4.0-dev.8 #

  • A post-epoch P1 head miss is held for kHeadMissGrace (90 s) before it enters the gated miss_post_epoch_total (#463). The mint writes the session bead first and appends its head after, so the join's first sighting of every fresh mint was headless by construction and latched into the certificate's cumulative; a head that lands inside the grace now clears it. A terminal session that never had a head — the abandoned-mint shape — is counted under the new reported miss_post_epoch_terminal_total, never into the gated total. The per-pass gauge still counts every sighting.

0.4.0-dev.7 #

  • The gated p2_miss_total no longer counts never-transitioned step nodes (#461). The state store pours a session's whole circuit as pending step beads at mount, and a pending node has no fold row by construction; the pass already gauged it as step_fold_absent but also added it to the certificate's cumulative on the session's first sight, so every fresh mint contributed its circuit minus one (31 per session; 329 on one boot) and the clean row was unreachable on any boot that mints. recordP2Misses takes the structurally-absent share: the per-pass p2_miss gauge keeps the served-cursor population and only the gated total excludes it, on both the rows-empty and the hit path. A transitioned node with no fold row is still a miss.

0.4.0-dev.6 #

  • Explains the open-retired shape in the step pass (#454). Under primary the overlay serves a re-keyed session with the fold head's original bare workBeadId, so the step pass's retired-key skip never fired for it and every node of its legacy step cursor was counted as a p2 miss (measured p2_miss_total 93 on a converged boot). A retired-round session, recognised on the join's map key with the new narrow isRetiredRoundKey (#r<digits>), is now an EXPLAINED miss - step_retired_round_skipped / p2_miss_retired_round_total, beside the miss gauges and never into them - per the ruling the-soak-clean-row-honours-the-open-retired-shape. A #void- key deliberately still counts.

0.4.0-dev.5 #

  • Makes the boot terminal-gate sweep converge. 0.4.0-dev.4 bounded and latched the sweep but could not make it finish: every closed work bead with a linked session re-enters the candidate list on every rebuild, so the same done sessions were re-settled on every build, forever (measured at ~46 gate.autoCloseFailed per minute for 48 minutes against a store holding zero open gates), and that contention pushed every fresh molecule pour past its deadline on first attempt. WorkList now remembers each session whose terminal write succeeded and skips it on later builds; a failed write is retried next build. kTerminalWriteConcurrency drops from 4 to 2, because dolt serialises commits and the bound is per substation (#451).

0.4.0-dev.4 #

  • Fixes the boot terminal-gate write sweep. WorkList fired one unawaited state-store write per terminal session with no concurrency bound, and because the sweep runs from build it re-fired the whole fan-out on every rebuild over sessions that stay terminal precisely because their gate closes are failing. On a store with hundreds of closed sessions the tail of that burst blew the 10 s DoltQueryService deadline, and the failed retirements then cancelled the first mint of every ready bead (session.mintAbandoned), leaving a station UP and ARMED with ready work and nothing mounted. The sweep now drains through kTerminalWriteConcurrency workers and holds one drain at a time, so successive builds extend it instead of duplicating it (#449).

0.4.0-dev.3 #

  • Breaking: the state-store cross-link surface is GONE. src/domain/cross_link.dart (CrossLink, CrossLinkKeys, BlockEdge, crossLinkEdges, projectCrossLinks, crossLinkTypeRefusal, kCrossLinkBlocks, kCrossLinkTargetCloseRule) and src/bridge/block_guard.dart (applyBlockGuard) are deleted and no longer exported; mount_eligibility.dart drops freshCrossLinkReadClause and crossLinkExclusionClause; JoinedSnapshot drops frontierExclusionsByBeadId; StationJoinBridge drops onUnresolvedCrossLink; and configuredBdTypeNames changes shape (#447).
  • Migration: a cross-store blocker is now bd's own external:<project>:<capability> dependency row on the CONSUMER's work bead — read it through the new src/domain/external_dep.dart surface and delete both retired clauses from any composed MountEligibilityPredicate list; grid link migrate converts a store that still holds the inert link receipts.
  • Adds src/domain/bd_type_discovery.dart (bd types --json discovery, so an operator verb can narrow its own scoped read), src/domain/external_dep.dart, src/domain/eligibility_basis_revision.dart, src/domain/worktree_outstanding.dart and src/kernel/admission_barrier.dart — the admission refusal for a candidate that still holds an outstanding worktree (#445, #446).
  • Floors beads_dart at ^0.3.0-dev.2 and grid_runtime at ^0.2.1-dev.2: the external-row read surface and kWorktreeOutstandingClause land in those releases.

0.4.0-dev.2 #

  • Workspace gains an optional baseSha (equality and hash include it) and SourceControl gains baseShaFor(beadId), so the session scope hands a round the provisioned base commit and the committee can pin its pinned-diff base to it (tg-2xdk, #436). Additive; baseSha defaults to null.
  • Publishes the engine changes main has carried unversioned since 0.4.0-dev.1: stranded work in the admission status (#435), the wave-2 cut boundary (#431), open tombstones joined to their work bead (#426), tree context guarded across async gaps (#433), capability host supersession scopes (#425), the slot preserved through rework (#424), work-session liveness coordinated with verdicts (#421) and the lifecycle-driven inputs pattern for allocation (#417).
  • Floors grid_runtime at ^0.2.1-dev.1: the engine uses ReapWorktree, SessionDisciplineStamp and the session discipline keys that grid_runtime 0.2.0 does not export (declared-floor scrub, 2026-09-13).

0.4.0-dev.1 #

  • Breaking: the genesis_tree constraint moves from ^0.3.0 to ^0.4.0, and the private src/seeds/provider.dart copy of the Provider composition layer (Provider, ProviderCreate, ProviderDispose, ProviderScope, ProviderTreeContext) is deleted in favour of the one genesis_tree 0.4.0 publishes (tg-ofpn, #414). Migration: pin genesis_tree: ^0.4.0 beside grid_engine: ^0.4.0-dev.1; any import of package:grid_engine/src/seeds/provider.dart becomes package:genesis_tree/genesis_tree.dart.
  • Published at the dev rung: this wave adopts a new genesis_tree line and every member of the grid_engine / grid_sdk / grid_cli family moves together so a resolved set stays coherent.

0.3.0 #

  • PROMOTED from 0.3.0-rc.25. This is the stable release of the 0.3.0 line; the code is the candidate's, unchanged. Every intra-family dependency constraint is rewritten from its prerelease form to the stable one, because pub refuses a stable package that depends on a prerelease.
  • Consumers on a ^0.3.0-rc.N constraint resolve this automatically: a caret range admits the release above its own prereleases, so no downstream pubspec edit is required to pick it up.

0.3.0-rc.25 #

  • Added: StationAdmissionStatus.zeroAdmissionWaiters, so a caller can see the waiters parked at zero admissions and wake them after a paused release (tg-qwsx, #399).
  • Fixed: the circuit idles during molecule projection lag rather than treating a lagging projection as work (#403).
  • Fixed: a bd pour deadline is classified as a mint void (#402).
  • Fixed: worklist report edges are derived per pass (#401).
  • Fixed: same-store blockers are reevaluated per frontier (#398).

0.3.0-rc.24 #

  • Fixed: the delivery gate is three-way (delivered, commit-only, voided) and fails closed when a root terminal is a sub-circuit step (the shape the delivery decision forbids), so an observe-only or never-delivered round no longer latches grid.outcome=complete and locks the bead out of every later live boot (tg-6cbf, #379).
  • Added: a cross-link bead whose target closed is marked INERT with a flare instead of silently lifting its exclusion (tg-z4zx, #377).
  • Test: the drain seam deadline is wall-clock, so the suite no longer flakes under lane load (tg-q44f, #383).
  • Floors grid_runtime to ^0.2.0-rc.17.

0.3.0-rc.23 #

  • Fixed: a mint refused after admission (the fresh-ready-frontier absence, or any refusal that leaves no session) releases its reservation through the token path, and a dependency-blocked bead is quarantined until it is fresh-ready without evicting a live retired-round session from the substation cap; the re-key closes the retired session exactly once (tg-i3bq, #373).
  • Fixed: consecutive molecule-pour voids are bounded at three with a session.moleculePourExhausted flare, and a pour void no longer resets the create-session failure budget (tg-e3rj, #367).
  • Fixed: federated stale-ready expiry advances on a re-armed deadline timer when every member is silent (tg-718q, #369).
  • Tests: a reconciled in-process capability step is pinned to re-run at the step boundary (tg-e5ak, #371); the drain-seam poll fails loudly and survives parallel load (tg-rxvl, #368).

0.3.0-rc.22 #

  • Added: under TrajectoryDiscipline.cut a decision-bearing append loss HALTS admission through TrajectoryAdmissionHalt (latch-only, cleared by the operator) and opens the station-and-node gate instead of demoting the mirror; under shadow the mirror-compromised latch is unchanged. SessionScope._rearm failure under cut gates once without gate.rearmFailed; WorkList binds the ambient TrajectoryRecorderScope through the availability registry, so a WorkList-mounting root needs the production ProviderScope (tg-ppo5, #364).
  • Added: the epoch-scoped dual-read soak instrument (soakWindowEpoch) and fold-backed mount facts served under dual-read primary; designed session dual-read lags are explained rather than counted as divergence (tg-esha #354, #350, tg-3yw5 #356).
  • Added: admission facts (reservations, mount-eligibility refusals, the cached read-failure set) exposed for StationControl /status (#349).
  • Fixed: a stalled molecule pour is re-armed and exposed instead of idling the scope silently (tg-kuux, #359).
  • Fixed: held session worktrees survive until the work bead closes and are collected on demand (#357, #361).
  • Floors grid_runtime to ^0.2.0-rc.16, where TrajectoryAppendResult was introduced.

0.3.0-rc.21 #

  • Fixed: session dual-read now classifies Q9's positive retired-round/open-head shape as retired-round-open-by-design (counted by retired_round_open_by_design_divergences), a one-pass fold terminal lead as fold-ahead-of-legacy, and a legacy terminal still absent after reconciliation as legacy-terminal-no-fold-terminal; all three are cumulative explained classes rather than unexplained divergences.
  • Fixed: a confirmed MountRefused now binds unless the candidate's linked session is live — non-terminal, unpaused and not a retired #rN round (protectsLiveWork); before, any bead in the mounted set or carrying a retired round kept its reservation and re-minted through a refusal, which is how an un-stamped bead ran during the dual-read soak (tg-g230, #345).
  • Fixed: StationAdmissionReservation carries an identity-compared reservationToken; SessionScope hands it back on an abandoned mint and abandonSessionAttempt releases an unconsumed reservation only for the identical token, so a scope torn down between admission and createSession returns its capacity instead of holding a null-session slot for the epoch (three per boot burst against --max-agents). WorkBead keys its reservation provider on the token so a fresh grant remounts the session subtree deliberately (tg-g230, #345).
  • Floors grid_runtime to ^0.2.0-rc.15, where the reconciled gate close was introduced.

0.3.0-rc.20 #

  • Added: StationAdmissionAuthority — one station-owned service (created and disposed by StationServices) owns capacity reservation, priority-then-bead-id ordering and every durable attempt transition; WorkList derives candidates and SessionScope routes its nine transitions through it. A composition with no ambient StationServices keeps the synchronous offline default (the same eligibility clauses and kDefaultMaxConcurrentWork), a fresh reservation is visible in the flush that derived it, and a bead whose branch is mounted always participates — the mounted-work guard from tg-zat (tg-1u3c, #328).
  • Fixed: a mint that times out on the state store is voided — reap, void metadata, close before release, one backoff invalidation — instead of leaving a counted ghost session; adopt-with-rivals routes through the authority's existing surplus retirement (tg-akc8, #329).
  • Fixed: the leased process dispatcher classifies a StepSignal.failed as Failed.noResult and an untyped result() exception as Failed.invalidResult, so a latched-failed critic step parks at a gate instead of stranding its session (tg-cg94, #330).
  • Fixed: a bead carrying a live session, or already mounted, KEEPS its branch when the content gate refuses it (stale approval, cached read failure); the refusal still flares edge-triggered but no longer disposes the running round — four live rounds were killed this way on lunar epoch 43 (tg-b7ro, #331).
  • Added: pause and resume for live work sessions — the three-valued grid.session.pause_state axis, a PausedSession disposition that blocks mount, and the authority refusing a paused linked session with clause paused (tg-5kb, #334).
  • Added: SessionScope exposes a mintFailed diagnostics flag, set on the first unresolved mint failure and cleared on recovery or rework, for the station status projection (tg-f6r, #335).
  • Fixed: retireVoidedSession returns a typed live-fence refusal that SessionScope settles as inert without charging the mint budget, flaring session.voidRefused once (tg-m3ud, #336).
  • Added: ProcessSessionUpdate.failed carries an optional CapabilityFailureKind; ProcessAllocation._driveChannel threads it into AllocationFailed, and a declared non-result classifies as infra regardless of how long the turn ran while inferred silence is unchanged (tg-bqed, #338).
  • Floors beads_dart to ^0.2.0-rc.10 and grid_runtime to ^0.2.0-rc.13.

0.3.0-rc.19 #

  • Fixed: a store timeout while PARKING a failed orphan pour no longer escapes as an unawaited microtask that kills the resident (exit 255). SessionScopeState._resumeOrphanedPour wraps its _parkFailedMoleculePour await in the same containment the fresh-mint path already had, clears the in-flight guard on either outcome, and flares the park failure by name instead of throwing past runZonedGuarded (tg-j94f, #324).

0.3.0-rc.18 #

  • Mount reconciliation now reports locally owned issue-type and drive-list exclusions through the existing named eligibility flare, turns a throwing eligibility predicate into a refusal instead of aborting the walk, and gives each new refusal one bounded next-event-tick recheck. Rechecks reuse value-equal mounted WorkBead seed identity so unchanged branches do not re-run SessionResolver, while cold round-keyed retired-session evidence now enters the existing stays-mounted reconciliation path. The full-tree missing-eligibility-row fixture is a falsifying regression witness for genesis-7ob; the exact epoch-29 production cause remains unconfirmed until the landed lunar boot.

0.3.0-rc.17 #

  • Floors grid_runtime to ^0.2.0-rc.12 because failure_policy.dart consumes the re-exported StepFailureClass.noResult and StepFailureClass.invalidResult members introduced by grid_trajectory 0.2.0-rc.4; published 0.3.0-rc.15 and 0.3.0-rc.16 remain unchanged.

0.3.0-rc.16 #

  • A bead the store reports ready but the frontier excludes now FLARES the clause: cross-store link exclusions are a composed MountEligibilityPredicate (crossLinkExclusionClause through composeMountEligibility, beside mountAttemptClause), applyBlockGuard reports each block through an onBlocked observation, and work.mountEligibilityRefused re-fires whenever the refusing clause CHANGES rather than once per transition. Priority-then-bead-id admission and the live-session carve-out are preserved and pinned (tg-vdt0, #311).
  • Floors tightened to beads_dart ^0.2.0-rc.8.

0.3.0-rc.15 #

  • Breaking: Failed.nonResult, AllocationFailed.nonResult and isHarnessSilence(nonResult:) are REMOVED with no shim; a capability failure is now the typed CapabilityFailure (CapabilityFailureKind {work, noResult, invalidResult}) carried on the existing Failed/AllocationFailed arms, and each capability declares its own per-step restart policy through SupervisionPolicy (retry budget + backoff; undeclared policies keep the circuit-wide defaults byte-for-byte). A malformed or absent result retries ONLY its own lane and is never graded F (tg-e32f, #309). Migration: replace every Failed.nonResult(...) / AllocationFailed.nonResult(...) with the typed failure and, where a capability needs a lane-specific budget, declare supervisionPolicy; power_station's grid_assets committee.dart carries six such call sites and migrates in pow-dzc — do not floor a consumer on this rc before that lands.

0.3.0-rc.14 #

  • Added: SessionLedgerMetricsProjection.cacheTokens (CacheTokenTotals{cacheRead, cacheCreate, uncachedInput}) and landedDeliveries (LandedDeliveryTotals{landedCost, landedCount}) — the component totals behind cacheHitRatio and costPerLandedDelivery, so a multi-store consumer can merge projections by weighted sum instead of averaging averages; the two scalars are unchanged and derived from the records (tg-mws0, #307).

0.3.0-rc.13 #

  • Ready work is re-minted after a terminal session closes: linked session rows are ordered deterministically, surplus dead keys retire through the existing void path, and every blocking terminal is surfaced; rework selects open sessions without changing its park predicate (tg-83k1, #300).
  • Adopts grid_runtime 0.2.0-rc.11 (the GitOps work-tree-root guard): the engine fakes answer the root probe without recording it (tg-amwa, #302).
  • Floors tightened to grid_runtime ^0.2.0-rc.11.

0.3.0-rc.12 #

  • Silent, artifact-less harness exits (a usage window running out, a network refusal) classify as infra: the restart budget is spent with backoff, then the round opens a gate naming the throttle and flares harness.throttled with the tail of the agent's output — never a gateless failed strand (tg-mbeh, #294; shipped in this rc after the tag was cut from main).
  • Breaking: process groups are supervised as groups and exit status is preserved — SessionOrphaned is a new RuntimeEvent variant (emitted once, NOT terminal: the group stays supervised until it empties or the bounded grace elapses and it is signalled), so exhaustive switches over RuntimeEvent need an arm (tg-8kye, #290; engine consumes the new event). Migration: add SessionOrphaned() to every switch (event); power_station#195 is the consumer fix.
  • Floors tightened to grid_runtime ^0.2.0-rc.10, grid_trajectory ^0.2.0-rc.1.

0.3.0-rc.11 #

  • Breaking: StationKernel is deleted; runGrid is the station's single flush coordinator and now carries the tg-60n fail-closed flush guard (#284). Migration: nothing constructs StationKernel in the org — drop any import of it and call runGrid (grid_sdk run_grid.dart); see decisions/2026-09-02-run-grid-is-the-single-flush-coordinator.
  • Foreign dependency rows (a bd dep naming another store's prefix) are refused loudly instead of silently mis-linking; cross-store edges are link beads (tg-mspw, #283).
  • Pending work is admitted by priority, then bead id, so a P0 never waits behind alphabetically earlier P2s (tg-lohr, #279).
  • Floors tightened to beads_dart ^0.2.0-rc.7 and grid_runtime ^0.2.0-rc.9.

0.3.0-rc.10 #

  • Breaking: adopts genesis_tree 0.3.0 — InheritedBranch.addDependent and TreeContext.dependOnInheritedSeedOfExactType gain {Object? aspect}, and the engine's Provider / registry overrides and FakeTreeContext forward it (#260). Migration: bump genesis_tree to ^0.3.0 and add the aspect parameter to any addDependent / dependOnInheritedSeedOfExactType override; callers that pass no aspect are unchanged.
  • Dual-read: pre-transition step fold absences are classified rather than reported as unexplained divergences (#258); session/step dual-read divergences carry a classified cause (#254).
  • Tests pin leased protocol-event completion (#257).

0.3.0-rc.9 #

  • The trajectory dual-read surfaces (tg-zfek, cut-wiring C1–C4): trajectory_views declares the fold READ interfaces and the winner rule in the engine's own domain layer — grid_sdk implements them over grid_trajectory's row types, so the engine gains no dependency and no SQL client enters its transitive set. Adds the session-axis pass (dual_read_pass: the overlay and its monotone guard, the comparator, lag/adjudication, the one escalation rule) and the step-axis pass (step_dual_read_pass: the collapse rule, the shared effectiveStepCursor, the three step-axis protections), plus the trajectory_scope ambient value (#245, #250).
  • ProcessSession: a protocol-neutral session contract over lease-produced allocations, so a supervised long-lived process is driven by bytes and its outcome derived from structured updates; the legacy dispatcher is retained for one-turn capabilities (#246).
  • Gate-rearm observation: successor step rounds are derived from durable closed-gate history and scoped to their structural step incarnation, and a missing running transition is reconstructed when successful completion proves the in-process attempt ran (#247).
  • Historical sessions are fenced with an explicit legacy outcome on the completed-disposition latch; unmarked dead-key recovery is preserved (#232).

0.3.0-rc.8 #

  • CompletionContract.artifactDurability: a capability declaring it is not complete — cached, leased, or live — until its artifact is durably present; an artifactless completion is UNRESOLVED, never 'finished' (#226).
  • Rework's replacement mint is decoupled from gate cleanup: supersession is applied before the superseded round's gate auto-close, and a failed close flares without eating the fresh round (#227).

0.3.0-rc.7 #

  • ServiceBundle.derive(): a total derivation factory with an all-required private constructor — adding a bundle field is now a compile error at every derivation site instead of a silently dropped field (#217).
  • WedgeMonitor.pollSnapshot exposes the wedge classification over one captured join for coherent status projection (#221).
  • Live sessions settle when their work bead closes (#215); molecule reap participates in topological ordering (#216).

0.3.0-rc.6 #

  • A dropped state-persist now gets a bounded, durable consequence: the failure routes into the supervised-restart writer (persisted restartCount + backoff cooldown; circuit-break + escalation at exhaustion). Kills the unbounded 1 Hz re-derive that grew one store by gigabytes (#207).
  • Molecule step graphs are collected before session close, and externally closed sessions replay their teardown at boot (#206, #208).
  • An exhausted successor mint parks a gate instead of abandoning the molecule (#209); every post-retire abandoned mint flares, LOUD or GONE (#210).
  • up warns at boot when the state store's types.custom is missing engine types — the misconfiguration that silently stranded three molecules (#211).
  • Floors tightened for train coherence: grid_runtime ^0.2.0-rc.4, beads_dart ^0.2.0-rc.4.

0.3.0-rc.5 #

  • Fixes 0.3.0-rc.4, which DOES NOT COMPILE against its own declared dependencies. rc.4 allowed grid_runtime: ^0.2.0-rc.1, but its SessionScope/WorkList reference StationBeadWriter.closeOpenGatesForTerminal, GateCloseCause and GateSweepSessionDisposition, which first ship in grid_runtime 0.2.0-rc.3. The constraint is tightened to ^0.2.0-rc.3. Do not use 0.3.0-rc.4.

0.3.0-rc.4 #

  • Breaking: operatorRulingMetadata gains a REQUIRED evidenceSession named parameter. Migration: pass the session id whose artifacts the ruling is evidenced by — operatorRulingMetadata(nodePath, grade: g, rationale: r, evidenceSession: sessionId). Rulings are now scoped to the generation they addressed, so a prior round's ruling can no longer merge into a fresh round's identical node path (tg-04tj).
  • The rework cap counts only rounds that reached a VERDICT: a spec-readiness HOLD, where no specify agent ran and no committee graded, no longer spends budget (tg-04tj, completing tg-9q58).
  • MountEligibilityPredicate / MountEligibilityDecision (MountEligible / MountRefused): an injectable predicate consulted at the mount boundary, with edge-triggered work.mountEligibilityRefused / work.mountEligibilityRestored flares naming the refused clause. ServiceBundle gains mountEligibility. The engine supplies the SEAM only — concrete clauses come from the composing assets pack (tg-8900).
  • Route verdicts persist through CapabilityHostState._persistAdvance / _persistEscalate so a round's verdict evidence is durable (tg-04tj).

0.3.0-rc.3 #

  • Breaking: the kMaxReworkRounds budget now counts only rounds that reached a durable verdict; verdict-less infrastructure losses retain history but do not spend rework budget (tg-9q58).
  • Breaking (tg-1fa2.5): the provider layer — Provider<T> is a MOUNTED seed (SingleChildStatefulSeed): create: runs once per mount (tree-owned, tree-disposed), .value adopts without ownership; ProviderScope is the availability registry (a watch<T>() miss parks the dependent and a later provider mount rebuilds it); read<T>() never registers. Kind is fixed for a branch's lifetime — both create/value flips throw.

0.3.0-rc.2 #

  • A failed molecule pour FLARES (session.moleculePourFailed) and parks the session at a durable gate (tg-aec) — both the fresh-mint and adopted-orphan paths; the silent inert-session class is closed.
  • FederatedSnapshotSource judges ready-staleness by AGE (readyStaleAge) from the live source heartbeat, with rising-edge sync.memberStaleByAge/sync.memberRecovered flares (tg-zd4v).
  • The wedge alarm samples LAST and ALWAYS in StationDriver.afterFlush — a throwing scan can no longer silence the stall detector (tg-60n).
  • A throwing rebuild no longer decapitates the flush tick (tg-60n, #154).

0.3.0-rc.1 #

  • Breaking: tracks beads_dart 0.2.0-rc.1 and grid_runtime 0.2.0-rc.1 — the bd export retirement and StationBeadWriter(reader:). No engine API change of its own; the constraint bump is the breaking part for resolvers.
  • Changed: lifecycle reads are observed through the probe-reader seam.

0.2.0 #

  • Breaking: diagnostics ride the genesis_foundation substrate — the local Diagnosable mixin and DiagnosticsBuilder class are retired in favor of foundation's Diagnosticable/DiagnosticsBuilder (a GridDiagnosticable marker and the typed addTyped adapter remain). Seed hooks override debugFillProperties(DiagnosticsBuilder).
  • State-owned cross-repo link beads gate the ready frontier (fail-closed).

0.1.2 #

  • Family coherence release: step results filter by active incarnation (live route joins, the_grid#139); current session-scope surface.

0.1.1 #

  • Every circuit step now mounts as a tree node (the_grid #105).
  • Fixed: rework mint gated on fresh readiness; rework remint eligibility derived from snapshots; circuit round threaded into capability args; derived rework caps parked at the route gate (the_grid #107, #116, #118, #119).

0.1.0 #

  • Initial release: genesis_tree-based tree engine reconciling the running system (build(observed), mount = spawn, unmount = kill).
0
likes
150
points
3.93k
downloads

Documentation

API reference

Publisher

verified publishermemento.engineering

Weekly Downloads

Tree engine for the_grid — genesis_tree reconciles the running system: build(observed), mount = spawn, unmount = kill.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

beads_dart, freezed_annotation, genesis_foundation, genesis_tree, grid_runtime, json_annotation, meta, path, state_notifier

More

Packages that depend on grid_engine