chore: consolidate 9 root container files to 3 Containerfiles - #110
Conversation
Keep + rename (podman-first per estate convention): - Dockerfile.oblibeny-bootstrap → Containerfile.bootstrap - Dockerfile.oblibeny-minimal → Containerfile.minimal - Dockerfile.liboqs → Containerfile.liboqs (future vehicle for the deferred #62 full-link Zig FFI gate; header says so) Delete (Lago-Grey era experiments, referenced only in prose): Containerfile, Containerfile.crypto, Dockerfile.argon2, Dockerfile.crypto-builder, Dockerfile.lago-grey-minimal, Dockerfile.libsodium svalinn-compose.yaml moves to deploy/ alongside the other deployment manifests. justfile distroless recipes switch docker→podman with the new names. BUILD-LOG.md / FIRST-IMAGE-SUCCESS.md / CRYPTO-FFI-COMPLETE.md get historical-document notes; docs/DISTROLESS-BOOTSTRAP.adoc and docs/SECURITY-ARCHITECTURE.adoc updated to the new names. Zero `Dockerfile.` references remain in tooling (justfile, workflows, adoc). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ ApprovedConsolidates nine root container files down to three Containerfiles and updates justfile recipes to use podman. No issues found.
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Important Your trial ends in 6 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more. Was this helpful? React with 👍 / 👎 | Gitar |
|
|
…#111) Closes #68. Advances #63 (owner action below) and #79 (skeleton only; stays open). ## What - **CONTRIBUTING**: the `.md` was un-instantiated template rot — opened mid-code-fence, raw `{{MAIN_BRANCH}}` token, a repository tree with five nonexistent directories, ended mid-block. Real content rewritten into `CONTRIBUTING.adoc` (actual tree, `docs/TOOLCHAIN.adoc` + `.tool-versions` toolchain, proof-gate discipline); `.md` deleted; README link updated. - **GOVERNANCE / MAINTAINERS**: inverse situation — the `.adoc` twins are the rich repo-specific docs; the generic stubs (`GOVERNANCE.md`, bare `MAINTAINERS`) deleted. - **#79 skeleton**: `docs/learning-paths/README.adoc` seeds the end-user/developer/maintainer outline. ## Owner action — `.claude/CLAUDE.md` replacement (#63) The file is agent-edit-blocked (self-modification guardrail). Please replace its contents with the text below, which fixes: the six `.scm` references (now `.machine_readable/6a2/*.a2ml`), the phantom `guix.scm`/`deno.json` claims, and the foreign language-policy table (AffineScript/Deno/Tauri — a different project's stack). ```markdown ## Machine-Readable Artefacts Structured project metadata lives in `.machine_readable/6a2/` (A2ML format): - `STATE.a2ml` - Current project state and progress - `META.a2ml` - Architecture decisions and development practices - `ECOSYSTEM.a2ml` - Position in the ecosystem and related projects - `AGENTIC.a2ml` - AI agent interaction patterns - `NEUROSYM.a2ml` - Neurosymbolic integration config - `PLAYBOOK.a2ml` - Operational runbook - `0-AI-MANIFEST.a2ml` - Manifest Contractiles live in `.machine_readable/contractiles/`. --- # CLAUDE.md - AI Assistant Instructions ## This Repo's Stack (all pinned in .tool-versions) | Language/Tool | Use Case | |---------------|----------| | **OCaml 5.1.1 + dune** | The Oblíbený compiler (lib/, bin/, test/) | | **Idris2 0.7.0** | ABI proof layer (src/abi/, oblibeny-abi.ipkg) | | **Zig 0.13** | Crypto FFI + obli-pkg (ffi/zig/); 0.14+ breaks callconv(.C) | | **just** | Task runner — all operations go through the justfile | | **Bash/POSIX shell** | Scripts, kept minimal | | **Guile Scheme** | Root spec files (ANCHOR*.scm, SPEC*.scm, AUTHORITY*.scm) | Do not introduce Node/npm/TypeScript/Python/Go — this repo has no JS/Python surface and the estate bans them as replacements-available. ## The Proof Gate (non-negotiable) - CI (`ci.yml`) builds the OCaml language, runs the conformance suite, type-checks (= proves) the Idris2 ABI layer, compile-checks the Zig FFI, and rejects soundness escape hatches (`believe_me`, `postulate`, `assert_total`, `partial`, `idris_crash`, holes) in `src/abi/Crypto.idr` and `src/abi/Packages`. - Local mirror: `just ci` + `just proofs`. Never weaken a proof to make a change pass. ## Packaging - Containers: `Containerfile.bootstrap` / `Containerfile.minimal` / `Containerfile.liboqs` (podman-first). - `flake.nix` is legacy (estate ruling: Guix-only; a `guix.scm` migration is an open follow-up). ## Security Requirements - No MD5/SHA1 for security (use SHA256+) - HTTPS only (no HTTP URLs) - No hardcoded secrets - SHA-pinned dependencies (actions included) - SPDX license headers on all files ``` Suggested follow-up issue rather than folding in here: *"packaging: replace flake.nix with guix.scm"* (Nix-retired estate ruling). **Note**: `CONTRIBUTING.adoc` links `docs/TOOLCHAIN.adoc`, which lands in PR #108 — merge that first (they're ordered #108 → #109 → #110 → this). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Closes #67.
Shape
Dockerfile.oblibeny-bootstrapContainerfile.bootstrap(justfiledistroless-bootstrap)Dockerfile.oblibeny-minimalContainerfile.minimal(justfiledistroless-image)Dockerfile.liboqsContainerfile.liboqs— future vehicle for the deferred #62 full-link FFI gate (header comment added)Containerfile,Containerfile.crypto,Dockerfile.argon2,Dockerfile.crypto-builder,Dockerfile.lago-grey-minimal,Dockerfile.libsodiumsvalinn-compose.yamldeploy/(deployment composition, not a build file)justfile distroless recipes switch docker→podman with the new names (estate podman-first convention; rootful docker left uid-0 artifacts before). Prose docs (
BUILD-LOG.md,FIRST-IMAGE-SUCCESS.md,CRYPTO-FFI-COMPLETE.md) get historical-document notes;docs/DISTROLESS-BOOTSTRAP.adoc+docs/SECURITY-ARCHITECTURE.adocupdated so no copy-pasteable command references a deleted file.Verified
just --listparses;grepconfirms zeroDockerfile.references remain in justfile/workflows/adocpodman build -f Containerfile.bootstrap .🤖 Generated with Claude Code