338 Commits

Author SHA1 Message Date
andrussal
30a18710da configs: split config construction phases
Refactors long config builders into small, intent-named helpers.

- create_general_configs_with_blend_core_subset
  - Before: validation + id/port gen + component config build + provider/genesis + kms + per-node assembly.
  - After: validate_node_counts/generate_ids_and_ports/collect_blend_core_providers/
    apply_consensus_genesis_tx/build_kms_configs/build_general_configs.

- build_blend_service_config
  - Before: mixed constants parsing + user/deployment/network settings build.
  - After: message_frequency_per_round/build_blend_user_config/
    build_blend_deployment_settings/build_network_deployment_settings.

- create_validator_config/create_executor_config
  - Before: large struct literals mixing deployment, DA network, storage, dispersal.
  - After: deployment helpers + backend/settings helpers to keep top-level constructor readable.

- create_genesis_tx_with_declarations
  - Before: inscription + op building + proof signing + tx wrapping in one block.
  - After: build_genesis_inscription/build_genesis_ops/build_genesis_ops_proofs/build_genesis_tx.
2025-12-19 00:50:20 +01:00
andrussal
4d2c4c77e4 core: split topology build/readiness phases
Refactors long functions into small helpers without behavior changes.

- TopologyBuilder::build
  - Before: validation + base config build + provider/genesis wiring + node descriptor assembly.
  - After: participant_count/resolve_and_validate_vectors/collect_provider_infos/
    create+apply_consensus_genesis_tx/build_node_descriptors.

- GeneratedTopology::wait_remote_readiness
  - Before: endpoint assertions + network readiness + membership endpoint selection.
  - After: collect_node_endpoints/wait_for_network_readiness/
    collect_membership_endpoints/testing_base_url.

- NetworkReadiness::collect + MembershipReadiness::collect
  - Before: duplicated validator/executor join_all blocks.
  - After: collect_validator_statuses/collect_executor_statuses helpers.

- spawn_node
  - Before: mixed config IO + process spawn + readiness polling.
  - After: write_node_config/spawn_node_process/wait_for_consensus_readiness.
