Snider
31a151d23c
feat(proxy): implement RFC test coverage and AX usage-example comments
...
Add missing Good/Bad/Ugly test triplets per RFC section 22:
- stats_test.go: OnAccept/OnReject/Tick/OnLogin/OnClose tests with
concurrency race test and top-10 diff slot verification
- ratelimit_test.go: full Good/Bad/Ugly set including ban persistence
and disabled-limiter edge case
- customdiff_test.go: renamed to Apply_Good/Bad/Ugly convention per RFC
- storage_test.go: full Add_Good/Bad/Ugly set including 256-slot fill,
overflow rejection, and dead-slot reclamation via SetJob
- job_test.go: added Good/Bad/Ugly for BlobWithFixedByte, DifficultyFromTarget,
and IsValid
Add Miner.Diff() public getter for the last difficulty sent to miner.
Add AX-compliant usage-example comments (principle 2) to all Miner
accessors, Proxy query methods, EffectiveShareDifficulty, targetFromDifficulty,
MinerSnapshot, and RateLimiter.IsActive.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 07:02:54 +01:00
Virgil
6f0747abc2
fix(reload): apply custom diff updates to active miners
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:49:05 +00:00
Virgil
711c4259f7
refactor(proxy): unify monitoring auth checks
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:44:35 +00:00
Virgil
8cf01f2618
refactor(proxy): rename server TLS config field
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:42:05 +00:00
Virgil
b6b44b1f7b
refactor(proxy): name miner timeouts and password mask
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:39:19 +00:00
Virgil
ea378354de
chore(proxy): clarify watcher and limiter names
2026-04-05 03:34:07 +00:00
Virgil
8a9046356e
refactor(proxy): centralise monitoring API contract values
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:30:40 +00:00
Virgil
d1a899805e
perf(proxy): reuse miner send buffer for writes
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:25:39 +00:00
Virgil
01a0cc5907
fix(proxy): drain submits before shutdown
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:15:17 +00:00
Virgil
75d151b4e5
refactor(proxy): clarify miner login callback naming
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 03:07:41 +00:00
Virgil
af96bfce94
docs: align public API comments with AX guidance
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 02:58:56 +00:00
Virgil
1ae781608c
fix(api): honour unrestricted monitoring methods
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 02:55:36 +00:00
Virgil
1f8ff58b20
fix(login): defer login events until assignment succeeds
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 02:48:03 +00:00
Virgil
bc6113c80d
fix(api): enforce GET on monitoring routes
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 02:43:49 +00:00
Virgil
30ff013158
docs(proxy): sharpen AX usage examples
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 02:34:53 +00:00
Virgil
be47d7afde
fix(proxy): align config and login parsing with rfc
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 02:31:37 +00:00
Virgil
0a7c99264b
refactor(errors): add scoped proxy failures
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 02:18:05 +00:00
Virgil
7dd9807a6e
chore: improve proxy api comments
2026-04-05 01:46:41 +00:00
Virgil
7b2a7ccd88
docs(proxy): align public AX comments
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 01:43:31 +00:00
Virgil
b5e4a6499f
docs(proxy): improve AX usage comments
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 01:33:13 +00:00
Virgil
2a49caca03
docs(ax): add codex conventions
...
Clarify reload behaviour for immutable splitter wiring.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 01:12:06 +00:00
Virgil
3cd0909d74
feat(proxy): add share sink fanout
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 01:08:23 +00:00
Virgil
d8b4bf2775
refactor(proxy): clarify internal helper naming
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 00:52:34 +00:00
Virgil
3debd08a64
fix(api): enforce monitoring auth on exported routes
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 00:49:26 +00:00
Virgil
eabe9b521d
fix(proxy): harden hot-reload config access
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 00:45:39 +00:00
Virgil
8ad123ecab
refactor(proxy): improve splitter registry naming
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 00:36:29 +00:00
Virgil
9460f82738
Align monitoring route handling
2026-04-05 00:21:42 +00:00
Virgil
bbdff60580
Honor worker mode changes on reload
2026-04-05 00:11:43 +00:00
Virgil
a76e6be1c7
docs(proxy): align public entry points with AX examples
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 00:07:27 +00:00
Virgil
ad069a45d5
fix(proxy): harden monitoring helpers against nil config
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:58:09 +00:00
Virgil
fd88492b00
fix(proxy): honour monitoring restriction flag
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:51:37 +00:00
Virgil
fd76640d69
refactor(proxy): clarify monitoring HTTP helpers
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:42:26 +00:00
Virgil
fb5453c097
fix(api): enforce GET on monitoring endpoints
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:39:29 +00:00
Virgil
4e5311215d
refactor(proxy): centralise invalid share classification
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:33:21 +00:00
Virgil
e2bd10c94f
docs(proxy): sharpen AX usage examples
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:28:35 +00:00
Virgil
1e6ba01d03
fix(api): mask miner passwords in miners document
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:25:46 +00:00
Virgil
c0efdfb0ca
refactor(api): unify monitoring documents for AX
2026-04-04 23:23:13 +00:00
Virgil
167ecc2bdc
refactor(proxy): clarify agent-facing names
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:10:35 +00:00
Virgil
0bb5ce827b
fix(proxy): fail fast on HTTP bind errors
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:07:43 +00:00
Virgil
6f0f695054
fix(proxy): separate HTTP auth and method errors
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 23:05:18 +00:00
Virgil
84362d9dc5
fix(reload): reconnect upstreams on pool config changes
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:52:01 +00:00
Virgil
4006f33c1e
fix(proxy): reload watcher on watch config changes
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:41:16 +00:00
Virgil
0c746e4ea7
fix(proxy): support OpenSSL TLS cipher aliases
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:26:42 +00:00
Virgil
187a366d74
refactor(proxy): align aggregate field names with RFC
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:20:39 +00:00
Virgil
5ba21cb9bf
fix(proxy): align miner success wire format
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:17:31 +00:00
Virgil
2b8bba790c
refactor(proxy): align login flow with RFC order
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:13:10 +00:00
Virgil
cfd669e4d2
refactor(proxy): clarify config parameter names
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:09:58 +00:00
Virgil
6422a948bf
refactor(proxy): clarify runtime config naming
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:06:18 +00:00
Virgil
8bde2c14d0
fix(proxy): dispatch login events before splitter assignment
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 22:02:25 +00:00
Virgil
a79b35abaf
Improve public API usage examples
2026-04-04 21:58:37 +00:00