hashgraph / hashgraph/solo-weaver
Story 4.7 — Operator verify (`network shape watch`) + restore last-stable
- Dominant language
- Go
- Stars
- 3
- Forks
- 0
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 46
Description
**Epic:** #740 — Validation, rollback & observability
Design: [v4 design](https://github.com/automa-saga/traffic-shaper/blob/main/docs/bn-qos-multiclass-priority-design-v4-nft-priority.md) §8.4.3 (`shape show`), §11 (Validation and rollback).
Two operator-facing day-2 capabilities raised in the planning notes (13, 15) that go beyond the daemon's automatic per-poll rollback (#767):
1. **Verify shaping is working (note 15).** A way for the node operator to confirm traffic is actually being shaped/classified, e.g. `network shape watch` that samples `tc -s class show dev ` over a window and reports per-class byte/rate/overlimit deltas (rate-over-time), complementing the Prometheus counters (#769) which target dashboards rather than an operator at a terminal.
2. **Restore last-stable on demand (note 13).** An explicit operator command to restore the last-known-good network settings (`nft -f weaver-prev.conf` + re-render), distinct from the automatic per-poll auto-rollback in #767 — for the case where an operator wants to manually revert after a bad manual change.
**Acceptance criteria:**
- `network shape watch [--device|--class] [--interval]`: periodic `tc -s class show` sampling, prints per-class rate/overlimits over time; read-only.
- An operator-facing restore path that reverts the `inet weaver` table (and tc, if needed) to last-known-good and re-applies.
- Both documented in the `network` command docs (#761).
Fast-follow.
Contributor guide
Research direction
Start with docs/bn-qos-multiclass-priority-design-v4-nft-priority.md sections 8.4.3 and 11, then review the network command docs tracked in #761. Define the watch sampling and operator restore entry points around the stated tc and nft commands. Done means both read-only watching and last-stable restoration work as specified and are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100