codai docs
Resolve

Resolve

Remedieri de bug-uri verificate prin execuție: îndrepți Resolve către un repo public GitHub și un issue, primești un patch dovedit prin teste și o atestare publică. Fără fix, fără plată.

Resolve transformă un issue GitHub într-un pull request în care poți avea încredere fără să citești întâi diff-ul. Scrie un test de reproducere înainte să atingă codul tău, repară bug-ul într-un sandbox, dovedește că reproducerea trece acum și că suita ta existentă încă trece, și publică o atestare — patch-ul, testul de reproducere, output-ul testelor înainte/după, digest-ul imaginii runner-ului — la un URL pe care oricine îl poate deschide. Plătești un preț fix cotat doar după ce acea atestare există. Încercările eșuate nu costă nimic și nu deschid niciun PR.

URL de bază https://resolve.codai.ro. Aceeași cheie codai_ ca pe gateway.

Beta privat. Doar repo-uri publice github.com; Python (pytest) și JavaScript/TypeScript (vitest, jest, node:test) sunt căile de verificare suportate.

Trei pași

Trimiți un repo și un issue

Etichetezi issue-ul codai-fix cu acțiunea GitHub instalată, sau apelezi API-ul:

curl -X POST https://resolve.codai.ro/v1/resolve/jobs \
  -H "Authorization: Bearer $CODAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "repo_url": "https://github.com/owner/repo",
    "issue_url": "https://github.com/owner/repo/issues/42"
  }'

Triajul citește issue-ul și răspunde cu una din trei cotații fixe — 7 $, 19 $ sau 49 $ — sau refuză gratuit când nu crede că un fix verificat este probabil. Primele 3 remedieri verificate sunt gratuite și pornesc imediat.

{
  "id": "5f0c…",
  "status": "quoted",
  "tier": "t19",
  "quote_micro_usd": 19000000,
  "triage_reason": "moderate: multi-file, needs investigation",
  "free_tier_remaining": 0
}

Accepți cotația

Job-urile gratuite se auto-acceptă. Pentru o cotație plătită, POST /v1/resolve/jobs/{id}/accept (sau lași acțiunea să o facă sub max-tier-ul tău). Job-ul trece în accepted și pornește un runner izolat: întâi testul de reproducere, apoi fix-ul, apoi suita completă.

Primești atestarea

Interoghezi GET /v1/resolve/jobs/{id} până când status este resolved (sau failed / error). Un job rezolvat poartă attestation_url — un document JSON public la /v1/resolve/attestations/{id} cu patch-ul și fiecare output de teste. Aplici patch-ul, sau lași acțiunea să deschidă PR-ul pentru tine, cu atestarea legată.

De ce contează atestarea

Rândul de facturare nu poate fi scris fără un rând de atestare verificată — asta este impus în cod, nu prin politică. Așadar URL-ul pe care îl dai echipei este exact artefactul care a decis dacă ai fost taxat. Nimic de luat pe încredere: reproducerea eșuează înainte pe commit-ul de bază, trece după cu patch-ul, iar output-ul suitei de regresie este chiar acolo.

Pe această pagină