SEAL
SEAL reviews a file and gives you one decision, not a list of findings: a
verdict (approved, needs review, rejected) with its confidence, and every
finding sorted into one of three buckets -- what needs your attention, what
needs your judgement, and what you can delegate.
Behind the verdict is a panel of language models from different labs,
cross-checked with deterministic analyzers (gcc -fanalyzer, cppcheck,
clang-tidy, ruff). A finding that a tool confirms is marked as such; a finding
that one model raised and nothing else supports is shown as the hypothesis it
is. SEAL never shows a failed review as a clean file.
Preview. SEAL is in a closed pilot. Reviews run on a service with the
credit assigned to your account, so you need an invitation to run them. If
you have one, sign in and go; if you do not, the panel tells you whom to ask.
Getting started
- Open the SEAL panel (the shield in the activity bar) and sign in. The
first time, choose First time here: a code reaches your inbox and you set
a password with it.
- Open a C, C++ or Python file and run SEAL: Review this file -- the
shield in the editor title, the right-click menu, or
Ctrl+Alt+S
(Cmd+Alt+S on a Mac).
- Read the verdict in the SEAL panel that opens beside the editor. Click a
finding to jump to its line.
A review takes a minute or more: three models answer in parallel and an
adjudication call is bought for each corroborated proposal. The panel narrates
what is happening while you wait.
What else it does
- Check this branch against its ticket. With a repository open, SEAL:
Check this branch against its ticket compares your branch with
seal.baseBranch (merge base, so commits, staged and unsaved-to-git edits
all count), finds the ticket in the branch name, title or commits, and says
whether the change fulfils it, what is missing, and what it alters elsewhere.
Experimental: it never blocks anything, it only says what it saw.
- Connect GitHub. From the panel, link a GitHub installation to your
organization: pull requests in the repositories you choose get a SEAL
check with the same verdicts, annotated on the diff.
- Organizations. Reviews belong to your personal organization unless you
choose a team with SEAL: Choose organization. The team's lead sees the
flow and health of its reviews in the web dashboard; never a ranking of
people.
Settings
| Setting |
What it does |
seal.endpoint |
The service. Empty it to run the engine on this machine with seal.command (needs the engine installed, no account). |
seal.policy |
strict, balanced or fast. Unset, your organization's policy applies. |
seal.baseBranch |
Branch your work started from, for the ticket check. Default main. |
seal.onlyDeterministic |
Tools only, no model. A different product, not a cheaper one. |
seal.timeoutSeconds |
How long to wait for a review. Default 300. |
Credit
Every review costs what the model providers charge for it, and that is what
is deducted from your organization's credit -- cents per file. The panel
shows what is left. When it runs out, reviews stop with a message that says so;
nothing is charged to you.
Privacy
The file you review -- and, for C and C++, the project headers it includes --
is sent to the service, which runs the analyzers and queries the models. The
verdict, the findings and the cost are stored against your organization. The
code itself is not stored. Do not review code you are not allowed to send to a
third party.
Development
cd packages/extension
npm install
npm run typecheck # types
npm test # tests (render, client, activation)
npm run check:contract # the contract still matches the engine's schema
npm run check:design # media/ copies still match design/
npm run package # seal.vsix, installable with "Install from VSIX"
To run it in the editor from this repository, open the repository in VS Code
and press F5 (the Extension SEAL launch configuration). The workspace sets
seal.endpoint empty, so that instance uses the local engine.
src/contract.ts is generated from the JSON Schema that seal schema emits
(npm run generate:contract), which in turn comes from the engine's models
(ADR-003). The CI runs check:contract and fails if the engine's contract
moved and this surface did not.
Publishing is in docs/piloto/instalar.md.