chore(docs,nix,horismos): delete fabricated-feature docs and repair the NixOS module - #619
Merged
Conversation
…he NixOS module docs (#604): - delete docs/download/irc.md: a full IRC-announce integration with zero implementation anywhere in the workspace and no tracking issue - rewrite docs/media/import-rename.md to describe the real import path: archon::import::ImportAdapter (the only production caller) -> kathodos's ImportPipeline, the tags -> DB hints -> filename resolver (archon::import::DownloadResolver), the real TemplateEngine/token reference/default templates (crates/kathodos/src/import/template.rs), the real conflict-resolution contract vs. what the one production caller actually exercises, and the haves/wants finalize transaction. Removes the invented naming_template/max_conflict_suffix/import_timeout_seconds/ bulk_rename_concurrency config fields and the never-built dry-run/ bulk-rename endpoints. - fix the now-stale cross-reference in docs/media/scanner.md nix (#610): - horismos: HARMONIA_SECRETS_PATH env var now honored as an override for the secrets.toml path (crates/horismos/src/secrets.rs), taking priority over the config-sibling default when set to a non-blank value. This makes the NixOS module's LoadCredential delivery actually work -- previously no Rust code read that variable. Covered by 3 new tests in crates/horismos/src/lib.rs (env override wins, absent falls back, blank falls back). - nix/module.nix: extend ReadWritePaths with ergasia.download_dir and komide.podcast_dir (mirroring the Rust compiled-in defaults); add systemd.tmpfiles.rules to create both directories, since neither is auto-created the way StateDirectory creates dataDir and validate_download_dir rejects a missing directory at boot; fix the inline `settings` example, which omitted two required LibraryConfig fields (poll_interval_seconds, scan_interval_hours) and would have failed config parsing. - nix/tests/module-test.nix: supply a valid secretsFile (32+ byte jwt_secret) via the now-functional LoadCredential path instead of an empty config that could never pass validation. - docs/nix-deployment.md: fix the full-configuration example against the real schema (horismos::MediaType is music|video|book only -- no "audiobook" value; epignosis.musicbrainz_user_agent does not exist and deny_unknown_fields would reject it; every LibraryConfig field is required); document the HARMONIA_SECRETS_PATH mechanism now being real; correct the ReadWritePaths list in the hardening summary. - docs/architecture/configuration.md: document the HARMONIA_SECRETS_PATH override in the secrets-separation section and figment layer-order table. Not included here (ask-first / unverifiable from metis): - a .github/workflows/ nix flake-check CI job -- workflow files are ask-first; see PR body for the proposed job - flake.lock -- missing from the tree; metis has no nix toolchain to generate it (needs an operator run of `nix flake lock`) - the module/flake booting a real instance -- unverified; metis cannot run nixos-test locally Closes #604 Closes #610 Gate-Passed: kanon 0.1.6 +stages:fmt,check,clippy,nextest,lint sha:d7209b9fa895b07e58d551c4941ec0350ec9f725
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cleanup sweep.
Closes #604 —
docs/download/irc.mddeleted (353 lines of a never-built IRC integration, no code, no tracking issue);docs/media/import-rename.mdrewritten to describe the REAL import path (verified against the #613 ImportAdapter + kathodos), dropping every invented field. Straggler refs fixed (README, scanner.md).Part of #610 — the horismos secrets fix (gate-verified) + module + docs; two acceptance items remain operator-gated:
crates/horismos/src/secrets.rs:secrets_path()now honorsHARMONIA_SECRETS_PATH(the systemd LoadCredential delivery path), so the module's secrets mechanism actually loads — the core break. 3 new tests (env wins / absent / blank).nix/module.nix:ReadWritePathsextended withergasia.download_dir+komide.podcast_dir(+ tmpfiles to create them);module-test.nixsupplies a valid jwt_secret via the now-working credential path.docs/nix-deployment.md: schema errors fixed (invalid media_type, nonexistent field, required per-library fields).#610 stays OPEN for the two items that need a nix toolchain / operator action: committing
flake.lock(metis has no nix) and adding anix flake checkCI job (an ask-first.github/workflow). The nix module edits are NOT boot-verified (no nix on metis) — they'll be verified by that CI job once added.Gate green (full workspace; the horismos change + all docs + deletions are gate-verified).