SubsGPT

Substation GenAI

    Proposals
    Collaborate
    Account
    Settings

    Help

    Help & Docs
    Getting Started
    FAQ
    Glossary

API Connected

Glossary

Definitions for the platform-specific terminology you'll see in the UI, the proposal blob, and the AI surfaces.

22 of 22 terms

additional_context

How SubsGPT injects the active proposal into AI answers

A free-form plain-text field (≤ 4000 chars) that SubsGPT ships on every Design Chat turn. The backend's answer writer sanitises it (control chars stripped, length-bounded) and appends it to the prompt under a "Current Layout:" header so answers can reference the active proposal alongside the chosen standards corpus. Built by lib/proposalSummary.js → summarizeProposal() / summarizeLayout(); capped at 3800 chars to leave headroom under the 4000-char Pydantic limit.

Agentic Config

A named multi-agent pipeline stored in MongoDB

A JSON document that defines a list of agents, each with its own system prompt, tools, and dependencies. The backend executor runs the DAG via /agentic/generate. Two configs SubsGPT depends on: rural-substation-advisor (Design Chat) and verify-layout (Verify Standards). Document-generation widgets in StepGenerate also map to per-widget configs.

Arc Flash Category

NFPA 70E hazard band for an electrical system

Categories 0 through 4 indicating the incident-energy level workers may be exposed to. SubsGPT calculates this automatically from fault level + protection scheme using simplified NFPA 70E energy bands; fast-clearing schemes (Ring Bus, Breaker-and-a-Half, Double-Bus Double-Breaker) apply a 0.6× multiplier. Override toggle lets you set it manually.

Asset Context

Structured properties of the substation being designed

A typed object — voltage_class, technology (AIS / GIS), environment, jurisdiction, utility — derived from the active proposal and forwarded to the AI surfaces (Design Chat, Verify Standards). Lets the backend filter retrieval to relevant standards and lets the answer writer phrase responses appropriately.

Auto-save

The 2-second debounced write to MongoDB

Every change to the proposal triggers a 2-second debounced PUT /subsgpt/proposals/{id}. Visible as the "Saving…" / "Saved" / "Save error" chip in the proposal-builder header. Optimistic concurrency via expected_version — a 409 response means another tab updated the same proposal. Local-only state lives in localStorage at subsGPT-proposal so closing the tab doesn't lose work.

BIL (Basic Impulse Level)

The lightning-impulse withstand voltage rating

Measured in kV. SubsGPT auto-suggests BIL from HV voltage: 345 kV → 1300, 230 kV → 900, 138 kV → 650, 115 kV → 550, 69 kV → 350, 34.5 kV → 200, < 34.5 kV → 110. You can override the suggestion on Step 1 (Spec).

chatMessages / chatContextGroupId

Where Design Chat persistence lives on the proposal

Two fields written to the proposal blob by DesignChat. chatMessages is the conversation log: [{ role, content, isError, timestamp }]. chatContextGroupId is the picked standards corpus. Persisted via the onTouch callback so the auto-save sees them; survives page reload and the drawer close/open cycle.

Citation

A traceable pointer to a source chunk

Every Design Chat or Verify Standards answer carries citations back to the source documents (doc_id, version, page, section, chunk_id). For Design Chat they're inline in the prose ("[RUS Bulletin 1724E-300, §4.9, p. 154]"); for Verify Standards they appear as structured rows in the report table.

Context Group

A backend corpus boundary

An isolation unit on the SBS_AI backend. Each group has its own SQLite scope, ChromaDB collection, and knowledge graph. The pickers in Design Chat and Verify Standards forward the chosen context_group_id to /ask and /agentic/generate so retrieval scopes consistently across both surfaces.

Design Chat

RAG-grounded engineering Q&A drawer

A drawer reachable from the proposal-builder toolbar. Backed by the rural-substation-advisor agentic pipeline (3 agents: searcher → analyst → engineer-formatter). Multi-angle retrieval over the chosen standards corpus, with the active proposal+sites injected as additional_context. ~30–60 s per turn on Ollama; structured markdown output with inline citations. Each turn is independent — prior turns aren't resent.

EMPTY_PROPOSAL

