diff --git a/.kanon-ci.toml b/.kanon-ci.toml index 87dd956..cbd1e6e 100644 --- a/.kanon-ci.toml +++ b/.kanon-ci.toml @@ -5,12 +5,15 @@ # Forge CI pipeline for forkwright/akroasis. # # Mirrors the hardcoded default Rust gate (fmt → check → clippy → nextest -# → lint) but pins per-stage build + test concurrency to 8. Without this -# cap, cargo defaults to num_cpus (64 on this Threadripper) and parallel -# rustc + nextest processes peak well over 100GB of RSS — enough to OOM -# menos when any other fleet work is running. 8 is the budget that keeps -# a single CI run under ~25GB peak, low enough that serial drains don't -# OOM even with aletheia.service and the dispatch fleet resident. +# → lint) but pins per-stage build + test concurrency to 8. The 8 is a memory +# bar, not a speed setting: this workspace's rustc and nextest processes are +# RSS-heavy, so peak memory tracks the job count. Unpinned, that count follows +# cargo's num_cpus default — a property of whichever machine runs CI rather +# than of this build — and the peak rises with it. At 8 a single run holds +# under ~25GB, and that margin is what lets CI run without starving whatever +# else the build host is already serving, including the next queued run when +# several drain back to back. Raise the number and the peak leaves that +# envelope; delete the line and there is no envelope at all. # # Keep in sync with `crates/archeion/src/ci_config.rs::default_rust_gate` # when the upstream default changes — only the `--jobs` / `--test-threads` diff --git a/.kanon-lint-ignore b/.kanon-lint-ignore index aff6712..360d94b 100644 --- a/.kanon-lint-ignore +++ b/.kanon-lint-ignore @@ -1,7 +1,7 @@ # WHY: Feature branches for #118/#122 were developed directly in the main worktree -# from metis while menos (the canonical compute host with dispatch-wt infrastructure) -# is offline for firmware recovery. The sub-worktree convention is the normal path; -# this exception acknowledges the recovery-window deviation. Tracked to remove once -# menos returns and dispatch-wt is restored. -# NOTE: All subsequent PR work should go through ~/dev/worktrees/akroasis/. +# during a window when the usual sub-worktree tooling was unavailable. The +# sub-worktree convention is the normal path; this exception acknowledges the +# deviation. Tracked to remove once the sub-worktree path is restored. +# NOTE: All subsequent PR work should go through a per-branch worktree rather +# than the main checkout. ORCHESTRATION/main-worktree-commit-prohibited:Cargo.toml diff --git a/AGENTS.md b/AGENTS.md index 8d54509..addb199 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -36,9 +36,9 @@ Communications sovereignty and RF intelligence platform. Rust workspace, single ## Where to add things -- New crate: `crates//`, register in root `Cargo.toml` members, follow `~/dev/kanon/crates/basanos/standards/GNOMON.md` for naming, add entry to `docs/lexicon.md` +- New crate: `crates//`, register in root `Cargo.toml` members, follow `crates/basanos/standards/GNOMON.md` in `forkwright/kanon` for naming, add entry to `docs/lexicon.md` - New signal type: extend `GeoSignal` enum in `stoicheion`; downstream crates match exhaustively -- New standard or convention: propose it in `~/dev/kanon/crates/basanos/standards/`; cross-link from this repo's `standards/README.md` +- New standard or convention: propose it in `crates/basanos/standards/` in `forkwright/kanon`; cross-link from this repo's `standards/README.md` ## Boundaries @@ -50,7 +50,7 @@ Communications sovereignty and RF intelligence platform. Rust workspace, single diff --git a/CLAUDE.md b/CLAUDE.md index a430469..a5e74a5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ @@ -10,10 +10,12 @@ Project conventions for AI coding agents working on this codebase. ## Standards -Universal: `~/dev/kanon/crates/basanos/standards/STANDARDS.md` -Rust: `~/dev/kanon/crates/basanos/standards/RUST.md` -Shell: `~/dev/kanon/crates/basanos/standards/SHELL.md` -Writing: `~/dev/kanon/crates/basanos/standards/WRITING.md` +Fleet standards live in `crates/basanos/standards/` in `forkwright/kanon`: + +Universal: `STANDARDS.md` +Rust: `RUST.md` +Shell: `SHELL.md` +Writing: `WRITING.md` ## Structure @@ -36,7 +38,7 @@ cargo clippy --workspace # Lint (zero warnings) - **Async:** Tokio - **Lints:** `#[expect(lint, reason = "...")]` over `#[allow]` - **Visibility:** `pub(crate)` by default -- **Naming:** Greek names per `~/dev/kanon/crates/basanos/standards/GNOMON.md`, registry at [docs/lexicon.md](docs/lexicon.md) +- **Naming:** Greek names per `crates/basanos/standards/GNOMON.md` in `forkwright/kanon`, registry at [docs/lexicon.md](docs/lexicon.md) ## Before submitting diff --git a/docs/reference-store.md b/docs/reference-store.md index e4b805d..c0aad2f 100644 --- a/docs/reference-store.md +++ b/docs/reference-store.md @@ -8,12 +8,11 @@ a second local Pinax identity. The application layer remains deliberately unnamed until it passes the fleet naming gate. The repository does not ship an `instance/` tree today. This document defines -the target layout and migration policy so the existing `theke/_reference` -staging area can move only after the source inventory is visible and -checksummed. A transactional Pinax integration waits for the standalone -engine's multi-record transaction and typed-schema contracts; the final -async-native shape also waits for its async API rather than shipping a -temporary blocking adapter. +the target layout and migration policy so the existing staging area can move +only after the source inventory is visible and checksummed. A transactional +Pinax integration waits for the standalone engine's multi-record transaction +and typed-schema contracts; the final async-native shape also waits for its +async API rather than shipping a temporary blocking adapter. The encryption authorities are distinct. Pinax owns encryption of its database pages at rest. Akroasis owns the domain-envelope policy for reference content, @@ -74,8 +73,8 @@ Initial supported content classes: Per-crate docs stay in the crate or `docs/`. Operational reference payloads, large manuals, docsets, and preserved external corpora live in the instance -reference store. Theke may link to this store, but it should not own akroasis -reference data after migration. +reference store. The staging library may link to this store, but it should not +own akroasis reference data after migration. ## Manifests @@ -119,7 +118,7 @@ symlink at `~/akroasis/instance/reference` and keep all internal paths relative to that canonical root. Do not scatter per-content symlinks across `/`, `/data`, `/storage`, and -removable menos drives. Mount or link the store root once, then let manifests +removable drives. Mount or link the store root once, then let manifests describe the content inside it. ## Migration gates @@ -141,6 +140,6 @@ Before moving content out of the current staging area: As of this design note, akroasis only documents the planned reference-library application. There is no checked-in `instance/` directory, no local -persistence crate, and no verified copy of the source `theke/_reference` tree -in this worktree. Akroasis issue #395 owns the producer-readiness and Sphragis +persistence crate, and no verified copy of the source staging tree in this +worktree. Akroasis issue #395 owns the producer-readiness and Sphragis handoff gates for the first durable implementation.