Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions .kanon-ci.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@
# Forge CI pipeline for forkwright/harmonia.
#
# 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 (32 on verda, the forge CI box) and
# parallel rustc + nextest processes spike RSS high enough to starve
# concurrent gate and dispatch work. 8 keeps a single CI run's peak low
# enough that gates coexist with the resident dispatch fleet on verda;
# metis is the live-instance box and runs no builds at all.
# → lint) but pins per-stage build + test concurrency to 8. Without this cap,
# cargo defaults to num_cpus — a property of whichever machine runs CI rather
# than of this build — and parallel rustc + nextest processes spike RSS high
# enough to starve the gate and dispatch work running alongside them. 8 keeps
# a single run's peak low enough that those coexist on one host.
#
# Keep in sync with `crates/archeion/src/ci_config.rs::default_rust_gate`
# when the upstream default changes — only the `--jobs` / `--test-threads`
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ technology choices.

## Standards

Canonical standards live under `~/dev/kanon/crates/basanos/standards/`:
Canonical standards live under `crates/basanos/standards/` in `forkwright/kanon`:
STANDARDS.md, RUST.md, SQL.md, SHELL.md, WRITING.md, and AGENT-DOCS.md.

## Build and test
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ The GitHub mirror at `github.com/forkwright/harmonia` works as before. A PR open

## Fallback

If the forge is unreachable, push to `github` and open a GitHub PR. When the forge is back, its pr-sync worker picks up the PR and continues from there. This is an escape hatch, not a preferred path - use it only when kanon.lan is actually down.
If the forge is unreachable, push to `github` and open a GitHub PR. When the forge is back, its pr-sync worker picks up the PR and continues from there. This is an escape hatch, not a preferred path - use it only when the forge is genuinely down.

## CI configuration

`.kanon-ci.toml` at the repo root defines the pipeline. Harmonia runs the full Rust gate across the media-pipeline workspace (19 crates: apotheke, archon, ergasia, paroche, syndesis, syndesmos, kathodos, and the rest): fmt, check, clippy, nextest, kanon lint. Per-stage `--jobs 8` / `--test-threads 8` caps keep peak RSS under the menos budget when other fleet work is resident. Keep those caps in sync with `crates/archeion/src/ci_config.rs::default_rust_gate` on the kanon side.
`.kanon-ci.toml` at the repo root defines the pipeline. Harmonia runs the full Rust gate across the media-pipeline workspace (19 crates: apotheke, archon, ergasia, paroche, syndesis, syndesmos, kathodos, and the rest): fmt, check, clippy, nextest, kanon lint. Per-stage `--jobs 8` / `--test-threads 8` caps keep a single run's peak RSS low enough to coexist with the other work resident on the same host; the rationale lives in that file's header comment. Keep those caps in sync with `crates/archeion/src/ci_config.rs::default_rust_gate` on the kanon side.

## Branch naming and commit format

Expand Down
18 changes: 9 additions & 9 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/komide/src/service/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ async fn validate_url_accepts_loopback_with_port() {

#[tokio::test]
async fn validate_url_accepts_lan_host() {
assert!(validate_url("http://kanon.lan").is_ok());
assert!(validate_url("http://feeds.lan").is_ok());
}

#[tokio::test]
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Agents: for a compressed crate map and technology index, load
- [PROJECT.md](PROJECT.md): Project overview and phase status
- [LESSONS.md](LESSONS.md): Operational rules from real failures
- [WORKING-AGREEMENT.md](WORKING-AGREEMENT.md): Syn + Cody collaboration protocol
- Code standards: `~/dev/kanon/crates/basanos/standards/` (kanon-synced)
- Code standards: `crates/basanos/standards/` in `forkwright/kanon` (kanon-synced)

## Architecture

Expand Down
2 changes: 1 addition & 1 deletion docs/architecture/errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> How Harmonia crates define, propagate, and log errors across subsystem boundaries.
> Error enums listed here map 1:1 to the crate inventory in [cargo.md](cargo.md).
> Patterns mandated by `~/dev/kanon/crates/basanos/standards/RUST.md` and the GreptimeDB reference architecture.
> Patterns mandated by `crates/basanos/standards/RUST.md` in `forkwright/kanon` and the GreptimeDB reference architecture.

## Purpose

Expand Down