From ed3a619694f1081615d8d573bb70297d81aa6fc6 Mon Sep 17 00:00:00 2001 From: sf19-97 Date: Sun, 5 Jul 2026 20:52:20 -0700 Subject: [PATCH 1/3] docs(prod): remove vestigial sdk-types crate Align CODE_MAP and the drift guard with docs/ledger/decisions/crates-io-publish-set.md Amendment 2026-06-07, which removed ergo-sdk-types before first publish. --- crates/prod/CODE_MAP.md | 11 +++++------ tools/verify_code_map_drift.sh | 9 ++++----- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/crates/prod/CODE_MAP.md b/crates/prod/CODE_MAP.md index b01f52d..91d67c0 100644 --- a/crates/prod/CODE_MAP.md +++ b/crates/prod/CODE_MAP.md @@ -27,7 +27,7 @@ Sibling: `crates/kernel/CODE_MAP.md` for the kernel half. --- -## 1. The six prod crates +## 1. The five prod crates The prod tree has two layers (`core/`, `clients/`) plus a small `shared/` helper crate. Every prod crate ultimately re-exports or composes the @@ -40,7 +40,6 @@ meaning. | **`ergo-host`** | `crates/prod/core/host` | The full host orchestration loop: usecases facade, `HostedRunner`, `BufferingRuntimeInvoker`, effect handlers, handler coverage, egress, capture enrichment. | Kernel runtime/adapter/supervisor semantics; loader transport; CLI/SDK shape. | `ergo-adapter`, `ergo-runtime`, `ergo-supervisor`, `ergo-loader`, `ergo-prod-duration`. | | **`ergo-sdk`** | `crates/prod/clients/sdk-rust` | The SDK `Ergo` engine, `ErgoBuilder`, `ProfileRunner`, `StopHandle`, SDK-branded `Ergo*Error` taxonomy, in-memory project plumbing. | Host orchestration internals; loader internals; kernel semantics. | `ergo-adapter`, `ergo-host`, `ergo-loader`, `ergo-runtime`. | | **`ergo-cli`** | `crates/prod/clients/cli` | The `ergo` binary entry, argument parsing, CLI subcommand dispatch, exit codes, text/JSON output rendering. | Host orchestration; SDK engine; kernel semantics. | `ergo-host`, plus `ergo-adapter`/`ergo-runtime`/`ergo-supervisor` for replay/test paths; `ergo-fixtures`. | -| **`ergo-sdk-types`** | `crates/prod/clients/sdk-types` | Lightweight cross-binding serde types (currently `SdkVersion` only). | Anything else. | `serde` only. | | **`ergo-prod-duration`** | `crates/prod/shared/duration` | The shared `ms\|s\|m\|h` duration-literal parser used by host egress config and loader profile literals. | Serde wrappers; runtime timing policy. | `std` only. | Every prod-side crate carries a `//! crate_name` header in @@ -72,8 +71,8 @@ matches: see `crates/kernel/runtime/src/lib.rs`, ergo-adapter ─ ergo-runtime ─ ergo-supervisor ``` -`ergo-sdk-types` and `ergo-prod-duration` sit outside this main chain; -they are leaf helpers consumed by `sdk-rust` / `host` / `loader`. +`ergo-prod-duration` sits outside this main chain; it is a leaf helper +consumed by `host` / `loader`. --- @@ -953,9 +952,9 @@ grep -A6 "pub trait RuntimeInvoker" crates/kernel/adapter/src/lib.rs | grep -qE ### C. Crate inventory check ```sh -# §1 — prod tree must still have exactly six crates +# §1 — prod tree must still have exactly five crates count=$(find crates/prod -name Cargo.toml -not -path "*/target/*" | wc -l | tr -d ' ') -[ "$count" = "6" ] || echo "PROD CRATE COUNT DRIFT: expected 6, got $count (update §1)" +[ "$count" = "5" ] || echo "PROD CRATE COUNT DRIFT: expected 5, got $count (update §1)" ``` If any check above fails, update the relevant section of this doc in diff --git a/tools/verify_code_map_drift.sh b/tools/verify_code_map_drift.sh index b346543..c20414f 100755 --- a/tools/verify_code_map_drift.sh +++ b/tools/verify_code_map_drift.sh @@ -180,13 +180,12 @@ fi # Prod CODE_MAP citations # ===================================================================== -# §1 — six prod crates +# §1 — five prod crates prod_crates=( \ "crates/prod/core/loader" \ "crates/prod/core/host" \ "crates/prod/clients/sdk-rust" \ "crates/prod/clients/cli" \ - "crates/prod/clients/sdk-types" \ "crates/prod/shared/duration" \ ) for c in "${prod_crates[@]}"; do @@ -296,10 +295,10 @@ if grep -A6 "pub trait RuntimeInvoker" crates/kernel/adapter/src/lib.rs | grep - fail=1 fi -# §1 — prod tree must still have exactly six crates +# §1 — prod tree must still have exactly five crates prod_crate_count=$(find crates/prod -name Cargo.toml -not -path "*/target/*" | wc -l | tr -d ' ') -if [[ "$prod_crate_count" != "6" ]]; then - echo "PROD CRATE COUNT DRIFT: expected 6, got $prod_crate_count (update prod CODE_MAP §1)" +if [[ "$prod_crate_count" != "5" ]]; then + echo "PROD CRATE COUNT DRIFT: expected 5, got $prod_crate_count (update prod CODE_MAP §1)" fail=1 fi From 4bae41925b1fd7990956a0b91d03fcaf27198233 Mon Sep 17 00:00:00 2001 From: sf19-97 Date: Sun, 5 Jul 2026 20:52:38 -0700 Subject: [PATCH 2/3] style(cli): apply rustfmt to dispatch --- crates/prod/clients/cli/src/cli/dispatch.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crates/prod/clients/cli/src/cli/dispatch.rs b/crates/prod/clients/cli/src/cli/dispatch.rs index c380a5b..b460793 100644 --- a/crates/prod/clients/cli/src/cli/dispatch.rs +++ b/crates/prod/clients/cli/src/cli/dispatch.rs @@ -37,7 +37,8 @@ fn dispatch_help(args: impl Iterator) -> Result Date: Sun, 5 Jul 2026 20:52:56 -0700 Subject: [PATCH 3/3] docs(readme): add runtime surface ci badge --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 04f43bb..dc5722c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Ergo +[![CI](https://github.com/ergo-engine/ergo/actions/workflows/runtime-surface.yml/badge.svg?branch=main)](https://github.com/ergo-engine/ergo/actions/workflows/runtime-surface.yml) + Ergo is a deterministic graph execution engine built in Rust. It implements a four-primitive ontological model — **Source, Compute, Trigger, Action** — representing universal causal roles. Graphs are authored declaratively in YAML or JSON. Execution is deterministic: same inputs, same decisions, same outputs. Ergo can produce replayable capture artifacts or bundles for audit, debugging, and verification.