From 36d64433f56dbb55aabbe0d9e3f0f0e4022410ba Mon Sep 17 00:00:00 2001 From: Claude Code Date: Wed, 29 Apr 2026 11:03:36 +0000 Subject: [PATCH] =?UTF-8?q?feat(#238):=20scaffold=20rings/=20for=20trios-i?= =?UTF-8?q?gla-race=20=E2=80=94=20IR-00=20IR-01=20BR-OUTPUT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Additive ring scaffold under L-ARCH-001 for trios-igla-race. Crate src/ is untouched. Each ring has Cargo.toml + src/lib.rs + RING.md + AGENTS.md + TASK.md (Invariant I5). Refs #238 Anchor: phi^2 + phi^-2 = 3 ยท TRINITY ยท NEVER STOP --- Cargo.lock | 12 ++++++ Cargo.toml | 4 ++ crates/trios-igla-race/RING.md | 42 +++++++++++++++++++ .../trios-igla-race/rings/BR-OUTPUT/AGENTS.md | 24 +++++++++++ .../rings/BR-OUTPUT/Cargo.toml | 8 ++++ .../trios-igla-race/rings/BR-OUTPUT/RING.md | 26 ++++++++++++ .../trios-igla-race/rings/BR-OUTPUT/TASK.md | 11 +++++ .../rings/BR-OUTPUT/src/lib.rs | 20 +++++++++ crates/trios-igla-race/rings/IR-00/AGENTS.md | 24 +++++++++++ crates/trios-igla-race/rings/IR-00/Cargo.toml | 8 ++++ crates/trios-igla-race/rings/IR-00/RING.md | 26 ++++++++++++ crates/trios-igla-race/rings/IR-00/TASK.md | 11 +++++ crates/trios-igla-race/rings/IR-00/src/lib.rs | 20 +++++++++ crates/trios-igla-race/rings/IR-01/AGENTS.md | 24 +++++++++++ crates/trios-igla-race/rings/IR-01/Cargo.toml | 8 ++++ crates/trios-igla-race/rings/IR-01/RING.md | 26 ++++++++++++ crates/trios-igla-race/rings/IR-01/TASK.md | 11 +++++ crates/trios-igla-race/rings/IR-01/src/lib.rs | 20 +++++++++ 18 files changed, 325 insertions(+) create mode 100644 crates/trios-igla-race/RING.md create mode 100644 crates/trios-igla-race/rings/BR-OUTPUT/AGENTS.md create mode 100644 crates/trios-igla-race/rings/BR-OUTPUT/Cargo.toml create mode 100644 crates/trios-igla-race/rings/BR-OUTPUT/RING.md create mode 100644 crates/trios-igla-race/rings/BR-OUTPUT/TASK.md create mode 100644 crates/trios-igla-race/rings/BR-OUTPUT/src/lib.rs create mode 100644 crates/trios-igla-race/rings/IR-00/AGENTS.md create mode 100644 crates/trios-igla-race/rings/IR-00/Cargo.toml create mode 100644 crates/trios-igla-race/rings/IR-00/RING.md create mode 100644 crates/trios-igla-race/rings/IR-00/TASK.md create mode 100644 crates/trios-igla-race/rings/IR-00/src/lib.rs create mode 100644 crates/trios-igla-race/rings/IR-01/AGENTS.md create mode 100644 crates/trios-igla-race/rings/IR-01/Cargo.toml create mode 100644 crates/trios-igla-race/rings/IR-01/RING.md create mode 100644 crates/trios-igla-race/rings/IR-01/TASK.md create mode 100644 crates/trios-igla-race/rings/IR-01/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 62d2a00605..f0b0aa5df9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5043,6 +5043,18 @@ dependencies = [ "uuid", ] +[[package]] +name = "trios-igla-race-broutput" +version = "0.1.0" + +[[package]] +name = "trios-igla-race-ir00" +version = "0.1.0" + +[[package]] +name = "trios-igla-race-ir01" +version = "0.1.0" + [[package]] name = "trios-ipc" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 578a089ce0..24977987ec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,6 +65,10 @@ members = [ "vendor/tri-mcp/rings/SR-00", "vendor/tri-mcp/rings/SR-01", "vendor/tri-mcp/rings/SR-02", + # ORDER-4 (#238) โ€” trios-igla-race rings + "crates/trios-igla-race/rings/IR-00", + "crates/trios-igla-race/rings/IR-01", + "crates/trios-igla-race/rings/BR-OUTPUT", ] exclude = [ "crates/trios-ext", diff --git a/crates/trios-igla-race/RING.md b/crates/trios-igla-race/RING.md new file mode 100644 index 0000000000..d3a2c717f5 --- /dev/null +++ b/crates/trios-igla-race/RING.md @@ -0,0 +1,42 @@ +# RING โ€” trios-igla-race + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Type | Crate (rings scaffolded for issue #238) | +| Sealed | No | + +## Purpose + +Orchestration and telemetry rings for trios-igla-race (active IGLA #143/#264 orchestrator) โ€” scaffolded under L-ARCH-001 (Tier 4). + +## Ring Structure (L-ARCH-001) + +Rings: IR-00 (orchestration), IR-01 (telemetry), BR-OUTPUT (output) + +``` +crates/trios-igla-race/ +โ”œโ”€โ”€ src/ โ† existing logic (untouched, re-export facade) +โ””โ”€โ”€ rings/ โ† scaffolded for issue #238 (additive) + โ”œโ”€โ”€ IR-00/ โ† orchestration + โ”œโ”€โ”€ IR-01/ โ† telemetry + โ”œโ”€โ”€ BR-OUTPUT/ โ† output +``` + +## Dependency flow + +``` +BR-OUTPUT โ†’ IR-01 โ†’ IR-00 +``` + +## Anchor + +`phi^2 + phi^-2 = 3 ยท TRINITY ยท NEVER STOP` + +## Laws + +- R1 / R5 / R9: Ring isolation +- L7: Additive scaffold only โ€” no behavior change to parent `src/` +- L-ARCH-001: `rings/` is the future home of all logic diff --git a/crates/trios-igla-race/rings/BR-OUTPUT/AGENTS.md b/crates/trios-igla-race/rings/BR-OUTPUT/AGENTS.md new file mode 100644 index 0000000000..a7c4df1a09 --- /dev/null +++ b/crates/trios-igla-race/rings/BR-OUTPUT/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Instructions โ€” BR-OUTPUT + +## Context + +This is the `output` ring of `trios-igla-race`, scaffolded for issue #238. + +## Files + +- `src/lib.rs` โ€” ring entry point (currently a placeholder) +- `Cargo.toml` โ€” workspace member, Bronze tier +- `RING.md` โ€” ring identity and laws +- `TASK.md` โ€” incremental migration checklist + +## Allowed + +- Add types and functions that belong to the `output` concern +- Add unit tests under `#[cfg(test)]` +- Re-export types upward to the parent crate's facade + +## Forbidden + +- Importing sibling rings directly (R1) +- Adding I/O or async runtimes that conflict with parent crate +- Breaking the `ring_id()` contract used by smoke tests diff --git a/crates/trios-igla-race/rings/BR-OUTPUT/Cargo.toml b/crates/trios-igla-race/rings/BR-OUTPUT/Cargo.toml new file mode 100644 index 0000000000..e14042dac2 --- /dev/null +++ b/crates/trios-igla-race/rings/BR-OUTPUT/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "trios-igla-race-broutput" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +description = "BR-OUTPUT โ€” output ring for trios-igla-race" +publish = false diff --git a/crates/trios-igla-race/rings/BR-OUTPUT/RING.md b/crates/trios-igla-race/rings/BR-OUTPUT/RING.md new file mode 100644 index 0000000000..7aae28c13f --- /dev/null +++ b/crates/trios-igla-race/rings/BR-OUTPUT/RING.md @@ -0,0 +1,26 @@ +# RING โ€” BR-OUTPUT (trios-igla-race) + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Package | trios-igla-race-broutput | +| Sealed | No | + +## Purpose + +`output` ring for `trios-igla-race`. Scaffolded as part of issue #238 to bring +this crate under the ring-isolation architecture (L-ARCH-001). + +## Ring scope + +This ring will eventually own the `output` concern of `trios-igla-race`. +The current scaffold is a placeholder; logic remains in the parent crate's +`src/` until migrated incrementally. + +## Laws + +- R1 / R5 / R9: Ring isolation +- L7: Additive scaffold only โ€” no behavior change +- L6: Pure Rust diff --git a/crates/trios-igla-race/rings/BR-OUTPUT/TASK.md b/crates/trios-igla-race/rings/BR-OUTPUT/TASK.md new file mode 100644 index 0000000000..a55bb05774 --- /dev/null +++ b/crates/trios-igla-race/rings/BR-OUTPUT/TASK.md @@ -0,0 +1,11 @@ +# TASK โ€” BR-OUTPUT + +## Status: scaffolded (issue #238) + +- [x] Ring directory created +- [x] Cargo.toml with workspace inheritance +- [x] src/lib.rs placeholder + smoke test +- [x] RING.md, AGENTS.md, TASK.md present (Invariant I5) +- [ ] Migrate `output` logic from parent `src/` (follow-up) +- [ ] Add ring-level integration tests +- [ ] Seal ring (Bronze โ†’ Silver promotion) diff --git a/crates/trios-igla-race/rings/BR-OUTPUT/src/lib.rs b/crates/trios-igla-race/rings/BR-OUTPUT/src/lib.rs new file mode 100644 index 0000000000..22c4347be2 --- /dev/null +++ b/crates/trios-igla-race/rings/BR-OUTPUT/src/lib.rs @@ -0,0 +1,20 @@ +//! BR-OUTPUT โ€” output +//! +//! Ring scaffold for `trios-igla-race`. Logic lives in the parent crate's +//! `src/` until migrated. This ring is additive scaffolding under L-ARCH-001 +//! to satisfy the ring isolation contract required by issue #238. + +/// Marker placeholder so the ring compiles cleanly. +pub fn ring_id() -> &'static str { + "BR-OUTPUT" +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ring_id_matches() { + assert_eq!(ring_id(), "BR-OUTPUT"); + } +} diff --git a/crates/trios-igla-race/rings/IR-00/AGENTS.md b/crates/trios-igla-race/rings/IR-00/AGENTS.md new file mode 100644 index 0000000000..0532c8e73e --- /dev/null +++ b/crates/trios-igla-race/rings/IR-00/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Instructions โ€” IR-00 + +## Context + +This is the `orchestration` ring of `trios-igla-race`, scaffolded for issue #238. + +## Files + +- `src/lib.rs` โ€” ring entry point (currently a placeholder) +- `Cargo.toml` โ€” workspace member, Bronze tier +- `RING.md` โ€” ring identity and laws +- `TASK.md` โ€” incremental migration checklist + +## Allowed + +- Add types and functions that belong to the `orchestration` concern +- Add unit tests under `#[cfg(test)]` +- Re-export types upward to the parent crate's facade + +## Forbidden + +- Importing sibling rings directly (R1) +- Adding I/O or async runtimes that conflict with parent crate +- Breaking the `ring_id()` contract used by smoke tests diff --git a/crates/trios-igla-race/rings/IR-00/Cargo.toml b/crates/trios-igla-race/rings/IR-00/Cargo.toml new file mode 100644 index 0000000000..f40739d04c --- /dev/null +++ b/crates/trios-igla-race/rings/IR-00/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "trios-igla-race-ir00" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +description = "IR-00 โ€” orchestration ring for trios-igla-race" +publish = false diff --git a/crates/trios-igla-race/rings/IR-00/RING.md b/crates/trios-igla-race/rings/IR-00/RING.md new file mode 100644 index 0000000000..2ef82d9501 --- /dev/null +++ b/crates/trios-igla-race/rings/IR-00/RING.md @@ -0,0 +1,26 @@ +# RING โ€” IR-00 (trios-igla-race) + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Package | trios-igla-race-ir00 | +| Sealed | No | + +## Purpose + +`orchestration` ring for `trios-igla-race`. Scaffolded as part of issue #238 to bring +this crate under the ring-isolation architecture (L-ARCH-001). + +## Ring scope + +This ring will eventually own the `orchestration` concern of `trios-igla-race`. +The current scaffold is a placeholder; logic remains in the parent crate's +`src/` until migrated incrementally. + +## Laws + +- R1 / R5 / R9: Ring isolation +- L7: Additive scaffold only โ€” no behavior change +- L6: Pure Rust diff --git a/crates/trios-igla-race/rings/IR-00/TASK.md b/crates/trios-igla-race/rings/IR-00/TASK.md new file mode 100644 index 0000000000..ef9356b981 --- /dev/null +++ b/crates/trios-igla-race/rings/IR-00/TASK.md @@ -0,0 +1,11 @@ +# TASK โ€” IR-00 + +## Status: scaffolded (issue #238) + +- [x] Ring directory created +- [x] Cargo.toml with workspace inheritance +- [x] src/lib.rs placeholder + smoke test +- [x] RING.md, AGENTS.md, TASK.md present (Invariant I5) +- [ ] Migrate `orchestration` logic from parent `src/` (follow-up) +- [ ] Add ring-level integration tests +- [ ] Seal ring (Bronze โ†’ Silver promotion) diff --git a/crates/trios-igla-race/rings/IR-00/src/lib.rs b/crates/trios-igla-race/rings/IR-00/src/lib.rs new file mode 100644 index 0000000000..8500058871 --- /dev/null +++ b/crates/trios-igla-race/rings/IR-00/src/lib.rs @@ -0,0 +1,20 @@ +//! IR-00 โ€” orchestration +//! +//! Ring scaffold for `trios-igla-race`. Logic lives in the parent crate's +//! `src/` until migrated. This ring is additive scaffolding under L-ARCH-001 +//! to satisfy the ring isolation contract required by issue #238. + +/// Marker placeholder so the ring compiles cleanly. +pub fn ring_id() -> &'static str { + "IR-00" +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ring_id_matches() { + assert_eq!(ring_id(), "IR-00"); + } +} diff --git a/crates/trios-igla-race/rings/IR-01/AGENTS.md b/crates/trios-igla-race/rings/IR-01/AGENTS.md new file mode 100644 index 0000000000..0e666ef7db --- /dev/null +++ b/crates/trios-igla-race/rings/IR-01/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Instructions โ€” IR-01 + +## Context + +This is the `telemetry` ring of `trios-igla-race`, scaffolded for issue #238. + +## Files + +- `src/lib.rs` โ€” ring entry point (currently a placeholder) +- `Cargo.toml` โ€” workspace member, Bronze tier +- `RING.md` โ€” ring identity and laws +- `TASK.md` โ€” incremental migration checklist + +## Allowed + +- Add types and functions that belong to the `telemetry` concern +- Add unit tests under `#[cfg(test)]` +- Re-export types upward to the parent crate's facade + +## Forbidden + +- Importing sibling rings directly (R1) +- Adding I/O or async runtimes that conflict with parent crate +- Breaking the `ring_id()` contract used by smoke tests diff --git a/crates/trios-igla-race/rings/IR-01/Cargo.toml b/crates/trios-igla-race/rings/IR-01/Cargo.toml new file mode 100644 index 0000000000..335b640eea --- /dev/null +++ b/crates/trios-igla-race/rings/IR-01/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "trios-igla-race-ir01" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +description = "IR-01 โ€” telemetry ring for trios-igla-race" +publish = false diff --git a/crates/trios-igla-race/rings/IR-01/RING.md b/crates/trios-igla-race/rings/IR-01/RING.md new file mode 100644 index 0000000000..65c6f03d56 --- /dev/null +++ b/crates/trios-igla-race/rings/IR-01/RING.md @@ -0,0 +1,26 @@ +# RING โ€” IR-01 (trios-igla-race) + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Package | trios-igla-race-ir01 | +| Sealed | No | + +## Purpose + +`telemetry` ring for `trios-igla-race`. Scaffolded as part of issue #238 to bring +this crate under the ring-isolation architecture (L-ARCH-001). + +## Ring scope + +This ring will eventually own the `telemetry` concern of `trios-igla-race`. +The current scaffold is a placeholder; logic remains in the parent crate's +`src/` until migrated incrementally. + +## Laws + +- R1 / R5 / R9: Ring isolation +- L7: Additive scaffold only โ€” no behavior change +- L6: Pure Rust diff --git a/crates/trios-igla-race/rings/IR-01/TASK.md b/crates/trios-igla-race/rings/IR-01/TASK.md new file mode 100644 index 0000000000..f8d42313bf --- /dev/null +++ b/crates/trios-igla-race/rings/IR-01/TASK.md @@ -0,0 +1,11 @@ +# TASK โ€” IR-01 + +## Status: scaffolded (issue #238) + +- [x] Ring directory created +- [x] Cargo.toml with workspace inheritance +- [x] src/lib.rs placeholder + smoke test +- [x] RING.md, AGENTS.md, TASK.md present (Invariant I5) +- [ ] Migrate `telemetry` logic from parent `src/` (follow-up) +- [ ] Add ring-level integration tests +- [ ] Seal ring (Bronze โ†’ Silver promotion) diff --git a/crates/trios-igla-race/rings/IR-01/src/lib.rs b/crates/trios-igla-race/rings/IR-01/src/lib.rs new file mode 100644 index 0000000000..6c54800d6c --- /dev/null +++ b/crates/trios-igla-race/rings/IR-01/src/lib.rs @@ -0,0 +1,20 @@ +//! IR-01 โ€” telemetry +//! +//! Ring scaffold for `trios-igla-race`. Logic lives in the parent crate's +//! `src/` until migrated. This ring is additive scaffolding under L-ARCH-001 +//! to satisfy the ring isolation contract required by issue #238. + +/// Marker placeholder so the ring compiles cleanly. +pub fn ring_id() -> &'static str { + "IR-01" +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ring_id_matches() { + assert_eq!(ring_id(), "IR-01"); + } +}