Skip to content

feat(ant-dev): expose --preset flag on ant dev start (default: small)#88

Merged
Nic-dorman merged 1 commit into
mainfrom
fix/ant-dev-start-preset-flag
May 14, 2026
Merged

feat(ant-dev): expose --preset flag on ant dev start (default: small)#88
Nic-dorman merged 1 commit into
mainfrom
fix/ant-dev-start-preset-flag

Conversation

@Nic-dorman
Copy link
Copy Markdown
Collaborator

Summary

ant dev start previously hardcoded ant-devnet --preset default (25 nodes). On a cold-cache fresh start that reproducibly hits the manifest-wait timeout (#73), even after #81's stop-time cleanup — because spinning up 25 nodes exceeds the 6-min wait window. New contributors following SETUP.md hit Timed out waiting for devnet manifest on their first run with no obvious cause.

--preset small (10 nodes) finishes in seconds and is plenty for SDK development. This PR switches the default to small and exposes --preset so users can opt back into default / large for stress runs.

Why change the default (not just add a flag)

Defaults should make the documented happy path actually work. With default as the default, ant dev start --ant-node-dir … per SETUP.md fails on cold cache; with small, it works. The proper fix is #73 Option A in WithAutonomi/ant-node (per-run tempfile::TempDir + tokio signal handler in ant-devnet/main.rs, dropping the std::mem::forget(testnet) so cleanup actually runs). Once that lands and default works reliably for fresh starts, this flag still gives users a fast option for tight iteration loops, so it's forward-compatible either way.

Test plan

🤖 Generated with Claude Code

`ant dev start` previously hardcoded `ant-devnet --preset default` (25
nodes). On a cold-cache fresh start that reproducibly hits the
manifest-wait timeout (#73) — even after #81's stop-time cleanup —
because spinning up 25 nodes exceeds the 6-min wait window. New
contributors following SETUP.md hit `Timed out waiting for devnet
manifest` on their first run with no obvious cause.

`--preset small` (10 nodes) finishes in seconds and is plenty for SDK
development. Switch the default to `small` and expose `--preset` so
users can opt back into `default` / `large` for stress runs.

## Why default changes (not just a new flag)

Defaults should make the documented happy path actually work. With
`default` as the default, `ant dev start --ant-node-dir …` per SETUP.md
fails on cold cache; with `small`, it works. The proper fix is #73
Option A in `WithAutonomi/ant-node` (`tempfile::TempDir` + tokio signal
handler in `ant-devnet/main.rs`) — once that lands and `default` works
reliably, this flag still gives users a fast option for tight iteration
loops.

## Test plan

- [x] `ant dev start --ant-node-dir ~/Projects/ant-node` (no --preset) →
      uses `small`, devnet ready in ~10s
- [x] `ant dev start --preset default --ant-node-dir …` → reproduces #73
      manifest-timeout symptom (as expected — the underlying ant-devnet
      bug is unchanged)
- [x] `ant dev start --help` shows the new flag with all three choices
- [x] Cross-SDK e2e harness (15/15 SDKs) green with the default preset
      change

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Nic-dorman Nic-dorman merged commit f093350 into main May 14, 2026
@Nic-dorman Nic-dorman deleted the fix/ant-dev-start-preset-flag branch May 14, 2026 13:02
Nic-dorman added a commit that referenced this pull request May 14, 2026
Cuts v0.7.1 atop v0.7.0. Primarily refreshes the upstream `ant-core`
pin to the `ant-cli-v0.2.3` release tag (no API change for antd
consumers). Bundles a substantial round of cross-SDK example/build
fixes, dispatcher improvements, and CI/release workflow hardening.

## antd

- chore(antd): bump ant-core to v0.2.3 (#85)

## SDK example/build fixes

- fix(antd-php): use cost-estimate fields in example 02 (#74)
- fix(antd-elixir): print cost-estimate fields in examples (#75)
- fix(antd-lua): add missing discover module to rockspec (#76)
- fix(antd-kotlin): make put-response cost optional + ship gradle wrapper (#77)
- fix(antd-zig): pass payment_mode to dataPutPublic/dataPutPrivate (#79)
- fix(antd-java): make examples runnable via gradle :examples subproject (#80)
- fix(antd-zig): align stdlib API to declared 0.14.x minimum (#82)
- fix(antd-swift): port to Linux + populate cost-estimate fields (#87)

## ant-dev (developer CLI)

- fix(ant-dev): clean up orphan anvil/antnode and stale node identities on stop (#81)
- fix(ant-dev): tooling cluster — flag alias, sys.executable, anvil preflight, README (#83)
- feat(ant-dev): expand `ant dev example` to dispatch all 15 SDKs (#84)
- fix(ant-dev): dispatcher swift no-skip + lua LUA_PATH wrap (#86)
- feat(ant-dev): expose --preset flag on `ant dev start` (default: small) (#88)

## CI / release

- ci: authenticate arduino/setup-protoc on ci.yml too (#60)
- feat(release): publish antd-linux-arm64 artifact (#89)

## Validation

15/15 SDKs round-tripped end-to-end against a daemon built from this
commit on a Linux dev box (Ubuntu 24.04, 0.7.1 atop ant-core v0.2.3).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant