grid_assets 0.6.0-rc.21
grid_assets: ^0.6.0-rc.21 copied to clipboard
The_grid's opinion assets: the agent/verify/land Capability impls, the code circuit, and the git SourceControl, extracted out of the opinion-free engine.
0.6.0-rc.21 #
- Fixed: the discovery decision-surface lookup selects bead-named records FIRST and raises
kMaxDecisionEntriesPerSurfacefrom 12 to 96, so a bead citing decisions on an 81-entry surface no longer holds at discovery on a clipped index; more than 96 named records is a FAILED surface, not a silent clip. Explicit references are only canonicalregister#slugtokens under a register the gathered index contains, orADR-nnnnids; a bare legacyA<n>token never fails a surface (it only orders), and a canonical-shaped token under an unknown register is prose.DecisionIndexSourcegains the requestingBeadas a third positional argument (pow-mrg8, #257). - Added: the interactive
refinerrole definition and its seat assets, vended with the baseline pack (pow-7nmo, #254). - Added: design round classification and verification — the spec round records whether a design is a verify or an infer round and the committee reads it (#251); the verify inference wiring is pinned by test (#253).
- Fixed:
FormatCleanCapabilityclassifies a dirty-format verdict aswork, neverinfra(#250). - Fixed: the agent capability reports a provider capacity refusal as a typed non-result instead of an end turn (#248).
- Test: token-keyed
WorkBeadpersistence is asserted (#249).
0.6.0-rc.20 #
- Fixed:
FormatCleanCapabilityreports aDartFormatDirtyverdict asCapabilityFailureKind.workand declares asupervisionPolicythat spends ONE deterministic attempt on it before parking at a gate whose reason names the would-change files. A formatter that ran and refused is substantive work, not an environment refusal: on lunar epoch 51 the untyped non-result was classedinfra, counted five silent harness exits, flaredharness.throttledand hid the offending file under the flare'sunderlyingfield (pow-7jvc). An undecidable probe — missing or unreadable pinned scope, a formatter that would not launch — stays a non-result on the circuit's own budget. - Fixed:
MountEligibilityAssetsexpires a cached fresh-read failure afterkMountEligibilityReadRetryBackoff(30 s, doubling per consecutive failure of the same bead, capped at 5 min; a seed value with an injected clock) and re-arms the read on the next evaluation, and flares bd's ownBdTimeoutExceptionthroughkMountEligibilityReadTimeoutFlare; on lunar epoch 43, 280 of 500 refusals were boot-burst read failures cached until the bead was edited (pow-l73v, #246). - Fixed: the discovery lens freshness fence carries the session id, so a re-minted session sweeps the PRIOR session's lens reports and waits for its own instead of joining a stale verdict; a missing
SessionHandlefails fast (pow-l2r5, #245). - Added:
HarnessProvidermountsInheritedSeed<SiteBinding>above the availability seed and runsEnvironmentRegistry.validateas the ONE boot-eager gate, whose site-binding tail now covers only the environments an arming reaches plus custom entries — a bare station with builtinpiunbound still boots, an armed environment with a missing endpoint refuses withSiteBindingError(pow-2eg, #244). - Added: the committee selector's Ok payload and the shadow route's Advance payload persist the selection run and receipt (17 and 34 reserved keys; the six pre-existing keys byte-identical) (pow-1nl.1.3, #242).
- Fixed: decision lookups render as
cd '<grid home>' && <verb>so critic lanes and the architect can run the roster-mode decisions index from a worktree (pow-96ei, #243). - Floors
beads_dartto^0.2.0-rc.10,grid_engineto^0.3.0-rc.20,grid_runtimeto^0.2.0-rc.13andgrid_sdkto^0.3.0-rc.16. - Tests: the PDR §7 (e) spawn-in-flight probe admits its bead through
StationAdmissionAuthoritybefore mounting theSessionScopedirectly, and answers grid_engine rc.20's mount-attempt read and record before the gated session create — the exportedGatedCreateBdRunnerstill answersbd listwith an object, which rc.20's mint prelude cannot parse.
0.6.0-rc.19 #
- Fixed: the mount gate no longer compares a bound approval stamp's revision against a fresh filing evaluation. rc.18 (pow-9rah) bound
grid.approved_revover the bead's design, acceptance criteria and notes and refused a mismatch asapproval: stale; the station's own specify step writes design and acceptance on every first round and rework appends notes, so every bead approved on rc.18 un-approved itself at its own spec write and the engine's content gate disposed the running round (lunar epoch 43, 2026-09-05: four of four fresh rounds, only legacy raw-sha stamps survived).mountEligibilityFindingsstill requires a COMPLETE stamp of either form and still acceptsevaluatedApprovalRevision, which is recorded but not enforced; the approve verb keeps writing the bound revision for the audit trail. Re-instating a comparison over a basis the station does not itself rewrite is pow-lr8n (governor patch, precedent pow-gcx9).
0.6.0-rc.18 #
- Fixed: the explore-decision lane renders a decision entry's body ONCE however many roster-qualified surfaces cite it — the first surface carries the body, every later surface cites the entry by identity as "also governs this surface". The roster-mode decisions index answers every surface of a repo with the same entries, so a bead touching 12 power_station surfaces carried 12 copies of each (550 KB for 12 distinct bodies on pow-ed1c) and the cheap lens died
prompt_too_long, holding the round on a failed lane. Per-surface lookup records and the evidence-id profile (rc.17, pow-bvui) are unchanged (pow-alwh, #239).
0.6.0-rc.17 #
- Fixed:
DiscoveryAnchors.fromJsonno longer refuses the gather the deterministic gather itself writes — the colliding-profile guard counted a decision ENTRY once per roster-qualified surface whileevidenceIdscollapsed the same body cited under several lookups, so on rc.16 (the first release whose decision lookups resolve) every discovery round with decision entries decoded to an empty gather and held atdiscovery-routeon `gather:round -1 / gather:workBeadId ``. Decision entry ids are counted distinct; a duplicated lookup id or a body id reused by a foreign record still refuses (pow-bvui, #237). - Fixed:
MountEligibilityAssetsbounds its fresh read —kMountEligibilityReadDeadline(60s) wraps thebd.queryin_readFresh, a timeout is routed through the existing failure cache as a refused decision naming the bead, store root and deadline, and is flared by name (kMountEligibilityReadTimeoutFlare) so the operator can see WHICH store's read hangs; genesis and decisions beads sat atfresh mount-eligibility read pendingforever across nine lunar boots (pow-7i3k, #236). - Fixed: the work bead's OWN citation fields (description, design, acceptance, notes) are carried WHOLE into the gather —
boundDiscoveryEvidencegainstruncateSnippet(default true; onlyBeadFieldEvidenceopts out), so a description overkMaxDiscoverySnippetCharsno longer holds its own discovery round as TRUNCATED; foreign evidence keeps the bound (pow-xfm0, #235).
0.6.0-rc.16 #
- Fixed: the shelled decision lookup accepts the decisions index envelope
spec: 2besidespec: 1(_acceptedDecisionIndexSpecs); against decisions_grid_assets 0.2.1 every explore-decision surface FAILED on rc.13–rc.15 and the round held atdiscovery-route(pow-rokz, #231). - Fixed: approval receipts are complete and bound to the filing basis —
ApprovalStamp.tryParserequires a nonblankgrid.approved_by, a UTCgrid.approved_at, and a recognizedgrid.approved_rev(a legacy raw git sha, or thefiling:v1:sha256:digest the approve verb now writes over the bead's filing contract); a lonegrid.approved_atno longer mounts, and mount eligibility re-checks the fresh bead against the stamped revision (pow-9rah, #232).
0.6.0-rc.15 #
- Fixed: the discovery gather no longer treats a record clipped at its OWN bound (
kMaxDiscoverySnippetChars,kMaxHistoryCommits) or a clipped anchor/symbol extraction (kMaxAnchors) as a deterministic gap — every mature surface exceeds those bounds, and the override held every round atdiscovery-routewhile the lenses reported zero gaps. A clip is rendered as context the lens narrates; onlyfailedoverrides a lens, and only the lens's own insufficient-evidence outcome holds the round on a clip.gatherHistoryrecordsunavailableover an empty resolved path list instead of logging the whole repository (pow-gcx9, #225).
0.6.0-rc.14 #
- Added: the
grid:block accepts an optionalteaches:sequence per skill asset (the deterministic commands its prose teaches), parsed byparseGridBlock, emitted by the registrant generator only when non-empty, and authored for the baseline skill/command pairs; unclaimed packs generate byte-identical output. Floorsgrid_sdk ^0.3.0-rc.15forGridAssetDefinition.teaches(pow-prw4, #228). - Fixed: the discovery gather's roster decision lookup qualifies surfaces from the SESSION's substation (
metadata['rig']is a session-bead field no work bead carries), never shells a<repo>-prefixed surface (recordedunavailableinstead), and runs the station's verb from the composing grid home (overlayArgs['gridHome'] ?? devRoot) rather than the work worktree — every explore-decision lens held its round on rc.12/rc.13 (pow-974y, #226). Stations pass'gridHome'beside'runner'inbuildCodeRegistry(overlayArgs:). - Fixed:
--state-rooton the filing verbs takes the GRID HOME its help names — the resolver appends.gridwhen the root holds one, accepts a state store unchanged, and refuses a root holding neither child loudly; an unconsulted cross-store edge is reported as UNCHECKED, never as missing (pow-ixag, #227). - Fixed: the code-validation gating lane preserves the validation failure output the way land/revalidate does — the shared captured-output leaf recognizes
[E]besideError:/Failed to load, and the full log lands in.grid/critique/code-validation.log(#224).
0.6.0-rc.13 #
- Breaking: asset availability is resolved ONCE —
resolveGridAssetsover a repository-observedSubstationFactsSnapshotdefines the tree's selected definitions and BOTH overlay writers (assets install,OverlayMaterializer) and the landing pre-rebase guard consume that same resolution;--checkreports drift. Un-migrated stations without facts keep the pre-resolution path (pow-4peu, #216). Migration: compose a station's assets throughresolveGridAssets/GridAssetRegistry— a writer must never build a second catalog;github_grid_assets ^0.1.0-rc.13carries the matchingSubstationSeed. - Breaking:
operatorSkillIdsis a FUNCTION over the station-resolvedGridAssetRegistry(operatorSkillIds(registry)), not a getter over this package's own pack — a downstream pack'saudience: humandeclaration is now withheld from a build agent's brief (pow-vtts, #218). Migration: pass the resolved registry;vendedSkillIdsis unchanged. - Added:
prime --hook-json(echoesbd primeand injects an operator seat's newest handoff on SessionStart sources startup/clear/compact — never resume) andseat <name>(the harness-neutral operator-seat launcher composed overAgentEnvironment); five nullable seat declarations onAgentEnvironment(drivenArgs,roleAsset,roleArgs,memoryDirArgs,primeMode) — the driven-only flag moved fromargstodrivenArgs, one-turn argv byte-identical. The vended station overlay's SessionStart hook is now{{runner}} prime --hook-json; a station adopting this rc MUST composePrimeCommand/SeatCommandinto its runner (pow-lv6t, #220; space_station space-31x). - Added: SHADOW stage-specific committee selection —
CommitteeSelectionPolicy(eight deterministic rules over the round-stamped discovery evidence / pinned diff, a closed classifier allowlist,fullFallbackon a non-result),CommitteeSelectionCapabilityas a dependency of NOTHING,CommitteeShadowRouteCapabilitywrapping every route, typed JSON receipts with lane input digests and counterfactual totals; the full committees stay authoritative. Depends ongrid_trajectory ^0.2.0-rc.4for its report vocabulary (GateDisposition,LaneReport,UsageSample) — value types only (pow-1nl.1.1, #222). - Added: usage cost is DERIVED from a declared per-model price table (
ModelPriceTable,kUsageModelPrices, keyed by the ladder's model ids) when a harness reports tokens but nototal_cost_usd(codex), stampedUsageCostSource.derivedvsreported; an unknown model keeps its tokens, reports null cost and flares (pow-zetn, #221). - Fixed: the land/revalidate reason leads with the Dart front-end's
Error:/Failed to loadlines (deduplicated) before the tail and writes the full output to.grid/critique/revalidate.log(pow-gvfx, #217).
0.6.0-rc.12 #
- Breaking: the vended asset surface is DECLARED in the package's own
pubspec.yamlgrid:block and CODEGEN'd into a typed Dart registrant (GeneratedGridAssetRegistrant); the hand-maintainedkVendedSkills/kOperatorSkillsmirrors are retired andextension/mcp/config.yamlis generated from the same block (pow-u6hj, #205). Migration: a downstream pack that listed its assets in the const mirrors declares them in itsgrid:block and runs the generator (dart run tool/generate_grid_assets.dart); nothing else changes for stations that only compose the vended packs. - Breaking (floor):
grid_engine ^0.3.0-rc.15— critic verdict failures ride the typedCapabilityFailureseam (CapabilityFailureKind.invalidResult),CriticCapabilitydeclares its ownSupervisionPolicy(retry its lane only, never grade F, gate on exhaustion), and the sixFailed.nonResultcall sites are gone (pow-dzc, #214). - Added: the station Dart registrant is generated from the resolved package closure — every dependency's
grid:block is unioned once (pow-bafc, #212). - Added: discovery evidence is gathered ONCE into a bounded, round-stamped
DiscoveryDossierwith provenance and explicit truncation, and each inference lane receives a capability-specific projection; the decision-index gather runs through the composed decisions command or the station's runner, and an ABSENT tool isunavailable, never a gap (pow-ri9c, #208). - Added:
parseSpecContract— the typed record grammar for specs (AC-n ids, labeled steps, exactAC-n -> command -> expectedvalidation mappings) measured in SHADOW byspec_contract_shadow.dart; the five live presence checks remain the A/F gate (pow-5ufz, #207). - Added:
format-clean, a deterministic code-review step before the critics that gates unformatted Dart naming the files (pow-jicn, #209). - Added: PR-description inference receives a bounded (16 KiB) deterministic change manifest — commit subjects, diffstat, change shape, bead identity, receipts — instead of the raw diff (pow-c7lb, #203).
- Fixed: the decision-alignment brief renders the roster lookup from the STATION's runner (
overlayArgs['runner']) and the rubric uses the{{runner}}hole — no more hardcodedspace decisions index(pow-q7ty, #213). - Floors tightened to
dart_grid_assets ^0.1.2.
0.6.0-rc.11 #
- Fixed:
SpecifyCapabilityis harness-neutral — it routes the spec seat through itsAgentSessionAdapter(a shared_resolveRunfeeds bothspawnand a newcreateSession), and the ACP bridge now reports its child's real exit status and a bounded stderr tail instead of a bare "output closed".landReasonTail,kRevalidateReasonTailCharsandplanOutputWithoutPubAdvicemove verbatim from the landing circuit to a zero-importsrc/agent/captured_output.dartleaf (same names, same behaviour, newly exported from the barrel) beside the newcapturedOutputReasonassembler;usageEnvelopeJson/writeUsageEnveloperender FT-2 telemetry a channel harness has no wrapper to produce, andAgentSessionAdapter.launchgains an optionalusageOutto carry the path across the seam (pow-39tl, #197). - Changed: the vended
governoragent overlay states the seat's COST posture — ranked under throughput, with the model/effort calls it implies — pinned bygovernor_posture_test.dart(pow-8dwh, #198). - Added: the
/handoffritual vends as an operator-audience skill on BOTH overlay legs (station_overlay/claude/skills/handoff/andstation_overlay/agents/skills/handoff/), with the MCPconfig.yamlentry and theasset_loaderwiring that carries it (pow-pry0, #199). - Fixed: scaffold restore MERGES directories instead of clobbering them, and a failed provision UNWINDS what it created rather than leaving a half-cut worktree behind — the shape that wedged fresh worktrees on a scaffold collision (pow-gnrm, #200).
- Fixed: the discovery circuit fences lens reports on ROUND. Every lens prompt
stamps
roundbesidenodePathand one shared fence reads both on every read path, the round-stamp parser is promoted out ofcommittee.dartas the sharedstampedRound,AnchorsCapability's blanket.grid/discoverywipe becomes a round-awaresweepStaleDiscovery, and the route join classifies an artifact-less lane (decided-with-no-artifact vs. merely LATE) instead of dropping it (pow-3yo, #202).
0.6.0-rc.10 #
- Fixed:
AgentSession.onRuntimeEventhandlesRuntimeEvent.sessionOrphaned. The arm is an OBSERVATION, not a state change: it flaresagent.sessionOrphaned(sessionId,pgid,memberCount) on the injectedExplorationTransportand returns, so the session stays live and supervised and theExited/Diedafter the provider's bounded grace is still the terminal.AgentSessiongains an optionaltransportparameter, wired inAgentCapability.createSessionfrom the ambientServiceBundle.transport; absent means no flares, never a failure. The switch stays exhaustive with no default arm, so the next lifecycle variant is caught the same way. - Fixed: this pack's three
ProcessGroupControllerfakes implement thegroupMembers(pgid)member the same upstream change added, so the package analyzes and tests clean again. - Breaking (floor):
grid_runtimeis floored at^0.2.0-rc.10. A single source cannot be exhaustive overRuntimeEventunder both rc.9 (noSessionOrphaned) and rc.10 (with it), so this pack now requires the candidate that carries the variant and ships with that wave.
0.6.0-rc.9 #
- Added: the typed-seat arming MECHANISM is vended —
AgentArming(the pure per-seat VALUE),TypedEnvironmentProvider(the ONE seed both the station rung and the per-substation rung mount) andSeatEnvironments(the offline projection of all four resolutions at a point in the tree) now ship fromlib/src/agent/seat_environments.dart, beside the seat vocabulary they wrap.AgentArmingis the typed-seat shape: four typed seats and no role rung. A composing station keeps its own named environments and ladders: mechanism is vended, posture is not.
0.6.0-rc.8 #
- Fixed: the
filingverb reads the grid home's cross-store link beads. It gains--state-root <path>with the same injected defaultapprovecarries, and both verbs now register and resolve it through one seam (lib/src/filing/state_root_option.dart:kStateRootOption,kStateRootHelp,noStateRoot,addStateRootOption,resolveStateRoot) — a blocker wired by an open link bead used to passapproveand failfiling. The named-blocker parser also tightened: a blocker is DECLARED by a segment that OPENS withBlocked by/Blocked on/Depends on(a mid-sentence mention declares nothing), and a<prefix>-<tail>token is a bead id only when its prefix is known or its tail carries a digit, socross-storeis no longer reported as a missing blocker. - Breaking: approval IS the
grid.approved_*stamp.mountEligibilityFindingsno longer reads thegrid.approvedLABEL — its clause is nowif (!isApprovalStamped(bead)), refusing withapproval: not approved - run the approve verb— thekApprovedLabelconstant is deleted, and theapproveverb writes only the three stamp keys (grid.approved_by,grid.approved_at,grid.approved_rev) in its onebd update, with no--add-label. A bead carried four encodings of "not yet" and the label and the stamp were the same act written twice; a label any writer could add mounted work ahead of its blockers, while a hand-added one silently never mounted at all. Migration: every open bead holding ONLY thegrid.approvedlabel stops mounting — re-approve it with<runner> approve --actor <name> <bead-id>, which stamps it. Beads already stamped by the verb keep mounting untouched; the now-inert label needs no removal.ApprovalStamp, the three key constants andisApprovalStampedare unchanged and still exported, and the filing preflight is untouched. The vended station overlay teaches the stamp rule.
0.6.0-rc.7 #
- Breaking: the role map is retired —
AgentRole,roleEnvironments,modelForRole,stationModelFor,tierForanddefaultModelForare gone;resolveAgentConfigmaps role to tier and model environments are selected by value through typed seats (seat_environments.dart) (#161, #168, #170). Migration: author the agent posture as typed seat environments instead of a role map; seelib/src/agent/seat_environments.dart. - Breaking: author-owned spec-review verdicts route to the human gate (pow-hxme, #164), and committee metadata changes route through docs review (#162).
- Live environment availability is published to the arming surface (pow-n6n.3, #165).
- The decisions register: design decisions are recorded as slug entries under
docs/decisions/and the lens excludesviews/(#169). - The approve verb stamps
grid.approved_by/at/revbeside the label, and the overlay skills teach approval through the verb (pow-5ch, #163). - Declared-tests base-gates bare prose test mentions (#158).
- Requires
grid_runtime ^0.2.0-rc.8andbeads_dart ^0.2.0-rc.5(the wave-2 the_grid train).
0.6.0-rc.6 #
- Breaking: a
grid.approvedlabel without agrid.approved_atstamp no longer mounts. The newapproveverb (ApproveCommand) gates its atomic receipt write on filing completeness — sentence-scoped blockers and state-store links included — and records the approver, the UTC instant and the repository revision, so mount eligibility can tell a verb-issued receipt from a bare label (pow-kps, #159). Migration: re-stamp every opengrid.approvedbead with theapproveverb; a bare label is refused at the gate. The governor already ran this org-wide on 2026-09-02. - The bead filing contract is enforced by a read-only filing service and
FilingCommand, which reject mechanically incomplete author-side filings;discovercalls the command, and the defer and mount-eligibility boundaries are unchanged (#148). - ACP-backed agent sessions: Copilot and Codex drive through one long-lived ACP adapter carrying structured progress, completion, usage, steering, permissions and model selection, with hermetic protocol-conformance coverage and an opt-in live worktree proof (#153).
- Channel-backed agent sessions: harness-specific session adapters, bead-routed fenced steering and environment opt-in wiring; agent briefs, structured results and usage travel the long-lived channel while every builtin stays on the one-turn path (#147).
- The
architectagent role gives specification agents an independent environment role, with a build fallback so existing build-environment armings keep working (#154). - Copilot one-shot telemetry: the Copilot environment declares silent JSON output and keyed resume, and projects premium-request consumption plus session duration through the generic usage report path (#145).
- Critic verdict rounds are authored at the capability boundary: a canonical verdict must be proven to belong to the current critic incarnation before it replaces a model-authored round, the model value is preserved for diagnostics, and an unresolved durability probe flares (pow-uok, #157).
- Critic verdict artifacts are written through same-directory atomic replacement, and respec ledgers are fenced by their owning session root, so a concurrent or stale artifact cannot poison a live join (#140).
specifycompletion is gated on a fresh exact-id readback through the owned bd client, failing closed when authored acceptance or design is absent or unreadable (#149).- Mount eligibility preloads the owning store's bead snapshot and rechecks a tentative refusal against the fresh bead, so first-refusal clauses derive from current fields; eligible snapshots stay synchronous (#152).
- Declared tests: extraction is narrowed to authored declarations and ignores
run commands, quotation contexts and unchanged/restore statements (#150);
bare
Test:run references are split from authored declarations and consult the pinned base only as the fallback set (#155); package-relative declarations resolve against repo-relative pinned-diff paths by path suffix (#138). - Readiness, specify, spec review and discovery prompts search both local
decision homes (
docs/adranddocs/decisions) through one missing-safe command set, and packaged assets accept legacy clauses as well as decision slugs in a citation (#146). - The vended skills teach the enforced approval-label transition in place of defer staging, with pinned source rendering and operator installation (#151).
- Tests: the specify environment assertion names the
architectenvironment rather than a bare codex argv (#156).
0.6.0-rc.5 #
- New
declared-tests-presentcode-review lane: confidently-declared test paths in the design are compared against the pinned diff; omitted files hard-block the round (#131). CompletionContract.artifactDurabilityadopted for every critic: recovery lives in the probe (the tg-291 stdout salvage recovers and persists canonically),result()'s unreachable envelope/fail-closed tiers are deleted, and the artifactless SiblingView cache fallback is removed — the join waits on durable artifacts, never a cached completion (#132).
0.6.0-rc.4 #
- Critic verdict artifacts are strict-decoded (non-object root, off-ladder/blank grade, blank rationale/nodePath, non-integer round all refuse); a present-but-malformed verdict fails the lane loudly (
AllocationFailed, reason-prefixed) instead of silently grading F; unknown read exceptions fail the same way. Repair ridescriticRepairInstructionon engine-supervised restarts (#128). - Bundle derivations converted to
ServiceBundle.derive— new bundle fields compile-error instead of silently dropping (#126).
0.6.0-rc.3 #
DeliveryMethodseam additions backing the grade-gated landing postures (#121).
0.6.0-rc.2 #
MountEligibilityAssets— the composable mount gate (pow-50l, #114). A station that mounts this seed admits a work bead only when it carries a driveable type, avalidation_plan, and thegrid.approvedlabel. Without it the gate is INERT and every ready bead mounts, which is what 0.6.0-rc.1 shipped: the class exists onmainbut is absent from the published 0.6.0-rc.1 archive, so consumers resolving from pub could not compose the gate at all (pow-w83). This release is that fix — the version moves so the archive and the source stop disagreeing at the same number. It stays an-rcbecause grid_assets still depends on pre-release grid_engine / grid_runtime / grid_sdk / beads_dart / grid_exploration, and pub requires a package depending on a pre-release to publish as one.- The git composition collaborators are watched from the tree rather than passed as constructor params (#113), matching the seat-facing const-services direction.
- Terminology: the human approval gate is "approve/approval" throughout (#118).
- Tests: the invariant-2/3 acceptance suites assert chokepoint creates by
SHAPE rather than by a hard total, so they hold under both published-dep and
path-override resolution (the_grid tg-zlfu adds a
mount-attemptwrite).
0.6.0-rc.1 #
- Breaking: the GitHub implementations are REMOVED from this package and now
live in
github_grid_assets(pow-2ua, power_station #109). Six exports are gone:GitHubAppPrOpener,GitHubPrDelivery,GitHubGridAssets,GitHubReconciler/GitHubReconcilerRuntime,GitHubReconcilerCursor/GitHubCursorStore/FileGitHubCursorStore, andNormalizedGitHubEvent. Migration: depend ongithub_grid_assets ^0.1.0-rc.2and import them frompackage:github_grid_assets/github_grid_assets.dart. The abstractions they implement stay here —DeliveryMethod,DeliverRouteCapability,SourceControl,PrCompositionand every*Capabilityare unchanged. - Breaking: this package no longer depends on
github_grid_assets. The dependency direction is inverted per the org rule:grid_assetsholds the generic assets and the abstractions other asset packages implement, domain implementations live in their own domain package, and the edge runs implementation -> abstraction. Anything that reached a GitHub symbol transitively through this package must now depend ongithub_grid_assetsdirectly. - The MINOR moves rather than the patch specifically so
^0.5.0-rc.1resolvers do not silently inherit the removals.
0.5.0-rc.1 #
- Breaking: adopts the_grid's 0.2.0-rc.1 prerelease wave —
beads_dart ^0.2.0-rc.1,grid_runtime ^0.2.0-rc.1,grid_engine ^0.3.0-rc.1,grid_sdk ^0.3.0-rc.1. Published as a prerelease because pub requires a package depending on a prerelease to be one itself. - Breaking:
BdExportBeadSourceno longer shellsbd export --all, which is refused in proxied-server mode and whose API was deleted upstream. It now issues ONE all-statusbd query --all --jsonper store. The contract is unchanged — one spawn per store, a read-only probe that never mutates, and closed beads are still included.
0.4.0 #
- Breaking: rides the 0.2.0 substrate wave — grid_engine/grid_sdk ^0.2.0, genesis_tree ^0.2.0 (foundation diagnostics; ext.leonard.* namespace).
0.3.1 #
CodeCircuitResolveraccepts an optional pre-classificationoverrideForpolicy: a non-null override roots that circuit without cursor classification; the null path is byte-for-byte unchanged. Enables subclass stations to route selected beads (e.g. burn orders) to non-code circuits.
Changelog #
0.3.0 #
- Breaking: overlay assets now ship from VISIBLE source directories
(
extension/station_overlay/claude/,agents/,github/, …) mapped to dot-targets (.claude/,.agents/,.github/, …) at install time —dart pub publishstrips hidden directories, so 0.1.0/0.2.0 tarballs shipped HOLLOW (no operator files at all). Default mappings cover claude/agents/github/copilot/codex; the overlay manifest can declare its own. Migration forOverlayInstallService.installoverriders: theoverlayRoots: List<String>required parameter is now optional and superseded byoverlaySources: List<StationOverlaySource>; root providers returnList<StationOverlaySource>instead ofList<String>.
0.2.0 #
- Breaking:
SearchCommandandAssetsCommandnow OWN the--grid-homeflag, its absolute-path guard, and normalization; the delegate factory seam changed from a zero-arg closure toGridDelegate Function(String gridHome). Migration: drop your own--grid-homeoption registration and resolve/guard block, passgridHomeDefault, and curry the factory with the command-resolved home —delegate: (gridHome) => MyDelegate(gridRoot: gridHome). TheAssetsCommandinstall leg treats the flag as an explicit OVERRIDE only: when absent the default remains mount-then-read-ambientGridRootviamountedGridHomeOf. - Added
runnerInvocationas a first-class parameter onAssetsCommandandOverlayInstallService, so a JIT-launched station renders the{{runner}}template hole without subclassing. Omitted, behaviour is unchanged (runner.executableNameremains the default). - Added
buildComputeServeCommand()/buildComputeLeaseCommand()— the compute asset now vends its own fully-wiredServeCommand/LeaseCommandinstead of every station copying the assembly block. The--allowlist stays a caller-supplied parameter (station security policy). - Generalized
codedRosterOfoff the station-specific factory typedef, with dispose-on-throw fenced. - Fixed: spec verdict rounds are sourced from circuit params.
0.1.0 #
- Initial release: the_grid's opinion assets — the agent/verify/land Capability impls, the code circuit, and the git SourceControl.
0.2.1 #
- Store station overlay assets in publish-visible source directories and map them to harness dot-directories at install time.
- Allow asset manifests to override the default station overlay mappings.
- Warn during install and release dry-run when hidden overlay source
directories would be omitted by
dart pub publish.