diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 37747fa..9ae9a24 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,7 +15,7 @@ We welcome contributions in many forms: ## Getting Started 1. **Read the AI Manifest:** Start with `0-AI-MANIFEST.a2ml` (if present) to understand the repository structure. -2. **Environment:** Use `nix develop` or `direnv allow` to set up your tools. +2. **Environment:** Use `guix shell -D -f guix.scm` (or `direnv allow`) to set up your tools. Guix is the canonical packager per [standards#101](https://github.com/hyperpolymath/standards/issues/101); the prior `nix develop` fallback was retired. 3. **Task Runner:** Use `just` to see available commands (`just --list`). ## Development Workflow diff --git a/TESTING-AUDIT.md b/TESTING-AUDIT.md index 24751ec..54c0966 100644 --- a/TESTING-AUDIT.md +++ b/TESTING-AUDIT.md @@ -98,7 +98,7 @@ baseline, add a CI job that fails if p95 regresses > 50%. | **Functionality** | strong | 39 Elixir + 38 Rust test files, ~8,659 Elixir LOC, full pipeline E2E | | **Versability** | strong | SemVer in `CHANGELOG.adoc` + `mix.exs`, detailed per-version changelogs | | **Maintainability** | strong | Modular Rust workspace, TOPOLOGY.md, DESIGN-NARRATIVE.md, clean module boundaries | -| **Reproducibility** | strong | `flake.nix` + `guix.scm`, `Cargo.lock` + `mix.lock` committed | +| **Reproducibility** | strong | `guix.scm` (canonical per standards#101 — `flake.nix` retired), `Cargo.lock` + `mix.lock` committed | | **Portability** | strong | Cross-platform CI matrix (Linux x86_64 / ARM64, macOS x86_64 / ARM64, Windows), Containerfile, podman | | **Dependability** | weak | OTP supervision + concurrency tests but no chaos engineering, no fault-injection | | **Performance** | weak | No published metrics, no latency / throughput benchmarks gated, no capacity planning | diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 032fb8b..0000000 --- a/flake.lock +++ /dev/null @@ -1,61 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 845d0ab..0000000 --- a/flake.nix +++ /dev/null @@ -1,52 +0,0 @@ -# SPDX-License-Identifier: PMPL-1.0-or-later -# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) -# -# Nix flake development environment for hypatia. -# Usage: nix develop -{ - description = "Hypatia — neurosymbolic CI/CD intelligence platform"; - - # SECURITY: inputs pinned to a release branch rather than `unstable` - # for marginal supply-chain hardening. A generated `flake.lock` is - # still required for full content-hash pinning — run `nix flake lock` - # to produce one. The host where this commit was authored does not - # have `nix` on PATH, so the lockfile is intentionally absent from - # this commit; first developer with nix should generate and commit it. - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem (system: - let pkgs = nixpkgs.legacyPackages.${system}; - in { - devShells.default = pkgs.mkShell { - buildInputs = with pkgs; [ - # Elixir/Erlang — BEAM-based rule engine - elixir - erlang - - # Rust — CLI scanner and core analysis - rustc - cargo - clippy - rustfmt - - # Idris2 — formal verification ABI - idris2 - - # Zig — FFI implementation - zig - - # System dependencies - pkg-config - openssl - ]; - - shellHook = '' - echo "hypatia dev shell — elixir + cargo + idris2 + zig" - ''; - }; - }); -}