IInstalação

A primeira prova.

De uma máquina limpa a uma resposta com hash e reproduzível em menos de um minuto. Sem conta, sem chave, sem servidor. Execute os mesmos quatro passos em qualquer linguagem — a prova é o mesmo hash.

TypeScriptNode ≥ 20

  1. 01Instalar

  2. 02Conectar uma fonte

    import { createSQAI } from "@thyn-ai/sqai";
    
    const sqai = createSQAI();
    await sqai.connect("./sales.csv",
      { name: "sales" });
  3. 03Fazer uma consulta

    const a = await sqai.ask({
      metric: "revenue",
      aggregation: "sum",
      group_by: "region",
      source_name: "sales",
    });
    // east 2130.5 · west 1519 · north 1000
    // plan_hash f87610d8afeb…
  4. 04Calcular um valor

    const r = await sqai.compute({
      module: "finance", function: "npv",
      args: [0.1, [-1000, 300, 420, 560, 680]],
    });
    r.value505.020148896933
    r.computation_hashb74f67d0…d91bc8

PythonPython ≥ 3.10

  1. 01Instalar

  2. 02Conectar uma fonte

    from sqai import SQAI
    
    sqai = SQAI()
    sqai.connect("./sales.csv",
      name="sales")
  3. 03Fazer uma consulta

    a = sqai.ask({
      "metric": "revenue",
      "aggregation": "sum",
      "group_by": "region",
      "source_name": "sales",
    })
    # east 2130.5 · west 1519 · north 1000
    # plan_hash f87610d8afeb…
  4. 04Calcular um valor

    r = sqai.compute(
      module="finance", function="npv",
      args=[0.1, [-1000, 300, 420, 560, 680]],
    )
    r["value"]505.020148896933
    r["computation_hash"]b74f67d0…d91bc8
computation_hash · TypeScript ≡ Python

b74f67d0d7a594aa7ac91f6291612452aa8ccdf603351ebc8d801a6fddd91bc8

Idêntico. Byte a byte.

Ambos os SDKs canonicalizam o mesmo resultado nos mesmos bytes, portanto o hash coincide entre linguagens — não por acaso, por construção. Reproduza a chamada em qualquer lugar e ela deve imprimir esta linha.

IIConfiguração única

Provisione uma vez. Depois é instantâneo.

O plano de consulta roda em processo no momento em que a instalação termina — sem daemon, sem chave. O plano de computação provisiona seu runtime assinado uma vez, no primeiro compute(), e o mantém residente.

await sqai.compute(…)  // first call, ever~110 s · uma vez por máquina

  1. 01baixar o pacote da plataforma
  2. 02verificar a assinatura RS256 + sha256 por artefato
  3. 03extrair e instalar atomicamente
  4. 04iniciar o motor residente

await sqai.compute(…)  // every call after0,83–0,93 ms · medido

O runtime já está residente — sem download, sem cold start, sem configuração por consulta.

O pacote é armazenado em cache por usuário, portanto o provisionamento ocorre uma vez por máquina — não uma vez por processo.

IIIVerificar

Um comando lê a máquina inteira.

✓ node: v20.11.0
✓ sdk: @thyn-ai/sqai 0.1.4 imports cleanly
✓ contract: 4778 capabilities
  sha256:79f1c5a6c7164e7e9e1750e70a5c03292fa87eb52d8148a740c06695924be9a1
• tested-pair: skipped (not in the repo)
• runtime: unavailable (checks skipped)
✓ doctor: ok

O doctor verifica a versão do Node, a importação do SDK, o contrato embutido e uma sonda ao runtime em tempo real. Em uma máquina limpa, a linha do runtime exibe unavailable — uma omissão, não uma falha. O plano de consulta não precisa de runtime.

  • 4.778 capacidades são entregues no contrato fixado por hash; 4.574 são expostas aos SDKs — somente leitura, determinísticas.
  • Adicione --parity para verificar esse invariante e comparar os módulos do contrato com o motor em execução.
  • Adicione --json para imprimir exatamente um objeto JSON — integrado para CI.

IVRequisitos

O que o minuto precisa.

Node
20 ou mais recente para os pacotes npm — o doctor impõe esse requisito.
Python
3.10 ou mais recente para o pacote PyPI.
Plano de computação
darwin-arm64 ou linux-x64 — o runtime assinado é provisionado na primeira chamada a compute().
Plano de consulta
Qualquer ambiente onde Node ou Python execute.
Windows e outros
O plano de consulta funciona integralmente; compute() retorna um erro estruturado unsupported_platform — nunca uma falha crítica.

Fora de um host suportado, aponte o compute para um engine remoto via SQAI_ENGINE_URL ou SQAI_API_KEY — consultas e despacho continuam funcionando; apenas o provisionamento local é ignorado.

VA faixa do operador

Três comandos em torno do SDK.

Conexão, consulta e computação ocorrem em processo por meio dos SDKs. O CLI é o que você executa ao redor deles — autentique um dispositivo, verifique o ambiente, gerencie o runtime.

  1. $sqai login [--no-browser]

    Autenticação de dispositivo opcional (RFC 8628) via accounts.thyn.ai. Transfere apenas um token assinado — nunca seus dados. Gratuito em uma máquina.

  2. $sqai doctor [--parity] [--json]

    Node, importação do SDK, contrato embutido, sonda do runtime ativo. --parity verifica o invariante somente leitura e determinístico.

  3. $sqai runtime <status|install|verify|stop>

    O runtime de computação residente: inspecione, instale antecipadamente, verifique o sha256 fixado, encerre.

Todo comando aceita --json e imprime exatamente um objeto JSON. Os códigos de saída são scriptáveis: 0 sucesso · 1 verificação falhou · 2 erro de uso.