Architecture

Bayesilisk is built around one hard rule: the finite-state deterministic verifier is the only component that can mark a scenario as pass or fail.

scenario facts -> invariant checks -> pass/fail -> Bayesian ranking

The surrounding layers improve where Bayesilisk looks next, but they do not decide whether something is a bug.

Core Verifier

The finite-state verifier owns:

  • scenario fragments;

  • fact merging;

  • invariant evaluation;

  • deterministic pass/fail observations;

  • stable fingerprints and dedupe keys;

  • Bayesian-style riskScore;

  • issue readiness.

Each scenario has facts, one or more invariants, and a generation basis. Catalog scenarios are explicit. Generated scenarios are deterministic for a fixed seed and input context.

Playwright Sensor

Playwright is an evidence collector. It can observe concrete browser or route behavior, including actor role, route, expected status, observed status, invariant id, and target URL.

That evidence becomes context. It does not become proof by itself.

Grassmann Attention

The Grassmann layer is an attention router. It builds local context planes from Playwright observations, route names, actors, modules, tenant facts, issue text, scenario fragments, and invariant descriptions.

Attention answers:

Where should Bayesilisk look next?

It does not answer:

Is this definitely a bug?

Bayesilisk reports both attentionScore and riskScore so those meanings stay separate.

Scenario Proposer Model

The optional model layer proposes candidate scenario JSON. It is untrusted input.

Bayesilisk accepts a proposal only when:

  • every fragment id exists;

  • every invariant id exists;

  • the target plane was selected by attention;

  • the target invariant is included in the scenario;

  • the facts remain schema-valid;

  • provenance is recorded.

The accepted scenario still goes through the deterministic invariant checker.

Feedback Loop

The loop is bounded:

Playwright evidence / issue context / repo facts
  -> Grassmann plane telemetry
  -> high-attention scenario generation
  -> deterministic Bayesilisk verification
  -> stable fingerprints and issue-ready findings

Untested planes raise attention. They do not automatically raise risk. Bad planes can affect both only after concrete evidence or deterministic failures.

Ledgers

Contextual reports should keep these ledgers separate:

  • observedByPlaywright: concrete browser evidence;

  • selectedByGrassmannAttention: attention-plane telemetry;

  • proposedByModel: untrusted candidate scenarios;

  • verifiedByBayesilisk: deterministic invariant results.

The issue-worthy result must come from verifiedByBayesilisk.