grid_engine 0.3.0-rc.16
grid_engine: ^0.3.0-rc.16 copied to clipboard
Tree engine for the_grid — genesis_tree reconciles the running system: build(observed), mount = spawn, unmount = kill.
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(crossLinkExclusionClausethroughcomposeMountEligibility, besidemountAttemptClause),applyBlockGuardreports each block through anonBlockedobservation, andwork.mountEligibilityRefusedre-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.nonResultandisHarnessSilence(nonResult:)are REMOVED with no shim; a capability failure is now the typedCapabilityFailure(CapabilityFailureKind {work, noResult, invalidResult}) carried on the existingFailed/AllocationFailedarms, and each capability declares its own per-step restart policy throughSupervisionPolicy(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 everyFailed.nonResult(...)/AllocationFailed.nonResult(...)with the typed failure and, where a capability needs a lane-specific budget, declaresupervisionPolicy; power_station'sgrid_assetscommittee.dartcarries 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}) andlandedDeliveries(LandedDeliveryTotals{landedCost, landedCount}) — the component totals behindcacheHitRatioandcostPerLandedDelivery, 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 flaresharness.throttledwith the tail of the agent's output — never a gatelessfailedstrand (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 —
SessionOrphanedis a newRuntimeEventvariant (emitted once, NOT terminal: the group stays supervised until it empties or the bounded grace elapses and it is signalled), so exhaustive switches overRuntimeEventneed an arm (tg-8kye, #290; engine consumes the new event). Migration: addSessionOrphaned()to everyswitch (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:
StationKernelis deleted;runGridis the station's single flush coordinator and now carries the tg-60n fail-closed flush guard (#284). Migration: nothing constructsStationKernelin the org — drop any import of it and callrunGrid(grid_sdkrun_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.7andgrid_runtime ^0.2.0-rc.9.
0.3.0-rc.10 #
- Breaking: adopts genesis_tree 0.3.0 —
InheritedBranch.addDependentandTreeContext.dependOnInheritedSeedOfExactTypegain{Object? aspect}, and the engine'sProvider/ registry overrides andFakeTreeContextforward it (#260). Migration: bumpgenesis_treeto^0.3.0and add theaspectparameter to anyaddDependent/dependOnInheritedSeedOfExactTypeoverride; 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_viewsdeclares 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 sharedeffectiveStepCursor, the three step-axis protections), plus thetrajectory_scopeambient 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.pollSnapshotexposes 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).
upwarns at boot when the state store'stypes.customis 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 itsSessionScope/WorkListreferenceStationBeadWriter.closeOpenGatesForTerminal,GateCloseCauseandGateSweepSessionDisposition, 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:
operatorRulingMetadatagains a REQUIREDevidenceSessionnamed 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-triggeredwork.mountEligibilityRefused/work.mountEligibilityRestoredflares naming the refused clause.ServiceBundlegainsmountEligibility. The engine supplies the SEAM only — concrete clauses come from the composing assets pack (tg-8900).- Route verdicts persist through
CapabilityHostState._persistAdvance/_persistEscalateso a round's verdict evidence is durable (tg-04tj).
0.3.0-rc.3 #
- Breaking: the
kMaxReworkRoundsbudget 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),.valueadopts without ownership;ProviderScopeis the availability registry (awatch<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. FederatedSnapshotSourcejudges ready-staleness by AGE (readyStaleAge) from the live source heartbeat, with rising-edgesync.memberStaleByAge/sync.memberRecoveredflares (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 exportretirement andStationBeadWriter(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_foundationsubstrate — the localDiagnosablemixin andDiagnosticsBuilderclass are retired in favor of foundation'sDiagnosticable/DiagnosticsBuilder(aGridDiagnosticablemarker and the typedaddTypedadapter remain). Seed hooks overridedebugFillProperties(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).