diff --git a/Cargo.lock b/Cargo.lock index 62d2a00605..ac3a8431d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5179,6 +5179,22 @@ dependencies = [ "tracing", ] +[[package]] +name = "trios-rainbow-bridge-broutput" +version = "0.1.0" + +[[package]] +name = "trios-rainbow-bridge-rb00" +version = "0.1.0" + +[[package]] +name = "trios-rainbow-bridge-rb01" +version = "0.1.0" + +[[package]] +name = "trios-rainbow-bridge-rb02" +version = "0.1.0" + [[package]] name = "trios-sacred" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 578a089ce0..d8ea10c59a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,6 +65,11 @@ members = [ "vendor/tri-mcp/rings/SR-00", "vendor/tri-mcp/rings/SR-01", "vendor/tri-mcp/rings/SR-02", + # ORDER-4 (#238) โ€” trios-rainbow-bridge rings + "crates/trios-rainbow-bridge/rings/RB-00", + "crates/trios-rainbow-bridge/rings/RB-01", + "crates/trios-rainbow-bridge/rings/RB-02", + "crates/trios-rainbow-bridge/rings/BR-OUTPUT", ] exclude = [ "crates/trios-ext", diff --git a/crates/trios-rainbow-bridge/RING.md b/crates/trios-rainbow-bridge/RING.md new file mode 100644 index 0000000000..0d96d51667 --- /dev/null +++ b/crates/trios-rainbow-bridge/RING.md @@ -0,0 +1,43 @@ +# RING โ€” trios-rainbow-bridge + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Type | Crate (rings scaffolded for issue #238) | +| Sealed | No | + +## Purpose + +JSON schema, Rust runtime, Coq-bridge and binary output rings for trios-rainbow-bridge (L13 / INV-8) โ€” scaffolded under L-ARCH-001 (Tier 4 INV-8 critical). + +## Ring Structure (L-ARCH-001) + +Rings: RB-00 (json-schema), RB-01 (rust-runtime), RB-02 (coq-bridge), BR-OUTPUT (output) + +``` +crates/trios-rainbow-bridge/ +โ”œโ”€โ”€ src/ โ† existing logic (untouched, re-export facade) +โ””โ”€โ”€ rings/ โ† scaffolded for issue #238 (additive) + โ”œโ”€โ”€ RB-00/ โ† json-schema + โ”œโ”€โ”€ RB-01/ โ† rust-runtime + โ”œโ”€โ”€ RB-02/ โ† coq-bridge + โ”œโ”€โ”€ BR-OUTPUT/ โ† output +``` + +## Dependency flow + +``` +BR-OUTPUT โ†’ RB-02 โ†’ RB-01 โ†’ RB-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-rainbow-bridge/rings/BR-OUTPUT/AGENTS.md b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/AGENTS.md new file mode 100644 index 0000000000..1b093fcae2 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Instructions โ€” BR-OUTPUT + +## Context + +This is the `output` ring of `trios-rainbow-bridge`, 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-rainbow-bridge/rings/BR-OUTPUT/Cargo.toml b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/Cargo.toml new file mode 100644 index 0000000000..ee1b60138f --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "trios-rainbow-bridge-broutput" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +description = "BR-OUTPUT โ€” output ring for trios-rainbow-bridge" +publish = false diff --git a/crates/trios-rainbow-bridge/rings/BR-OUTPUT/RING.md b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/RING.md new file mode 100644 index 0000000000..6442b9c22a --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/RING.md @@ -0,0 +1,26 @@ +# RING โ€” BR-OUTPUT (trios-rainbow-bridge) + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Package | trios-rainbow-bridge-broutput | +| Sealed | No | + +## Purpose + +`output` ring for `trios-rainbow-bridge`. 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-rainbow-bridge`. +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-rainbow-bridge/rings/BR-OUTPUT/TASK.md b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/TASK.md new file mode 100644 index 0000000000..a55bb05774 --- /dev/null +++ b/crates/trios-rainbow-bridge/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-rainbow-bridge/rings/BR-OUTPUT/src/lib.rs b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/src/lib.rs new file mode 100644 index 0000000000..ed190cf2bb --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/BR-OUTPUT/src/lib.rs @@ -0,0 +1,20 @@ +//! BR-OUTPUT โ€” output +//! +//! Ring scaffold for `trios-rainbow-bridge`. 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-rainbow-bridge/rings/RB-00/AGENTS.md b/crates/trios-rainbow-bridge/rings/RB-00/AGENTS.md new file mode 100644 index 0000000000..c1416b9776 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-00/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Instructions โ€” RB-00 + +## Context + +This is the `json-schema` ring of `trios-rainbow-bridge`, 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 `json-schema` 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-rainbow-bridge/rings/RB-00/Cargo.toml b/crates/trios-rainbow-bridge/rings/RB-00/Cargo.toml new file mode 100644 index 0000000000..76b6a636d0 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-00/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "trios-rainbow-bridge-rb00" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +description = "RB-00 โ€” json-schema ring for trios-rainbow-bridge" +publish = false diff --git a/crates/trios-rainbow-bridge/rings/RB-00/RING.md b/crates/trios-rainbow-bridge/rings/RB-00/RING.md new file mode 100644 index 0000000000..1e55fe836f --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-00/RING.md @@ -0,0 +1,26 @@ +# RING โ€” RB-00 (trios-rainbow-bridge) + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Package | trios-rainbow-bridge-rb00 | +| Sealed | No | + +## Purpose + +`json-schema` ring for `trios-rainbow-bridge`. 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 `json-schema` concern of `trios-rainbow-bridge`. +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-rainbow-bridge/rings/RB-00/TASK.md b/crates/trios-rainbow-bridge/rings/RB-00/TASK.md new file mode 100644 index 0000000000..89313e32c0 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-00/TASK.md @@ -0,0 +1,11 @@ +# TASK โ€” RB-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 `json-schema` logic from parent `src/` (follow-up) +- [ ] Add ring-level integration tests +- [ ] Seal ring (Bronze โ†’ Silver promotion) diff --git a/crates/trios-rainbow-bridge/rings/RB-00/src/lib.rs b/crates/trios-rainbow-bridge/rings/RB-00/src/lib.rs new file mode 100644 index 0000000000..94703ad152 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-00/src/lib.rs @@ -0,0 +1,20 @@ +//! RB-00 โ€” json-schema +//! +//! Ring scaffold for `trios-rainbow-bridge`. 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 { + "RB-00" +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ring_id_matches() { + assert_eq!(ring_id(), "RB-00"); + } +} diff --git a/crates/trios-rainbow-bridge/rings/RB-01/AGENTS.md b/crates/trios-rainbow-bridge/rings/RB-01/AGENTS.md new file mode 100644 index 0000000000..987bd2b000 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-01/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Instructions โ€” RB-01 + +## Context + +This is the `rust-runtime` ring of `trios-rainbow-bridge`, 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 `rust-runtime` 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-rainbow-bridge/rings/RB-01/Cargo.toml b/crates/trios-rainbow-bridge/rings/RB-01/Cargo.toml new file mode 100644 index 0000000000..5d76f7b3a7 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-01/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "trios-rainbow-bridge-rb01" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +description = "RB-01 โ€” rust-runtime ring for trios-rainbow-bridge" +publish = false diff --git a/crates/trios-rainbow-bridge/rings/RB-01/RING.md b/crates/trios-rainbow-bridge/rings/RB-01/RING.md new file mode 100644 index 0000000000..40d53c179a --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-01/RING.md @@ -0,0 +1,26 @@ +# RING โ€” RB-01 (trios-rainbow-bridge) + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Package | trios-rainbow-bridge-rb01 | +| Sealed | No | + +## Purpose + +`rust-runtime` ring for `trios-rainbow-bridge`. 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 `rust-runtime` concern of `trios-rainbow-bridge`. +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-rainbow-bridge/rings/RB-01/TASK.md b/crates/trios-rainbow-bridge/rings/RB-01/TASK.md new file mode 100644 index 0000000000..772340610f --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-01/TASK.md @@ -0,0 +1,11 @@ +# TASK โ€” RB-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 `rust-runtime` logic from parent `src/` (follow-up) +- [ ] Add ring-level integration tests +- [ ] Seal ring (Bronze โ†’ Silver promotion) diff --git a/crates/trios-rainbow-bridge/rings/RB-01/src/lib.rs b/crates/trios-rainbow-bridge/rings/RB-01/src/lib.rs new file mode 100644 index 0000000000..b626092f91 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-01/src/lib.rs @@ -0,0 +1,20 @@ +//! RB-01 โ€” rust-runtime +//! +//! Ring scaffold for `trios-rainbow-bridge`. 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 { + "RB-01" +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ring_id_matches() { + assert_eq!(ring_id(), "RB-01"); + } +} diff --git a/crates/trios-rainbow-bridge/rings/RB-02/AGENTS.md b/crates/trios-rainbow-bridge/rings/RB-02/AGENTS.md new file mode 100644 index 0000000000..70c91a8fe0 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-02/AGENTS.md @@ -0,0 +1,24 @@ +# Agent Instructions โ€” RB-02 + +## Context + +This is the `coq-bridge` ring of `trios-rainbow-bridge`, 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 `coq-bridge` 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-rainbow-bridge/rings/RB-02/Cargo.toml b/crates/trios-rainbow-bridge/rings/RB-02/Cargo.toml new file mode 100644 index 0000000000..9d24778539 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-02/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "trios-rainbow-bridge-rb02" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +description = "RB-02 โ€” coq-bridge ring for trios-rainbow-bridge" +publish = false diff --git a/crates/trios-rainbow-bridge/rings/RB-02/RING.md b/crates/trios-rainbow-bridge/rings/RB-02/RING.md new file mode 100644 index 0000000000..981a374cda --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-02/RING.md @@ -0,0 +1,26 @@ +# RING โ€” RB-02 (trios-rainbow-bridge) + +## Identity + +| Field | Value | +|-------|-------| +| Metal | ๐Ÿฅ‰ Bronze | +| Package | trios-rainbow-bridge-rb02 | +| Sealed | No | + +## Purpose + +`coq-bridge` ring for `trios-rainbow-bridge`. 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 `coq-bridge` concern of `trios-rainbow-bridge`. +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-rainbow-bridge/rings/RB-02/TASK.md b/crates/trios-rainbow-bridge/rings/RB-02/TASK.md new file mode 100644 index 0000000000..7a48ea8fd3 --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-02/TASK.md @@ -0,0 +1,11 @@ +# TASK โ€” RB-02 + +## 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 `coq-bridge` logic from parent `src/` (follow-up) +- [ ] Add ring-level integration tests +- [ ] Seal ring (Bronze โ†’ Silver promotion) diff --git a/crates/trios-rainbow-bridge/rings/RB-02/src/lib.rs b/crates/trios-rainbow-bridge/rings/RB-02/src/lib.rs new file mode 100644 index 0000000000..01ebe0f89f --- /dev/null +++ b/crates/trios-rainbow-bridge/rings/RB-02/src/lib.rs @@ -0,0 +1,20 @@ +//! RB-02 โ€” coq-bridge +//! +//! Ring scaffold for `trios-rainbow-bridge`. 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 { + "RB-02" +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn ring_id_matches() { + assert_eq!(ring_id(), "RB-02"); + } +}