Skip to content

Docs: make the README, CONTRIBUTING and package description accurate - #73

Merged
aoinoikaz merged 1 commit into
mainfrom
docs-readme-accuracy
Oct 8, 2026
Merged

aoinoikaz merged 1 commit into
mainfrom
docs-readme-accuracy

Conversation

@aoinoikaz

@aoinoikaz aoinoikaz commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Brings the README, CONTRIBUTING and the cabal synopsis and description in line with the code. Based on #72, since both edit CONTRIBUTING; GitHub retargets this to main when #72 merges.

Was Now Checked against
"A pure core; IO is confined to the storage and server boundaries" Which parts are pure, and which run in IO NovaCache.NAR has 20 IO-typed signatures (withNarSource and the tree functions), Hash.hashFile :: FilePath -> IO NixHash, and Bzip2.decompress and Zstd.decompress return IO
build-depends: nova-cache nova-cache >= 0.11 && < 0.12, plus the sublibrary form The form nova-nix uses: nova-cache:{nova-cache, xz, ...}
Streaming example without Data.ByteString Imports it Compiled against 0.11.1.1 and run on a test tree
NIX_CACHE_DIR row Mentions --store exe/Main.hs:95
Public cache: a nix.conf snippet only Says what the cache holds (nova-nix#207), and that a multi-user Nix ignores substituters set by untrusted users The cache's current contents
cabal build / cabal test The CI commands, with -f server and -Werror ci.yml build job
"GHC 9.14+ and cabal-install 3.10+" Tested with GHC 9.14.1; CI uses the latest cabal-install tested-with, ci.yml:83
Synopsis and description: "pure-first" A plain description of the protocol coverage As above. Hackage shows it from the next release

CONTRIBUTING also names ormolu 0.9.0.0 and hlint 3.10, the versions ci.yml pins. The HTML header and footer become plain Markdown, and the dash substitutes are gone.

Checks

  • cabal check: no errors or warnings.
  • ASCII gate clean, and no dash substitutes in prose.
  • The streaming example compiles against nova-cache 0.11.1.1 and prints a NAR hash. The other three examples are unchanged apart from comment wording.

Base automatically changed from changelog-fragments to main October 8, 2026 21:11
The README called the library a pure core with IO confined to storage
and the server, but NAR tree serialization and restore, file hashing
and the codecs' decompress functions all run in IO. It now says which
parts are pure. The cabal synopsis and description drop "pure-first"
for the same reason; Hackage shows them from the next release.

Other corrections: the install snippet gains the PVP bounds and the
sublibrary syntax that dependents actually need, the streaming example
imports Data.ByteString itself, the server table lists --store, and the
public cache section says what the cache holds and where nix.conf must
set it for a multi-user Nix to use it. Both build instructions now give
the command CI runs, with the server flag and -Werror, and CONTRIBUTING
names the ormolu and hlint versions CI pins. The HTML header and
footer become plain Markdown.
@aoinoikaz
aoinoikaz force-pushed the docs-readme-accuracy branch from de28f93 to 2831d24 Compare October 8, 2026 21:12
@aoinoikaz
aoinoikaz merged commit e12a7d9 into main Oct 8, 2026
12 checks passed
@aoinoikaz
aoinoikaz deleted the docs-readme-accuracy branch October 8, 2026 21:40
@github-project-automation github-project-automation Bot moved this from Now to Done in Nova roadmap Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant