Skip to main content

Valhalla Suite Atlas

The poster is the lobby map. This atlas is the working map: it breaks the Valhalla suite into the relationship charts an operator, builder, or agent needs when moving through the system.

Read it as a compositional stack:

  • ThorAPI is the foundation. It turns OpenAPI into Java models, Spring APIs, repositories, TypeScript clients, Redux services, React components, and extension-driven behavior such as @Rune.
  • ValkyrAI is the workflow engine. It runs workflows, tasks, ExecModules, agentic orchestration, and reviewable automation over Valhalla api-0 surfaces.
  • Valhalla api-0 is the suite backend platform. It hosts generated APIs, RBAC, SecureField, billing, admin, deployments, GrayMatter control, SwarmOps coordination, and generated object access.
  • GrayMatter is durable memory plus RBAC-scoped object-graph access. The object graph is the authenticated api-0 schema, not a separate parallel schema.
  • ValorIDE is the agentic coding tool. It behaves like a Codex-class VS Code plugin: chat, tools, workflow execution, generated app consumption, and GrayMatter memory.
  • Valor / SageChat is the agentic work surface inside ValkyrAI. It can advise, create workflows, navigate system context, and operate with LLMs, IntegrationAccounts, GrayMatter, and SWARM agents.
  • Gridheim Runes are no-persistence calculated fields defined in OpenAPI and evaluated in real time by ValkyrAI/OpenXLS.
  • Sheetster Grid is both spreadsheet UX and a front door into generated ThorAPI workbook/table APIs.
  • SwarmOps is live agent coordination. It is used to register and coordinate agents such as CODEX, OpenClaw, Claude, ValorIDE, and Valor. It is not the GrayMatter memory primitive.

Relationship Overview

Generation Spine

The generation path starts with OpenAPI and stays compositional. Custom specs, bundled specs, and extension metadata all feed the same ThorAPI generator spine.

Code anchors:

AreaCurrent code anchor
Java model generationvalkyrai/src/main/resources/templates/JavaSpring/pojo.mustache
Bundled OpenAPI schemavalkyrai/src/main/resources/openapi/api.hbs.yaml
OpenAPI designerweb/typescript/valkyr_labs_com/src/components/OpenAPIDesigner/DesignerView.tsx
Application wizardweb/typescript/valkyr_labs_com/src/components/ApplicationWizard/ApplicationWizard.tsx
Generated TS models/servicesweb/typescript/valkyr_labs_com/src/thorapi/model, web/typescript/valkyr_labs_com/src/thorapi/redux/services
Generated table/workbook surfaceweb/typescript/valkyr_labs_com/src/components/DataWorkbookWithTour.tsx

Gridheim Runes

Gridheim Runes are calculated fields on generated objects. They are not stored calculated values, not a memory primitive, and not a SWARM client.

The useful mental model is "spreadsheet formula attached to an object property." For example, a SalesOrder can persist line items and tax rate, while subtotal and total are exposed as calculated properties:

subtotal:
type: number
x-gridheim-rune: "=SUM(lineItems.extendedAmount)"
total:
type: number
x-gridheim-rune: "=subtotal + taxAmount"

Code anchors:

AreaCurrent code anchor
Extension emitted as annotationvalkyrai/src/main/resources/templates/JavaSpring/pojo.mustache
Example extensionvalkyrai/src/main/resources/openapi/api.hbs.yaml
Annotationvalkyrai/src/main/java/com/valkyrlabs/valkyrai/runes/Rune.java
Runtime aspectvalkyrai/src/main/java/com/valkyrlabs/valkyrai/runes/RuneAspect.java
OpenXLS-backed evaluatorvalkyrai/src/main/java/com/valkyrlabs/valkyrai/runes/RuneEvaluationService.java
Context and validationvalkyrai/src/main/java/com/valkyrlabs/valkyrai/runes/RuneContextBuilder.java, RuneValidationService.java

Sheetster Grid

