Repository navigation
zainod: config + readiness for zaino #1638 - #8
Merged
Merged
Conversation
…s LSM set - [source] + [[chainview_peers]] → [[trusted_validators]] (all equal) - [fetch] → [sync] (finalised_depth, concurrency, batch_mib, queue_mib) - metrics_endpoint → [metrics] listen_address - [index.<name>] enabled/path + [index.header_chain] path, pinned under /app/data/indexes - finalised_depth below zainod's floor (1000 off regtest, 1 on regtest) rejected at env.build() - chainview_peer() → trusted_validator(); new sync_batch_mib() / sync_queue_mib() - LSM tiers gain `outputs` (zaino-internal-value-balance) - goldens boot a real zainod (cleanup/remove_state_backend 2bc49411); stale [fetch] refused Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWVNHaSSJoUnJECXsjPQtw
…upstream) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- watch: driver scrape best-effort (segment start only), zainod rows never dropped for it
- driver: metrics exporter installed as the detached env starts building
- zainod `ready()`: `/statusz` reasons ⊆ {syncing} (GetLightdInfo refuses until every
index commits once: minutes in a bulk sync)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- `ZebraBackend::sync_budget()`: verify threads, full-verify + download concurrency - dead `[rpc] parallel_cpu_threads` removed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- `.lsm_fanout(u32)` (< 2 rejected at `env.build()`), `.lsm_merge_slots(NonZeroU32)`; unset = key left out (zainod's default) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ports::ZEBRAD_INDEXER (8230); Validator::indexer() renders [rpc] indexer_listen_addr
- ValidatorClient {LegacyRpc, Grpc}; Grpc renders validator_client + indexer_address
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E6kgQyj3Eg4VUheK9Pwj9t
…the segment starts
- zainod /statusz = { state, detail, notes } (no `reasons`): every decode failed → never ready
- ready = syncing | serving (degraded = no trusted validator); unknown state = an error naming it
- watch uptime: no driver segment start → `—` (was 0 s + time since the last read, reset each read)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E6kgQyj3Eg4VUheK9Pwj9t
- `/statusz` (admin) removed from zainod; `/status` = same `state`/`detail` - `draining` state gone from zainod (now refused as contract drift) - `/metrics` scrape unchanged on the admin port Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UQ8ay3bKhM6aiG56dWeyhT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UQ8ay3bKhM6aiG56dWeyhT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UQ8ay3bKhM6aiG56dWeyhT
…the final snapshot
- zainod admin /statusz removed; /readyz = same {state, detail} (503 while syncing, body read)
- public /status = gRPC listener's internet projection, not a harness contract
- fast finish between two ticks: `sometimes` probes also see the final snapshot (no false gap)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… (lightwalletd filterBlockPool) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…raw callers) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ion (pool selection drops txs) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/etc/zaino/zainod.toml and /var/lib/zaino (zaino's Dockerfile XDG defaults) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
- PodSpec.tty - drop the dead ZAINOLOG_COLOR (zainod no longer reads it) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
… cause - zainod ready = /readyz on the gRPC listener (zaino-prod's LB, z3's probe) - RpcTimeout carries the probe's last error instead of dropping it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
… tailspin - driver: tracing-logfmt (zainod's shape), uncoloured - sync watch: component lines ANSI-stripped, one tailspin palette (levels, faint timestamps) - drop PodSpec.tty (colour = the view's, not the component's) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
- syncing carries {height, target, blocks_per_sec}, down/held/degraded {reason, message}
- decode as opaque JSON (only state gates)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
- presentation: glyphs, ANSI, widths, goldens, wording, number/duration formatting - tautologies: constants equal themselves, derive round-trips, restated tables - duplicates of a stronger neighbour; 3 that passed for the wrong reason - strip_frame tests → libtest.rs; env.rs panics → should_panic - + RunStats terminated ⇒ any_failed, render_running row budget - dead progress_line removed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
- target zaino_finalized_tip, best tip = context (fetch stops ~1,000 under it → "short 1,000") - delete zaino_lsm_batch_rows_total / merge_rows_total rows (gone upstream) - delete the LSM tier panel (no tier label, no zaino_lsm_stall_at upstream) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
…inal - zaino ByteSize (12.8GB) + Human (1h02m) = one number token, not 12 + plain rest - no wrapping: each row truncated to the terminal width Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
…lank cells - avt erases with the whole pen; trim spaces a terminal paints as nothing (renders_blank) - scrollback + live region: one row per line, no 512-col blue tail - drop 5 bridge tests that pinned colour spelling or repeated a neighbour Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UPeo6cHwYz3MkCDGfhxkX5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings ztest in line with zaino #1638 (indexer refactor + LSM indexes).
[sync.lsm_store], indexer gRPCvalidator_client,utxo_set,max_work_streams, trusted validatormax_connections/readyz(/statuszis gone);syncingcounts as readysometimesprobes also judged on the final snapshot🤖 Generated with Claude Code