Editor's Note
asicrs-build
Use when editing files under `plugin/asicrs/`, `sdk/rust/`, or `server/sdk/v1/pb/` (which the asicrs build also consumes). The ASIC-rs plugin is a Rust binary built via Docker and cached against an `.asicrs-platform` marker; source changes that bypass `just _asicrs-build` or `just rebuild-plugin asicrs` will leave the loaded plugin stale.
Install
npx skills add https://github.com/block/proto-fleet --skill asicrs-buildSKILL.md
asicrs-build
just build-plugins and just test-contract rebuild ASIC-rs only when its
freshness check (mtime against the BIN plus a find -newer over
plugin/asicrs sdk/rust server/sdk/v1/pb) trips. That check is robust for
typical edits but skips when the binary mtime is newer than the source —
which is true after a clean checkout or when switching branches.
What to do
- After editing any source under
plugin/asicrs/,sdk/rust/, orserver/sdk/v1/pb/, force a rebuild:- Local development:
just rebuild-plugin asicrs - Docker dev runtime (Linux ARM64): same command — it sets
_asicrs-build-dockerafter removing the platform marker.
- Local development:
- Run
just test-contractif the change affects miner-driver behavior. - If switching between native and Docker runtimes, expect a full rebuild
the first time — the
.asicrs-platformmarker is what disambiguates.
What to avoid
- Don't hand-edit
server/plugins/asicrs-config.yamlto make tests pass — the contract harness rewrites it per suite, and your edits will be overwritten.