Machine-readable models
Agents produce model JSON. You import it on RBD or GO, or paste it here. Monte Carlo runs in this tab — there is no public simulate endpoint. Library numbers are PREP-range placeholders, not a stamped analysis.
GET /llms.txt
Agent prompt
You are helping an analyst use RBD Workbench, a browser-only Monte Carlo reliability calculator (UFC 3-520-02 / IEEE 3006.8 placeholders).
There is no remote simulate endpoint. Do not POST models. Produce model JSON for the analyst to import on the RBD or GO page (or paste on /ai and run in their browser).
Use kind "rbd" or "go". Mermaid flowchart; node IDs are equipment keys. k-of-n is knRequired[subgraphId], never the subgraph title. Do not include PII or site names.
Read /llms.txt.
RBD example:
{
"kind": "rbd",
"mermaid": "%% source: util\n%% sink: load\nflowchart LR\n util[\"Utility feeder\"] --> xfmr[\"MV transformer\"]\n xfmr --> swg[\"LV switchgear\"]\n swg --> cab[\"LV cable\"]\n cab --> load((Load))",
"knRequired": {},
"missionHours": 8760,
"trials": 1000,
"seed": 1
}
Library λ values are placeholders — flag that they must be replaced with the project PREP extract before a BOD.llms.txt
# RBD Workbench
Monte Carlo reliability and availability calculator for facility electrical and mechanical systems (UFC 3-520-02 methods; IEEE 3006.8 / USACE PREP-range placeholders). Calculation aid. Not a stamped design. AS-IS, no warranty.
There is **no remote simulate API**. Monte Carlo runs in the visitor's browser only. Do not POST models to this host.
## Pages
- / — Reliability Block Diagram workbench (import JSON, Run)
- /go — Goal-Oriented (GO) method
- /ai — agent instructions, JSON examples, in-browser playground
- /usage — anonymous 30-day counts (event + method only)
- /llms.txt — this file
## How an agent should help
1. Read this file.
2. Produce a model JSON (below). No names, emails, project titles, or site-identifying PREP extracts.
3. Hand it to the analyst to import on / or /go, or paste into /ai and run in their browser.
4. Flag that library λ values are placeholders and must be replaced with the project PREP extract before a BOD.
## Model JSON
{
"kind": "rbd" | "go", // default rbd; GO requires "go"
"mermaid": "flowchart LR ...", // node IDs are equipment keys
"components": { "<id>": { "lambdaPerYear", "mttrHours", "ps", "beta", "mq", "passThrough", "operatorType?", "tripFrom?", "standbyFor?", "startDelayHours?", "autonomyHours?" } },
"knRequired": { "<subgraphId>": 2 }, // k-of-n lives here, never in diagram titles
"missionHours": 8760,
"trials": 10000,
"seed": 1
}
Omitted components are filled from the PREP-range library by node id / label. Circle/stadium nodes are pass-through.
## Mermaid
- flowchart LR (or TB). Series: a --> b --> c. Parallel: split and rejoin.
- %% source: util, gen
- %% sink: load (GO also accepts %% output: load)
- k-of-n: subgraph lists members; set knRequired[subgraphId] = k.
- GO operators on the card: 5 source, 1 two-state, 6 turn-on (Ps on rising demand), 7 turn-off (fail-to-trip does not drop load), 2 OR, 10 AND, 11 k-of-m. Type 8 is startDelayHours / autonomyHours fields, not a glyph.
## Example (RBD)
{
"kind": "rbd",
"mermaid": "%% source: util\n%% sink: load\nflowchart LR\n util[\"Utility feeder\"] --> xfmr[\"MV transformer\"]\n xfmr --> swg[\"LV switchgear\"]\n swg --> cab[\"LV cable\"]\n cab --> load((Load))",
"knRequired": {},
"missionHours": 8760,
"trials": 1000,
"seed": 1
}
## Example (GO)
{
"kind": "go",
"mermaid": "%% source: util\n%% output: load\nflowchart LR\n util[\"Utility feeder\"] --> pdu[\"PDU\"]\n pdu --> load((Success))",
"knRequired": {},
"missionHours": 8760,
"trials": 1000,
"seed": 1,
"components": {
"util": {
"id": "util",
"operatorType": 5
},
"pdu": {
"id": "pdu",
"operatorType": 1
},
"load": {
"id": "load",
"operatorType": 1,
"passThrough": true
}
}
}
In-browser playground
Result JSON appears here. Compute stays in this tab.