The default shape of a new proposal

The constant in lib/proposalConfig.js that defines all wizard fields and their defaults — name, location, station type, voltages, frequency, fault level, etc. Anything in EMPTY_PROPOSAL is part of the proposal blob; chat/verify fields (chatMessages, verifyResult) are added by the drawers as needed.

GLB (Binary glTF)

The 3D model format for substation layouts

A self-contained 3D scene file. The Map Designer's Generate Layout call returns an assembled GLB built from the SBIF JSON-LD output of the neural-net layout pipeline. Source equipment models live in baseModels/ on the backend.

Layout (site.result)

A generated substation layout for one site

The response from POST /api/neuralnet-services/layout/generate, stored on each site in mapState as site.result. Contains the components[] array (equipment items with x/y/z coordinates, type, rated_voltage), an assembled GLB URL, and station/site dimensions. The Verify Standards drawer reasons over site.result.

Modality

The strength of a requirement: SHALL / SHOULD / MAY

Borrowed from RFC 2119. Tagged on every extracted requirement during ingestion so the conflict checker can reason about strength. SHALL / MUST are mandatory; SHOULD is strong recommendation; MAY is permissive. The Verify Standards report uses modality to decide PASS / REVIEW / FAIL severity.

Neural Net Checkpoint

The .pt model the Map Designer uses for layout generation

Set in Settings → Neural Net (browser-local — pick per workstation). Backed by lib/userPreferences.js (stored under subsgpt_user_prefs_v1.neuralnetCheckpoint). MapDesigner.handleGenerate calls getNeuralnetCheckpointPath() to build the relative path the backend expects under neuralNet_Models/. Default is windfarm_subsGPT_layout_model_v99.pt.

Proposal Blob

The full state of one proposal

The JSON document persisted in MongoDB at /subsgpt/proposals/{id}. Carries the wizard fields (EMPTY_PROPOSAL + edits), chat persistence (chatMessages, chatContextGroupId), verify persistence (verifyResult, verifyContextGroupId), generated documents, and a version integer for optimistic concurrency.

rural-substation-advisor

The agentic config behind Design Chat

A 3-agent linear pipeline: searcher (multi-angle RAG retrieval) → analyst (synthesises) → engineer-formatter (writes structured markdown with inline citations). Materially better answers than single-shot /ask in side-by-side comparisons; trade-off is latency. Seeded from data/rural-substation-advisor.agentic-config.json into MongoDB.

SBIF (Substation Information Format)

JSON-LD schema for substation layouts

The interchange format the neural-net layout pipeline emits. POST /api/neuralnet-services/layout/generate returns SBIF JSON-LD; /layout/assemble turns SBIF into a GLB. SBIF carries equipment positions, rated voltages, and station/site dimensions.

Step Wizard

The 6-step proposal flow

The proposal-builder UI: Step 0 Setup (project + location), Step 1 Spec (electrical standards), Step 2 Design (voltages + switchgear), Step 3 Map (3D site designer), Step 4 Generate (AI documents), Step 5 Summary (reports + export). Visited steps are tracked in proposal._visitedSteps; each step component lives under components/proposal/.

Tutorial vs Tutorials page

Two different things — disambiguation

The Tutorials page (/tutorials) is a card-grid catalogue of hands-on walkthroughs grouped by topic. A "tutorial" in the sidebar can sometimes refer to in-app onboarding tours (none today). When in doubt, you want /tutorials.

verify-layout

The agentic config behind Verify Standards

A 3-agent linear pipeline: clearance-extractor (pulls clearance/spacing rules from the corpus) → geometry-analyser (measures equipment pairs in the layout) → compliance-reporter (emits a structured PASS/REVIEW/FAIL JSON report with citations). Used by both SubsGPT's drawer and SBS_AI_Front's panel; keys off analysis_focus to pick clearance categories.

verifyResult / verifyContextGroupId

Where Verify Standards persistence lives on the proposal

verifyResult is { report, narrative, verdict, rawText, rawSections, selectedSiteId, ranAt } — the last compliance run. verifyContextGroupId is the picked standards corpus (independent of chatContextGroupId). Restored when the drawer reopens so a verification doesn't need to re-run.