2025-12-19 00:05:32 +01:00
andrussal
a1e0dddea3 workflows: remove panics from workloads 2025-12-18 23:10:22 +01:00
andrussal
14148221eb workflows: avoid panics in scenario builders 2025-12-18 23:05:20 +01:00
andrussal
07ee5bcd20 compose: avoid panics in cleanup and block feed 2025-12-18 23:01:24 +01:00
andrussal
7dea766801 cfgsync: remove panics and blocking mutex 2025-12-18 22:59:16 +01:00
andrussal
ecdbb3a171 core: make scenario initialization fallible 2025-12-18 22:52:53 +01:00
andrussal
47b4e8531d core: make scenario/topology building fallible 2025-12-18 22:48:45 +01:00
andrussal
4da09bfe85 core: avoid Url parse expect in topology readiness 2025-12-18 22:28:37 +01:00
andrussal
5bcdb6a1c9 core: remove deprecated membership panic helper 2025-12-18 22:27:52 +01:00
andrussal
a6bd57e1cf core: remove panics from ApiClient testing paths 2025-12-18 22:26:43 +01:00
andrussal
132c8d823e core: make node spawning fallible 2025-12-18 22:23:02 +01:00
andrussal
e16a169bbb configs: remove remaining unwrap/expect in topology configs 2025-12-18 22:16:42 +01:00
andrussal
b150c584c0 configs: remove unwrap/expect from node configs 2025-12-18 22:14:55 +01:00
andrussal
17180d8c37 configs: make consensus/genesis generation fallible 2025-12-18 22:12:28 +01:00
andrussal
c46f815293 configs: remove unwrap/expect from DA configs 2025-12-18 22:04:28 +01:00
andrussal
e841809d50 configs: make network config generation fallible 2025-12-18 22:02:25 +01:00
andrussal
9f403bf235 configs: remove ProviderId unwrap 2025-12-18 22:01:07 +01:00
andrussal
9b2cfeadfe configs: avoid SocketAddr parse unwrap 2025-12-18 21:59:40 +01:00
andrussal
4f202295ba scripts: broaden nonzero progress heuristic 2025-12-18 21:40:57 +01:00
andrussal
347d72950d k8s: avoid blocking port-forwarding in async 2025-12-18 21:21:07 +01:00
andrussal
9392280127 k8s: remove panics from runner invariants 2025-12-18 21:17:26 +01:00
andrussal
e66a813e05 tests: add cfgsync/topology parity checks 2025-12-18 21:01:24 +01:00
andrussal
9d2238b7a7 observability: unify compose and k8s deploy script 2025-12-18 20:58:53 +01:00
andrussal
698efc6292 scripts: fix --allow-nonzero-progress on macOS 2025-12-18 20:44:47 +01:00
andrussal
b9741f8d03 config: share base config generator 2025-12-18 20:33:37 +01:00
andrussal
ef5c59700d cfgsync: apply node config injection on client 2025-12-18 20:13:23 +01:00
andrussal
bd910953c0 kzg: unify params spec across runners 2025-12-18 20:01:27 +01:00
andrussal
f355ead47e docs: comprehensive documentation improvements
- Rename to 'Logos Blockchain Testing Framework Book'
- Rebrand protocol references from Nomos to Logos
- Add narrative improvements (Core Concept, learning paths, callouts)
- Expand best-practices and what-you-will-learn pages
- Add maintenance guide (README.md) with doc-snippets documentation
- Add Notion documentation links
- Fix code example imports and API signatures
- Remove all icons/emojis
2025-12-18 19:47:29 +01:00
andrussal
64dfe398e0 scripts: allow matrix soft-pass on progress 2025-12-18 19:40:29 +01:00
andrussal
f422c70f7c scripts: add --no-image-build to run-test-matrix 2025-12-18 18:57:39 +01:00
andrussal
972daa451a docs(book): update docs 2025-12-18 18:36:38 +01:00
andrussal
027fd598a7 env: centralize NOMOS/POL env var parsing 2025-12-18 18:19:38 +01:00
andrussal
4a47024a11 config: return Result from api/network config builders 2025-12-18 18:08:53 +01:00
andrussal
128e073ed8 config: add shared topology invariants validator 2025-12-18 18:02:50 +01:00
andrussal
2c0f1b1acc Merge branch 'refactor/decouple-observability' 2025-12-18 17:33:30 +01:00
andrussal
222436ed8d Reorganize scripts into subdirectories
Move helper scripts under scripts/{run,build,setup,ops,lib} and update all references across docs, CI, Docker, and Rust call sites.
2025-12-18 17:26:02 +01:00
andrussal
e7093df4e5 core: add non-panicking testing-endpoint APIs 2025-12-18 15:04:25 +01:00
andrussal
8a6d7236ef workflows: add try_* builder APIs for URLs and rates 2025-12-18 14:53:08 +01:00
andrussal
f0e9d2807b cfgsync: add typed config build errors and validation 2025-12-18 14:46:27 +01:00
andrussal
540ef9f9c2 configs: validate DA subnet ids and handle empty network layouts 2025-12-18 14:40:49 +01:00
andrussal
a582c00692 core: make readiness collectors resilient to HTTP errors 2025-12-18 14:27:49 +01:00
andrussal
bb0378792a examples: export cucumber Mode and share runner defaults 2025-12-18 14:11:54 +01:00
andrussal
91c9044abb refactor: remove embedded observability 2025-12-18 13:05:40 +01:00
andrussal
d8be8e589a scripts: add host/compose/k8s test matrix runner 2025-12-18 10:15:30 +01:00
andrussal
25dd0f1ac4 compose: reuse stack image build; drop runner.Dockerfile 2025-12-18 10:10:19 +01:00
andrussal
a8bf7e5006 stack: split test image Dockerfile 2025-12-18 09:58:47 +01:00
andrussal
d91fcc1d9d k8s: default KZG mode to inImage 2025-12-18 09:31:28 +01:00
andrussal
d5940c3192 examples: unify demo env vars 2025-12-18 09:26:47 +01:00
andrussal
29d9b40d72 obs: drop grafana query url + simplify env vars 2025-12-18 09:23:39 +01:00