← Documentation index Architecture guide › Synt

Metnos

Synt: creating a capability without activating it blindly
Verified gap, staged generation, quarantine, evaluation, and rollback.

Synt builds an executor candidate when the catalog has no suitable capability. It does not turn model prose into immediately executable code: it first rules out duplicates, separates contract from implementation, runs checks and birth tests, signs the artifact in quarantine, and hands it to a promoter with evaluation, an observation period, and rollback.

Contents

  1. What it does and does not do
  2. When it runs
  3. Composition or new synthesis
  4. The five stages
  5. Post-generation checks
  6. Candidate lifecycle
  7. Natural-language example
  8. Decision, observation, and rollback
  9. Language, data, and audit
  10. Limits of the guarantees

1. What it does and does not do

Synt receives an uncovered intent and produces a proposal conforming to the executor contract. Its result may include a canonical name, argument schema, capabilities, reversibility, tests, description, affinity, and Python code.

Synt does not enlarge a user's permissions, create verbs or objects outside the vocabulary, overwrite handcrafted executors, or make a candidate planner-visible merely because the code compiles. Policy, standard conformance, signatures, sandboxing, and consent remain separate controls.

2. When it runs

The internal request_new_executor request must provide an expected name and the intent to cover. Before spending generation calls, the runtime applies admission checks:

These controls are driven by the catalog, vocabulary, and binding registry, not by exceptions written for one sentence.

3. Composition or new synthesis

The least invasive solution is to compose already-signed capabilities. The composer can search the mnestoma for a short chain that closes the intent and return the suggested first step to the engine. No new executor is created in this case.

When an atomic capability or promotable pipeline is genuinely missing, staged synthesis begins. The outcomes remain distinct:

OutcomeArtifactVisibility
CompositionChain of existing executorsUsable in the turn after ordinary controls
SynthesisNew candidate with manifest, code, and testsQuarantined until promotion

4. The five stages

StageBinding output
1. Name and classaction_object[_qualifier], criticality, reversibility, and target kind.
2. Operational signatureArgument schema, declared capabilities, and a reverse pattern when required.
3. Birth testsAt least three cases with input and an observable expected outcome.
4. DescriptionConforming manifest head, affinities, and usage boundaries.
5. CodeAn invoke implementation, and a reverse operation when needed, built against the earlier contract.

Stages 1–4 use the middle LLM role; code uses wise. These roles are configurable and may point to the same local provider. Each stage receives only the request and validated outputs from earlier stages, so code cannot silently redefine the contract.

5. Post-generation checks

  1. Per-stage validation. Name shape, vocabulary, types, reversibility, tests, and description are checked before proceeding.
  2. Structural lint. The manifest cannot cite nonexistent arguments, runtime-resolved fields, or an incompatible output shape.
  3. Semantic verification. A separate judge compares description and code. Its verdict is probabilistic; code applies the decision to reject an explicit mismatch.
  4. Generated contract. Manifest format, standard, lifecycle, and execution policy must match the runtime-owned envelope.
  5. Real birth tests. The candidate runs against its declared cases. A failure removes the quarantined installation.

An infrastructure failure in the semantic judge is recorded but does not alone reject the candidate: deterministic checks, tests, and the downstream evaluator remain mandatory. This is explicit degradation, not proof of alignment.

6. Candidate lifecycle

When all stages and birth tests succeed, the runtime writes the candidate to the user executor store with lifecycle synthesized and signs its manifest. The signature establishes artifact integrity; it is not activation. The loader can inspect the candidate while the composer's catalog excludes it.

The promoter then evaluates the proposal document using deterministic signals: name conformance, overlap with existing capabilities, tests, reversibility parity, error classes, schema stability, call frequency, estimated benefit, and routing interference risk.

VerdictEffect
acceptFresh admission checks, active signature, rollback archive, and a grace period.
grayAdministrative review is required; there is no implicit activation.
rejectArchive with a reason; the candidate does not enter the active catalog.

7. Natural-language example

Ask Metnos with a request like this example: “In the CSV files under Sensors, find runs of at least five measurements that increase without a break, and create a summary for each sensor.”

Metnos first attempts a pipeline of existing capabilities: find files, read CSV, extract, and group. Only if the catalog cannot represent the required operation may it propose a new capability. The answer must distinguish three outcomes clearly: the operation completed with existing tools, a candidate was created but is not active yet, or synthesis was rejected with a reason.

The same sentence can be used in Telegram. If an administrative decision is needed, Metnos must state that management happens in the web chat and provide the current navigation path, such as Settings › Lifecycle › Changes, instead of showing only a proposal identifier.

8. Decision, observation, and rollback

An accepted proposal normally enters a configurable grace period. The promoter creates a rollback archive first. During grace, hard failures observed in real turns may trigger the kill switch. The administrator can also confirm or withdraw the promotion from the delivered digest. The promotion is finalized after grace expires without a negative signal.

The Synt-candidate promoter and the unified change-intent lifecycle have distinct ownership. A synthesized candidate is not duplicated as a false approval request in a second store.

9. Language, data, and audit

Stage prompts are loaded in the turn language. Descriptions and affinity can be localized; canonical names, schema fields, and identifiers remain stable. Any i18n keys introduced by generated code are registered for the normal translation pipeline rather than invented in one UI.

Proposals, stage results, rejection reasons, evaluations, promotions, and rollbacks are retained in local stores and JSONL audit logs. Prompts do not receive plaintext credentials. Generated code remains subject to allowed imports, sandbox profiles, and executor-standard limits.

10. Limits of the guarantees

Code references: