Skip to content

Commit 074e40c

Browse files
committed
Add intentkit-aware node lifecycle controls
1 parent 3686321 commit 074e40c

6 files changed

Lines changed: 409 additions & 38 deletions

File tree

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ uv run xian snapshot restore mainnet-node
5858
- network template and solution-pack discovery
5959
- network creation and network join flows
6060
- node initialization, start, stop, and status
61-
- endpoint and health discovery
61+
- endpoint and health discovery, including optional dashboard, monitoring, and
62+
stack-managed `xian-intentkit`
6263
- snapshot restore and doctor diagnostics
6364
- solution-pack starter flows built on `xian-configs`
6465

docs/LIFECYCLE_CONTRACT.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,11 @@ The node profile is the machine-local source of truth. Target fields:
198198
"pruning_enabled": false,
199199
"blocks_to_keep": 100000,
200200
"monitoring_enabled": false,
201+
"intentkit_enabled": false,
202+
"intentkit_network_id": "xian-mainnet",
203+
"intentkit_host": "127.0.0.1",
204+
"intentkit_port": 38000,
205+
"intentkit_api_port": 38080,
201206
"block_policy_mode": "on_demand",
202207
"block_policy_interval": "0s"
203208
}
@@ -218,8 +223,15 @@ Rules:
218223
- `network create` may generate a local `genesis.json`, but that file remains a
219224
derived network artifact rather than a place to hide node-local state
220225
- templates may provide defaults for runtime backend, tracing, bootstrap
221-
validator names, service-node mode, dashboard exposure, monitoring, and
222-
pruning, but explicit CLI flags should still win
226+
validator names, service-node mode, dashboard exposure, monitoring,
227+
`xian-intentkit` exposure, and pruning, but explicit CLI flags should still
228+
win
229+
- `intentkit_network_id` selects the Xian network slot inside
230+
`xian-intentkit`; canonical networks map to `xian-mainnet`, `xian-testnet`,
231+
or `xian-devnet`, while local and private stack-managed networks default to
232+
`xian-localnet`
233+
- stack-managed `xian-intentkit` uses the node's resolved RPC endpoint and
234+
chain ID to generate `xian-intentkit/deployment/.env`
223235
- `network join` may generate validator key material, but it should still write
224236
files under the workspace and store only a reference in the profile
225237
- node profiles should not duplicate network-owned seeds, snapshot URLs, or
@@ -252,12 +264,20 @@ Rules:
252264
- start
253265
- stop
254266
- status
267+
- optional stack-managed `xian-intentkit` bring-up and shutdown through the
268+
same start/stop/status/endpoints/health surface
255269
- localnet-init
256270
- localnet-build
257271
- localnet-up
258272
- localnet-down
259273
- localnet-status
260274

275+
### `xian-intentkit`
276+
277+
- remains an independent repo with its own Compose topology and env contract
278+
- should not be copied into `xian-stack`; the stack owns only the thin adapter
279+
layer, generated env handoff, and published local ports
280+
261281
These are now exposed through the machine-readable `scripts/backend.py`
262282
wrapper in `xian-stack`. Internally that wrapper may still call `make` and
263283
`docker compose`, but the wrapper is the backend contract that `xian-cli`

0 commit comments

Comments
 (0)