Sheetster is the spreadsheet UX and spreadsheet-shaped object interface. It fronts generated ThorAPI workbook APIs and also provides grid components that can be embedded in generated applications.

Code anchors:

AreaCurrent code anchor
Spreadsheet schemavalkyrai/src/main/resources/openapi/api.hbs.yaml
Generated workbook modelsweb/typescript/valkyr_labs_com/src/thorapi/model/Workbook.ts, Sheet.ts, Cell.ts, Formula.ts
Generated workbook servicesweb/typescript/valkyr_labs_com/src/thorapi/redux/services/WorkbookService.tsx
Grid componentsweb/typescript/valkyr_labs_com/src/components/Gridheim
Client formula engineweb/typescript/valkyr_labs_com/src/components/Spreadsheet/grid/engine/FormulaEngine.ts
Agent report payloadsvalkyrai/src/main/java/com/valkyrlabs/valkyrai/service/SheetsterReportLinkService.java

RBAC And SecureField

RBAC decides what the user, workflow, or agent can see and do. SecureField controls encrypted fields and decrypted-view permissions. GrayMatter uses the same RBAC-scoped schema; it does not bypass the backend's authority model.

The important LLMDetails rule is: public or selectable LLM definitions can be exposed to UI and agents without exposing decrypted API keys. Provider calls run through trusted server paths where valkyr-system and workflow contexts may hold VIEW_DECRYPTED permission.

Code anchors:

AreaCurrent code anchor
Role/authority endpointsweb/typescript/valkyr_labs_com/src/redux/services/AccessManagementService.tsx
ACL UIweb/typescript/valkyr_labs_com/src/components/PermissionDialog/index.tsx
Access helpersweb/typescript/valkyr_labs_com/src/utils/accessControl.ts
System runtime identityvalkyrai/src/main/java/com/valkyrlabs/valkyrai/service/SystemUserService.java
Workflow security wrappervalkyrai/src/main/java/com/valkyrlabs/workflow/config/WorkflowSecurityContext.java
LLM key decrypt bootstrapvalkyrai/src/main/java/com/valkyrlabs/valkyrai/config/SystemDecryptBootstrap.java
Public LLMDetails cache boundaryvalkyrai/src/main/java/com/valkyrlabs/valkyrai/config/PublicApiCacheHeaderFilter.java

Prebuilt Apps And Publishing

The prebuilt business apps are not separate products bolted onto ValkyrAI. They are generated schema domains, components, dashboards, services, and workflows composed through the same ThorAPI and ValkyrAI runtime.

Code anchors:

AreaCurrent code anchor
Main app routesweb/typescript/valkyr_labs_com/src/App.tsx
Enhanced dashboard compositionweb/typescript/valkyr_labs_com/src/components/Dashboard/EnhancedSixDDashboard.tsx
Product funnel workflowvalkyrai/src/main/java/com/valkyrlabs/service/ProductFunnelWizardBusinessService.java
Digital product draft/uploadweb/typescript/valkyr_labs_com/src/redux/services/DigitalProductService.tsx, src/hooks/useDigitalProductUpload.ts
Content slug servingweb/typescript/valkyr_labs_com/src/redux/services/ContentDataSlugService.tsx
MCP publishing controllervalkyrai/src/main/java/com/valkyrlabs/valkyrai/controller/McpPublishingController.java
MCP docsweb/typescript/valkyr_labs_com/docs/docs/Products/ValkyrAI/MCP/publishing.md

Workflow, Valor, LLMs, And Integrations

Valor/SageChat is the in-app agentic work surface. It can use LLMs, API docs, generated schemas, ExecModules, IntegrationAccounts, Workflow Studio, and GrayMatter context to produce actual work.

Provider representation belongs in LlmDetails, adapter selection, and IntegrationAccount references, not hard-coded into a single chat surface. That is what lets Valor, ValorIDE, workflow modules, and third-party agents use OpenAI, Claude, or open-source models through the same RBAC and secret custody rules.

Code anchors:

