Skip to content

Repository quality: CI, staticcheck, shared nudges, a cache registry test, split god files, thin-package tests, and hand edits that hold - #16

Merged
Coder8124 merged 16 commits into
mainfrom
repo-quality
Oct 3, 2026
Merged

Coder8124 merged 16 commits into
mainfrom
repo-quality

Conversation

@Coder8124

Copy link
Copy Markdown
Owner

Eight of the nine quality items. The ninth, removing the 0.4 fallbacks, is already on main as 77256c0.

  • CI on every push to main and every PR (e3e1eb1): format, build, vet, staticcheck v0.8.1 (pinned), tests, and the uncached chaos tier. Until now tests ran only on a tag push, which is how main went red in #229.
  • Staticcheck clean (f94ff83): dead helpers removed, and a tautological test now compares what it meant to.
  • One source for checkpoint nudges (abd2722): the CLI and the MCP receipt share them. A checkpoint that says the work is done with nothing under verified is kept, and the receipt asks for the command that showed it (cbd7749).
  • Index-is-a-cache registry (5e93d48): every table the code creates must either be rebuilt from the vault and checked row for row after deleting the index, or be declared a cache with its reason.
  • God files split by topic, as pure moves: mcpserver/server.go, cmd/logos/setup.go and main.go, and internal/health/health.go.
  • Tests for the thin packages (textmatch, provider, and index retrieval), all against loopback servers.
  • A hand-deleted line stays deleted (4d2fcd1, 817217a, fd9dad7, e995633): before this, deleting a line from loops.md, dream-insights.md or the memory review queue only held if logos index ran before the next change. Otherwise the next write put the line back. Each store now adopts hand edits under its lock before rewriting the file, and skips that work when a sha256 stamp shows the file is still the one it wrote. Closing a loop, ruling on an insight, or accepting or rejecting a proposal whose line was just deleted now errors and names the file, instead of reporting success on nothing.

Verified: go build ./... && go test ./... && go vet ./... && gofmt -l ., go test -count=1 -tags chaos ./chaos/..., staticcheck v0.8.1. A scratch-vault run of loop add after a hand deletion kept the line gone, and loop done on the deleted id exited 1 with an error.

Known follow-ups, not in this PR: listing ignores a hand deletion until the next write or index; adopting an edit during a write doesn't say what it removed; memory's file stamps survive rebinding a store to another vault; and a row whose vault write failed is deleted by the next full adopt.

…s what it meant to, and the archive destination check reads without a loop that always breaks
…age, so a nudge or a wording fix reaches both
…ified is kept, and the receipt asks for the command that showed it
…d row for row after deleting the index, or declared a cache with the reason
… live in their own file, so setup.go holds the flow
…les, so health.go holds the report and the index checks
…off, a configured runtime, errors, schemas and both streaming paths
…edding, vector ranking, fusion with a lexical-only hit, and graph expansion
… is added or closed, without waiting for an index
…the next one is queued or reviewed, without waiting for an index
…xt one arrives or is reviewed, without waiting for an index
…from the next change logos makes there, not only from the next index
@Coder8124
Coder8124 merged commit 42744a2 into main Oct 3, 2026
1 check passed
@Coder8124
Coder8124 deleted the repo-quality branch October 3, 2026 01:13
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