Stabilne JSON pogodbe
← kazalo
colibri-contracts hrani stabilne, jezikovno neodvisne oblike na žici, v
skupni rabi med Colibri (Rust) in Clawdie agenti (TypeScript). Lasti si
_sheme in (De)serialize_, ne poslovne logike.
Zakaj ločen pogodbeni zaboj
- Preprečuje podvojene definicije med stezama Rust in TypeScript.
- Ohranja potrjene manifeste v
manifests/, ki so razčlenljivi na obeh
- Centralizira nize shem, vzdevke za preimenovanje polj in privzetke za
Aktivne sheme
| Shema | Rust struct | Namen |
| -------------------------------------- | --------------------- | ------------------------------------------------------------------------- |
| clawdie.interagent.run-manifest.v1 | RunManifest | Beleži tek gradnje/testa — vloga, agent, artefakti, povzetek. |
| clawdie.runtime-version-inventory.v1 | RuntimeInventory | Posnetek izvajalnega okolja gostitelja — OS, različice paketov, npm/node. |
| clawdie.provider-smoke.result.v1 | ProviderSmokeResult | Rezultat sonde predpomnilnika DeepSeek in obračun žetonov. |
Konstante shem in strukture živijo v crates/colibri-contracts/src/lib.rs.
Pravila razvoja
- Zaboj ne nosi nobene logike — samo
serdestrukture in konstante shem. - Nova polja so običajno neobvezna z
#[serde(default)], da se stari
RuntimeInventory.pije neobvezen, ker vsak gostitelj ne namestipiali
zot.
HostStatus.rawje lovilna vrednostserde_json::Value, da se lahko
Zlati testi
crates/colibri-contracts/tests/golden.rs razčleni vsak potrjen manifest v
manifests/ in preveri enakost povratnega zapisa. Primerki so namenjeni
medplatformni rabi — če se manifest, ustvarjen na Linuxu, razlikuje od
tistega na FreeBSD 15, je treba razliko razumeti in dokumentirati, preden se
združi.
Glej tudi
- cost-model — kako rezultat sonde ponudnika hrani merjenje
- runtime-inventory — kje se ustvari popis