Skip to content

Feature/hardening backlog - #48

Merged
nnlgsakib merged 16 commits into
masterfrom
feature/hardening-backlog
Aug 22, 2026
Merged

Feature/hardening backlog#48
nnlgsakib merged 16 commits into
masterfrom
feature/hardening-backlog

Conversation

@nnlgsakib

Copy link
Copy Markdown
Collaborator

No description provided.

nnlgsakib and others added 16 commits August 22, 2026 20:23
memgit/ is a separate project, not part of membuss (like memploy/).

Co-Authored-By: Claude <noreply@anthropic.com>
standard preset, generated-code exclusions, test-file errcheck
exemption. CI lint job runs reporting-only until debt burn-down.

Co-Authored-By: Claude <noreply@anthropic.com>
Six Go-native fuzz targets over the external input surface:
PEX frames, memex v2 frames, descriptors, MemNS record validation,
keyring PEM import, HTTP Range parsing. Shared libp2p network.Stream
test double in internal/wiretest.

Fuzzing found a real bug on first run (GATE-011):
parseRange("bytes=-1", size=0) returned success with an empty range.
Fixed with an end<=start guard; counterexample preserved in
gateway/memgate_v2/testdata/fuzz/FuzzParseRange/.

Co-Authored-By: Claude <noreply@anthropic.com>
parseRange("bytes=-1", size=0) clamped n to 0 and returned
(0,0,nil) - a 200 with an empty body instead of a 416. The suffix
branch returned before the shared bounds check. Guard added; found
by FuzzParseRange (XC-001). Also whitespace/gofmt touch-ups.

Co-Authored-By: Claude <noreply@anthropic.com>
Chunker (fixed/Rabin/FastCDC), store Put/Get/batch, erasure
encode/decode/verify, gateway Range parsing. Wired into weekly
ci-bench workflow with 90-day artifact history.

Co-Authored-By: Claude <noreply@anthropic.com>
make fuzz / fuzz-all / fuzz-one for the XC-001 targets. Recipes use
plain per-target rules and Makefile-level CGO export so they run
identically under sh and cmd.exe (PowerShell-spawned make has no
sh). RACE=1 flips CGO_ENABLED for -race runs.

Co-Authored-By: Claude <noreply@anthropic.com>
lint (reporting-only), govulncheck (reporting-only, see XC-012),
test matrix with -race on unix, coverage report + artifact,
6-target cross-build matrix, desktop submodule contract build.
Shared build-frontend composite action feeds the go:embed'd
explorer dist on every Go job. Weekly benchmark workflow included.

Verified locally with act: modules job green; lint and govulncheck
functional end-to-end.

Co-Authored-By: Claude <noreply@anthropic.com>
compose swarm, seed/verify round-trip, kill the seed node and
require refetch via remaining peer. Toxiproxy packet-loss profiles
still open (see finding.txt XC-007 note).

Co-Authored-By: Claude <noreply@anthropic.com>
Pins the two touchpoints desktop/ has with this module:
Default()->yaml->Load round-trip and core/version.Version. Breaks
in the root module CI instead of silently breaking the desktop
release build.

Co-Authored-By: Claude <noreply@anthropic.com>
memex v2 framing, PEX, descriptor layout (sha256 trailer MUST
verify), DHT namespaces + validators, edge RPC surface. Index with
versioning plan (new protocol IDs, deprecation window, Hello-frame
negotiation).

Co-Authored-By: Claude <noreply@anthropic.com>
JSONL at <datadir>/logs/audit.jsonl with 10 MiB rotation.
Explorer delete/flash/keyring-rm handlers record actor (client
IP), action, target. Node API exposes GET /api/v1/audit (last 100
entries, API-key gated). Daemon opens one logger and injects it
into both servers.

Co-Authored-By: Claude <noreply@anthropic.com>
…C-009)

membuss_erasure_repair_* metrics recorded via
RepairWorker.WithMetrics. deploy/ ships two Grafana dashboards
(node overview, Mem-Gate) and six alert rules (DHT failure ratio,
isolated node, unrecoverable MIDs, gateway 5xx, cache hit ratio,
rate-limit drops) with scrape-config README.

Note: RepairWorker is not yet started by the daemon (XC-011);
repair panels read zero until wired.

Co-Authored-By: Claude <noreply@anthropic.com>
Skip link + main landmark, aria-current nav, labeled search
inputs/button, SwarmMap cluster labels, WASM upload input label.
New src/lib/i18n: t() store + en dictionary; shared nav wired
through it. Route-level strings migrate incrementally.

Co-Authored-By: Claude <noreply@anthropic.com>
20 files carried an EF BB BF prefix (legal per spec but unusual;
some toolchains reject it). Bytes-only change, no code edits.

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Missed in the BOM sweep commit.

Co-Authored-By: Claude <noreply@anthropic.com>
@nnlgsakib
nnlgsakib merged commit b992156 into master Aug 22, 2026
9 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant