Hinda esitatud QA tõendeid
Vajab Bee versiooni 1.0.0-beta.15, mis sisaldab käsku bee qa assess.
Anna agendile üks hinnang juba olemasolevate tõendite kohta ning järgi nimetatud vaatlusi ja järgmisi kontrolle, selle asemel et kõiki tooraruandeid uuesti avada. Käsk loeb kohalikke faile ja kasutab Giti ainult lugemiseks. See ei käivita teste, aruandegeneraatoreid ega manuseid, ei autendi tootjat, ei anna heakskiitu ega mõõda kokkuhoidu.
Käivita deklareeritud kontrollid käsuga qa run
Jaotis „Käivita deklareeritud kontrollid käsuga qa run”Ülalolev qa assess diagnoosib vaid antud tõendeid. Praeguse checkout’i jaoks käivitab bee qa run selgesõnalise JSON-ülesande, millel on kriteeriumid ja kontrollid; see ei tuleta käske proosast. Alusta kehtivast spetsifikatsiooni näidisest ja vaata enne käivitamist üle iga executable ning argument:
bee qa run --help --jsonbee qa run --root /absolute/checkout --spec /absolute/task.json --jsonSpetsifikatsioonis on schemaVersion: 1, profile: "change-task", 1–16 kriteeriumi ja 1–16 kontrolli. Kriteerium nimetab lähtefailide paths ning neid katvad checkIds. repo-command kontroll määrab absoluutse executable tee, argumentide massiivi, lähtefailide paths, lisa-inputs ja 1–300 sekundi ajapiiri. code-analyze lubab native source/compiled või Roslyn compiled ulatust; see ei tähenda testikatvust. Sisendid ja lähteidentiteet mõõdetakse enne ning pärast käivitust. Käsk võib faile kirjutada ja protsesse alustada; see pole liivakast. Ümbritsevat PATH-i ei edastata; kasuta absoluutset interpretaatorit või üle vaadatud wrapper’it.
Väljumiskood 0 tähendab verifiedCompletion=true ainult deklareeritud kontrollidele; 1 on repair_required, 4 vigane kasutus/spetsifikatsioon ja 5 puudulik tõend või otsustusvajadus. Aruande usalduspiir on in_process_only: salvestatud JSON ei tõenda hilisemat käivitust. Vaata üle toorväljund, kontrollide kvaliteet ja subjektiivsed kriteeriumid. Täieliku näite jaoks täpsemad CLI töövood ning eraldi omaniku teate jaoks Plaanid.
1 · Vali lähtekood ja profiil
Jaotis „1 · Vali lähtekood ja profiil”Alusta hoidla juurkaustas. Vali kohalik baaskommit ning kas praegune kommititud HEAD või praeguste failide jaoks worktree. Näide fikseerib baasiks praeguse HEAD-i ja hindab tööpuud; vajaduse korral määra QA_BASE soovitud võrdluskommitiks. Kommitina antud head peab vastama hoidla HEAD-ile ja muutmata sisenditele. Kommitte ei laadita alla.
Kaasasolev bee-cli profiil kirjeldab QA CLI integratsiooni sihtplatvormil linux-x64. See pole üldprofiil suvalise projekti, muu platvormi ega kogu väljalaske jaoks. Importija käivitamine macOS-is ei muuda sihtplatvormi.
Kasuta käsukesta, kus on Git ja Python 3. Järgnev loob uue ajutise paketi väljaspool hoidlat ja leiab selle füüsilise tee, sealhulgas macOS-i /private/tmp:
export QA_ROOT="$(pwd -P)"export QA_BASE="$(git -C "$QA_ROOT" rev-parse HEAD)"export QA_HEAD=worktreeexport QA_BUNDLE="$(python3 -c 'import pathlib,tempfile; print(pathlib.Path(tempfile.mkdtemp(prefix="bee-qa-demo-")).resolve())')"bee qa assess --helpJätka järgmisi samme sama hoidla ja paketiga. --root, --base, --head ning --profile on kohustuslikud; Bee lähtestamist ega teenuseühendust pole vaja.
2 · Vaata puuduvate tõendite eelvaadet
Jaotis „2 · Vaata puuduvate tõendite eelvaadet”qa_exit=0bee qa assess --root "$QA_ROOT" --base "$QA_BASE" --head "$QA_HEAD" \ --profile bee-cli --limit 5 --budget 16000 --json \ > "$QA_BUNDLE/preview.json" || qa_exit=$?test "$qa_exit" -eq 5Jätka ainult siis, kui väljumiskoodi kontroll õnnestub. Abi annab 0, vigased/tundmatud/korduvad valikud 4 ning iga hindamine annab tahtlikult 5. Kood 5 tähendab, et diagnostiline hinnang ei anna heakskiitu; see pole vaadeldud testiprotsessi väljumiskood ega tõend testide ebaõnnestumisest.
Ilma valikuta --evidence on oodatud decision: collect_evidence, missing_evidence ja puuduva ulatuse vaatlused. Enne päris tõendite ettevalmistamist uuri faili preview.json. Lahendamata lähtekood või ammendatud väljundieelarve ei anna kasutatavat lähtekoodi identiteeti.
3 · Koosta minimaalne kehtiv pakett
Jaotis „3 · Koosta minimaalne kehtiv pakett”Näide kirjutab sünteetilisi andmeid, mitte testi käivitamisel saadud tulemust. See loob ühe profiilivälise TRX-ebaõnnestumise koos kooskõlalise testi identiteedi ja loenduritega. Skeemi 1 indeks deklareerib eelvaate täpse lähtekoodimanifesti ja poliitika ning faili tegeliku baitide arvu ja SHA-256. Lõpetamisaeg ning puuduvad build/settings/toolchain/environment identiteedid jäävad teadmata.
python3 - <<'PY'import hashlib, json, osfrom pathlib import Path
bundle = Path(os.environ["QA_BUNDLE"])preview = json.loads((bundle / "preview.json").read_text(encoding="utf-8"))source = preview["source"]["manifestSha256"]policy = preview["policyFingerprint"]assert source and policytrx = b'''<TestRun xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010" id="11111111-1111-4111-8111-111111111111"> <TestDefinitions><UnitTest id="22222222-2222-4222-8222-222222222222"> <TestMethod className="Docs.Synthetic" name="Example"/> </UnitTest></TestDefinitions> <Results><UnitTestResult testId="22222222-2222-4222-8222-222222222222" executionId="33333333-3333-4333-8333-333333333333" testName="Synthetic example" outcome="Failed"/></Results> <ResultSummary outcome="Failed"><Counters total="1" executed="1" passed="0" failed="1" notExecuted="0"/></ResultSummary></TestRun>'''(bundle / "report.trx").write_bytes(trx)index = { "schemaVersion": 1, "runId": "docs-synthetic", "attemptId": "attempt-1", "completedAt": None, "bindings": {"source": source, "profile": "bee-cli", "policy": policy}, "acceptanceFingerprint": policy, "artifacts": [{"kind": "trx", "relativePath": "report.trx", "sha256": hashlib.sha256(trx).hexdigest(), "bytes": len(trx)}]}(bundle / "index.json").write_text(json.dumps(index) + "\n", encoding="utf-8")print(bundle / "index.json")PYrunId ja attemptId tähistavad esitatud paketti. relativePath on indeksikausta suhtes. acceptanceFingerprint on poliitikaga sidumise väli; selle määramine ei anna heakskiitu. Lähtekoodiräsi kopeerimine loob üksnes väite sisu kohta ning failiräsi arvutamine ei autendi tootjat. Ära asenda vana päris aruande lähtekoodiräsi uuega, et vastuolu peita.
4 · Hinda ja loe vaatlusi
Jaotis „4 · Hinda ja loe vaatlusi”qa_exit=0bee qa assess --root "$QA_ROOT" --base "$QA_BASE" --head "$QA_HEAD" \ --profile bee-cli --evidence "$QA_BUNDLE/index.json" \ --limit 5 --budget 16000 --json > "$QA_BUNDLE/assessment.json" || qa_exit=$?test "$qa_exit" -eq 5python3 -m json.tool "$QA_BUNDLE/assessment.json"Muutmata lähtekoodiga annab näide sourceAssociation: content_matches_claim, observedHistogram: {"Failed": 1} ja decision: collect_evidence. Faili verification on bytes_checked; parser võib olla complete, kuigi testVerdict on failed. Profiili nõutav ulatus on endiselt puudu. historical_failure säilitab sünteetilise vaatluse, kuid teadmata lõpetamisaeg ja muud seosed ei luba sellest teha praeguse lähtekoodi parandamise järeldust.
Loe koos välju decision, reasonCounts, scopeCounts, artifacts ja next. details nimetab võimaluse korral faili räsi ja vaatluse järjekorranumbri, et agent saaks järgmisena uurida asjakohast toorvaatlust. needs_judgment palub ülevaatust; see ei liigita viga automaatselt. missing_result ja not_executed ei muutu läbitud testideks. Osaline aruanne võib ebaõnnestumised säilitada; vigase kujuga sisend jääb ebaselgeks ega tõenda valideeritud testiebaõnnestumist.
Kõigis hinnangutes säilivad mode: diagnostics, trusted: false, acceptance: false ja intentJudgment: required, ka ainult läbimisi kirjeldavates pakettides. observedProducerExit jääb nulliks. Valikulise tootjakirje reportedExit on esitatud väide; parseri summarizerExitCode on neist eraldi väärtus.
5 · Jätka suurema väljundieelarvega
Jaotis „5 · Jätka suurema väljundieelarvega”qa_exit=0bee qa assess --root "$QA_ROOT" --base "$QA_BASE" --head "$QA_HEAD" \ --profile bee-cli --evidence "$QA_BUNDLE/index.json" \ --limit 200 --budget 65536 --json > "$QA_BUNDLE/expanded.json" || qa_exit=$?test "$qa_exit" -eq 5--limit lubab 0–200 üksikasja; --budget lubab 2048–65536 UTF-16 koodiühikut, välja arvatud lõpu reavahetus. Need piiravad väljundit pärast hindamist. Kontrolli counts.returned, counts.omitted ja counts.textTruncated; lühem tulemus ei tähenda vähem kohustusi. Näite laiendatud tulemus näitab väljajäetud üksikasju otsust muutmata.
Vea output_budget_exceeded korral korda sama evidenceIndexSha256 väärtusega ja suurema eelarvega; kontrolli ka lähtekoodimanifesti ning toorfailide räsisid. Varuväljund võib selgesõnaliselt jätta välja põhjuste tüüpe. Kui lähtekood või tõendid muutusid, käsitle seda uue hinnanguna, mitte vana jätkuna. See on korduv uurimine, mitte tulemuste vahemälu.
Sisendi ja värskuse piirid
Jaotis „Sisendi ja värskuse piirid”Hoia indeksit ja tõendifaile väljaspool hoidlat tavaliste failidena, mille tees pole sümbollingi ega reparse-point’i komponenti. Kasuta teisaldatavaid suhtelisi teid ilma .., absoluutsete teede või längkriipsudeta \. Sisend peab olema range UTF-8. Indeks võib olla kuni 1 MiB ja sisaldada kuni 64 faili; üks fail kuni 16 MiB, kõik kokku kuni 64 MiB. Lähtekoodi hõivamisel ja parseritel on lisapiirid ning käsu üldine ajapiir on kümme sekundit. Liiga suur, ligipääsmatu või muutuv sisend jääb selgelt märgituks.
source_mismatch tähendab, et deklareeritud lähtekood ei vasta hõivatud sisule. stale_evidence tähendab üle 24 tunni vanust deklareeritud lõpetamisaega; puuduv aeg jääb teadmata ja tulevane aeg nõuab otsustamist. Vanad või mittevastavad ebaõnnestumised jäävad nähtavaks, kuid ei tõenda praegust viga. Ükski toetatud valik ei tühista neid piire ega anna paketile usaldust või heakskiitu. Käsk ei paku testikäivitajat, testivalikut, mutatsioonitestimist ega täiendavaid backend-, Vue- või mobiiliprofiile.