← 全部工具

memento-engineering/power_station

热度 75 更新于 开发与构建

First-party grid asset packs for the_grid — the code, dart, federation, and zero-conf domains, each exporting domain components plus CLI components.

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

powerstation

First-party grid asset packs for thegrid — each pack exports domain components + CLI components (the CLI-SDK model):

| Pack | Domain | |---|---| | packages/gridassets | the code asset (agent/verify/land + the code circuit + the git SourceControl) and the compute asset (bounded dispatch over a federation lease) | | packages/dartgridassets | the DART domain (the typed grid.dart envelope + pub dev-time linkage + the exported DartCommand) | | packages/federatedgridassets | the federation surface (station server + cross-station asset leasing) | | packages/zeroconfgridassets | zero-conf station discovery (mDNS advertisement/browse) | | packages/analyticalgridassets | the ANALYTICAL domain (station health and effectiveness REPORTING over the session-ledger metrics projection: split token distributions + the exported MetricsCommand) |

The butane burn asset (butanegridassets) moved to its system's repo — butaneflutter/packages/butanegridassets (grid assets live with their system; the ADR-0011 placement split).

Extracted from thegrid@17ea50a90d39791e8bad7a16c28a93711b44abf2 at the repo split.

Dev linkage

The thegrid framework packages are declared any and resolved via a machine-local pubspecoverrides.yaml at this root (gitignored) — path deps into the sibling ../thegrid checkout during dev, hosted/git refs at stabilization. The dart domain's grid dart link generates it; see thegrid docs/DESIGN-pub-capability-and-repo-split.md. genesistree stays hosted (^0.1.3).

dart pub get          # workspace root (needs the sibling checkout + overrides)
dart run melos run test
dart run melos run analyze

Releasing

One command releases the whole workspace: it computes which packages are not on pub.dev yet, runs every gate, validates the consumers a direct stable wave owes, then cuts and pushes one <package-v<version tag per package in dependency order — and the tag-triggered publish workflow does the upload.

A release moves on two independent axes: --change is the semver move (docs/additive/fix/breaking) and --rung is the prerelease rung (stable/dev/beta/rc), which belongs to each PACKAGE rather than to the wave — omit it and each package's rung is read off its authored version, so a mixed dev/beta wave is fine.

dart run melos run release -- --change fix --consumers <manifest.json>
dart run melos run release -- --change fix --consumers <manifest.json> --dry-run
dart run melos run release -- --change breaking --rung dev
dart run melos run release -- --change breaking --rung beta
dart run melos run release -- --change breaking --rung rc --promotion-intent

Breaking work enters the ladder at dev and walks to beta unattended; only a human sets rc, which is why that rung needs --promotion-intent (--change rc --promotion-intent is the compatibility spelling of the last line). A stable release still passes every consumer first.

See packages/dartgridassets/README.md for the wave's stages, the consumers manifest shape, and why a breaking STABLE release is refused here.

Sibling repositories

powerstation is one repo of the memento-engineering org, and its docs reference siblings by name: thegrid (the engine these asset packs plug into), lenny (the debugging harness), spacestation (the org's grid instance — public release to follow), and houston (not a repo: the id prefix of the station's state store). Gas City (gc) is the predecessor system thegrid reimplements — not ours; see the original project at docs.gascityhall.com.

License

MIT — see LICENSE.