AreaCurrent code anchor
SageChat page and dockweb/typescript/valkyr_labs_com/src/pages/SageChatFullScreen.tsx, src/components/SageChatDock
Workflow prompt contextweb/typescript/valkyr_labs_com/src/services/llmWorkflowContext.ts
OpenAPI/ExecModule fragmentsweb/typescript/valkyr_labs_com/src/services/apiDocsService.ts
LLM adaptersvalkyrai/src/main/java/com/valkyrlabs/workflow/llm/LlmAdapterFactory.java
Usage trackingvalkyrai/src/main/java/com/valkyrlabs/valkyrai/service/UsageTrackingService.java
Integration account servicesweb/typescript/valkyr_labs_com/src/redux/services/integrationAccountService.ts, src/services/WorkflowStudioService.ts
ExecModule validationvalkyrai/src/main/java/com/valkyrlabs/workflow/validation/WorkflowValidator.java

GrayMatter And SWARM

GrayMatter and SwarmOps touch the same agents but serve different jobs. GrayMatter stores durable memory and exposes RBAC-scoped object graph context. SwarmOps tracks live agent presence, routing, commands, topology, and telemetry.

Startup rule:

  1. Authenticate against api-0.
  2. Load /v1/graymatter/control.
  3. Create or refresh a durable Agent record when needed.
  4. Register live presence through /v1/swarm-ops/register.
  5. Sync /v1/api-docs and treat it as the RBAC-scoped object graph.
  6. Query/write GrayMatter only for durable memory.
  7. Publish SWARM events for coordination and telemetry.

Code anchors:

AreaCurrent code anchor
GrayMatter control surfacevalkyrai/src/main/java/com/valkyrlabs/valkyrai/graymatter/GrayMatterControlSurfaceService.java
Memory dashboardweb/typescript/valkyr_labs_com/src/components/memory/MemoryDashboard.tsx
Agent setupweb/typescript/valkyr_labs_com/src/components/memory/AgentSetupDialog.tsx
SwarmOps dashboardweb/typescript/valkyr_labs_com/src/components/SwarmOps/SwarmOpsDashboard.tsx
Swarm agent designer pathsweb/typescript/valkyr_labs_com/src/components/AgentDesigner/AgentDesigner.tsx
SWARM protocol docsweb/typescript/valkyr_labs_com/docs/docs/Products/GrayMatter/swarm-protocol.mdx

Admin And Control Surfaces

Admin is distributed across focused dashboards. The pattern is consistent: the web app wraps generated APIs, hand-built service endpoints, RBAC controls, and workflow/agent telemetry into operational surfaces.

Code anchors:

AreaCurrent code anchor
User adminweb/typescript/valkyr_labs_com/src/components/UserList/index.tsx
API visualizerweb/typescript/valkyr_labs_com/src/components/OpenAPIViz/index.tsx
OpenAPI designerweb/typescript/valkyr_labs_com/src/components/OpenAPIDesigner/DesignerView.tsx
Ops dashboardweb/typescript/valkyr_labs_com/src/components/Dashboard/EnhancedSixDDashboard.tsx
Workflow metricsvalkyrai/src/main/java/com/valkyrlabs/workflow/metrics/WorkflowMetricsAspect.java
Integration console docsweb/typescript/valkyr_labs_com/docs/docs/Products/ValkyrAI/Workflow Engine/integration-account-console.mdx

Reading Checklist

Use this order when explaining the suite to a new engineer, buyer, or agent:

  1. Start with Valhalla Control Surface for the one-page poster and the GrayMatter/SWARM boundary.
  2. Use this atlas to break the suite into relationship charts.
  3. Read Gridheim Overview, Rune Contract, and Runtime Evaluation for calculated field behavior.
  4. Read Workflow Engine, Workflow Architecture, and Spreadsheet Conditions for automation and formula branching.
  5. Read Integration Accounts and MCP Marketplace, MCP Publishing, and SageChat Command System for agentic work execution.
  6. Use GrayMatter Server and Controls, GrayMatter Architecture, and SWARM Protocol for memory and coordination rules.