Phase 8: Network Soak and Observability
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Plan reference: plan/glamsterdam-2026-09-05/issues/08-phase-8-network-soak-and-observability.md
Goal: make the fork boundary observable (P2-1), soak on the first public network that schedules Gloas with the zero-slashing gate enforced, re-pin SPEC_TAG to that network's shipped spec release, and drive mainnet readiness to evidence complete. release approved is a separate state this phase cannot reach (D16). Issues: 11 · Points: 20 · Duration: ~10 working days single-stream (8.8 additionally waits 14 elapsed days; the wait is not effort).
Entry criteria: Phase 7 complete (devnet metrics met, fork-transition test green in CI; 7.6 landed the PTC counters and 7.2b landed the validator_perf.py SLOT_DURATION_MS read). 8.9a–8.10 additionally require a public network with a real GLOAS_FORK_EPOCH in its config and a published spec release tag for it. 8.1–8.7 need no such network and start as soon as P7 lands.
Exit criteria (D16 — this phase closes on evidence complete, never on release approved):
evidence complete— objectively closeable by this phase's own issues: every KAT layer (L1–L5) all green against the network's shipped spec tag before the soak starts (8.9a → 8.9b, D26); ≥ 14 consecutive stable days on that network (never a calendar date) on the exact build that passed, 0 slashable events; readiness evidence recorded indocs/gloas-observability.mdby 8.10. This is Phase 8's exit gate. A KAT failure with a verdict is a triage result that blocks the soak; it never satisfies this state.release approved— an explicit decision by the named accountable role, which is UNASSIGNED (Q1). It is tracked separately, blocked pending assignment, and is the only state that closes the mainnet-readiness milestone. Recording the gap is not approval, and no issue here may self-approve or substitute a recorded gap for a decision.
Summary and execution plan (Day = effort day, single stream)
| Day | Issue | Title | Pts | Blocked by | Scope | Files |
|---|---|---|---|---|---|---|
| 1–1.5 | 8.1 | Fork-resolution gauges + boundary log lines | 3 | P2, P7 | 1.5 d | eth-types/src/fork.rs, rvc/src/metrics.rs, rvc/src/orchestrator/coordinator/mod.rs |
| 2 | 8.2 | PTC counters — verification no-op (7.6 implements) | 0 | P7 (7.6) | < 0.5 d | none (verify rvc/src/metrics.rs) |
| 2 | 8.3 | BN capability gauge — consume 6.7's family, label hygiene | 1 | 8.2, P6 (6.7) | 0.5 d | bn-manager/src/{metrics,types}.rs |
| 3 | 8.4 | Signer rejections by sign type and version | 2 | 8.3, P4 (4.9, 4.10) | 1 d | signer/src/metrics.rs, signer/src/lib.rs |
| 4 | 8.5 | SLOT_DURATION_MS read — verification checkpoint (7.2b implements) |
0 | P7 (7.2b) | < 0.5 d | none (verify scripts/validator_perf.py) |
| 4 | 8.6 | Pre-fork alerting rules + operator dashboard doc | 2 | 8.1–8.5 | 1 d | docs/gloas-observability.md |
| 5–5.5 | 8.7 | Soak evidence harness + zero-slashing check | 3 | 8.5, 8.6 | 1.5 d | scripts/gloas_soak_snapshot.sh, scripts/tests/ |
| 6 | 8.9a | Re-pin SPEC_TAG to the network's shipped tag, cold-cache regen + provenance — before the soak (D26) |
2 | 8.7, Q2 (tag published) | 1 d | rvc-spec-vectors, spec_kat.rs, Makefile |
| 7–8 | 8.9b | Root-diff triage + L1–L5 all-green verdict on the build to be soaked | 3 | 8.9a | 1.5 d | project-plan.md Decision Log |
| 8.5–9.5 (+14 elapsed) | 8.8 | Soak run on the first scheduling network, on the build 8.9b passed | 3 | 8.9b | 1.5 d effort / 14 d elapsed | soak log, docs/gloas-observability.md |
| 10 | 8.10 | Readiness record — evidence complete declared, release approved tracked |
1 | 8.8 | 0.5 d | docs/gloas-observability.md |
Sub-issues
- 8.1 Fork-resolution gauges and fork-boundary log lines
- 8.2 PTC duty and submission counters — verification no-op
- 8.3 BN capability-state gauge — consume 6.7's family and pin label hygiene
- 8.4 Signer rejections by sign type and version
- 8.5
SLOT_DURATION_MSread — verification checkpoint - 8.6 Pre-fork alerting rules and operator dashboard doc
- 8.7 Soak evidence harness and zero-slashing check
- 8.9a Re-pin
SPEC_TAGand regenerate vectors from a cold cache - 8.9b Root-diff triage and the L1–L5 all-green verdict on the build to be soaked
- 8.8 Soak run on the first scheduling public network
- 8.10 Readiness record —
evidence completedeclared,release approvedtracked
Plan ID → GitHub issue
| Plan ID | Issue | Title |
|---|---|---|
| 8.1 | #332 | [8.1] Fork-resolution gauges and fork-boundary log lines |
| 8.2 | #333 | [8.2] PTC duty and submission counters — verification no-op |
| 8.3 | #334 | [8.3] BN capability-state gauge — consume 6.7's family and pin label hygiene |
| 8.4 | #335 | [8.4] Signer rejections by sign type and version |
| 8.5 | #336 | [8.5] SLOT_DURATION_MS read — verification checkpoint |
| 8.6 | #337 | [8.6] Pre-fork alerting rules and operator dashboard doc |
| 8.7 | #338 | [8.7] Soak evidence harness and zero-slashing check |
| 8.8 | #339 | [8.8] Soak run on the first scheduling public network |
| 8.9a | #340 | [8.9a] Re-pin SPEC_TAG and regenerate vectors from a cold cache |
| 8.9b | #341 | [8.9b] Root-diff triage and the L1–L5 all-green verdict on the build to be soaked |
| 8.10 | #342 | [8.10] Readiness record — evidence complete declared, release approved tracked |
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with plan/glamsterdam-2026-09-05/issues/08-phase-8-network-soak-and-observability.md and the dependency order for sub-issues #332–#342. Read the listed Rust, shell, test, and documentation paths for the selected sub-issue, then verify its stated checks; Phase 8 is done when the L1–L5 KAT layers are green, the soak has 14 consecutive stable days with zero slashable events, and docs/gloas-observability.md records evidence complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, shell
- Domain
- documentation, infrastructure, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100