Skip to content

a behavioral-engine lexicon: a project's resource graph in, per-entity cost per hour, headroom and resilience out #2355

Description

@lex00

Design and tracking. Nothing here starts a build on its own. It records the contract and splits the work into six sub-issues.

What

The engine lives in chant, as a lexicon and a plugin surface beside describeResources(), observeResourcesDeep() and listArtifacts() (docs/src/content/docs/lexicons/overview.mdx:33-37). chant's typed source is already the resource graph a project holds, so no parsing of any infrastructure-as-code format is needed to build the request. behold consumes the result through chant graph --live --overlay, and never calls the engine itself.

The engine contract

The engine stays abstract, held to a stated shape and nothing more specific.

Input: a resource graph, entities with a kind, a provider, a region and a size, and the edges between them. This is what chant build already holds for any project, and what live-ls/live-plan hold for a choudoufu estate.

Output, per entity and per estate, at a stated traffic level: cost per hour, headroom (how far from saturation on CPU and latency), an error-rate expectation, a resilience verdict under a named failure such as one zone lost, and a right-size suggestion. Every number carries provenance, meaning which engine, which version, its stated tolerance, and whether the figure is modeled from list prices or validated against a bill.

The rules

A prediction is never presented as a bill. A missing or unreachable engine means no overlay and a refusal that names why, never a locally faked number, in the style of noGitlabNoteTokenMessage (packages/core/src/op/activities/reconcile.ts). The engine never sees credentials, and it never writes anything. The live path predicts the account as it stands, drift included. The declared path predicts the file. The two are shown as a delta.

Sub-issues

Refs INTENTIUS/behold#397, and #2314.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    behaviour-overlayCost, headroom and resilience from a behavioral engine, drawn as a colour on the nodeenhancementNew feature or requestorchestrationHow a plan gets between an actor and production: Ops, gates, convergence, the control plane

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions