[{"data":1,"prerenderedAt":420},["ShallowReactive",2],{"-docs-reference-concepts":3,"-docs-reference-concepts-surround":410},{"id":4,"title":5,"body":6,"description":400,"extension":401,"links":402,"meta":403,"navigation":404,"path":406,"seo":407,"stem":408,"__hash__":409},"docs\u002Fdocs\u002F4.reference\u002F2.concepts.md","Concepts and glossary",{"type":7,"value":8,"toc":391},"minimark",[9,14,105,109,181,185,189,251,255,316,320,372],[10,11,13],"h2",{"id":12},"audit-structure","Audit structure",[15,16,17,30],"table",{},[18,19,20],"thead",{},[21,22,23,27],"tr",{},[24,25,26],"th",{},"Term",[24,28,29],{},"Definition",[31,32,33,45,55,65,75,85,95],"tbody",{},[21,34,35,42],{},[36,37,38],"td",{},[39,40,41],"strong",{},"Project",[36,43,44],{},"Tenant-scoped container for repository identity, mode, methodology versions, campaigns, and finding identity.",[21,46,47,52],{},[36,48,49],{},[39,50,51],{},"Methodology",[36,53,54],{},"Immutable configuration version containing buckets, categories, passes, scopes, and prompt sections.",[21,56,57,62],{},[36,58,59],{},[39,60,61],{},"Campaign",[36,63,64],{},"Audit of a target branch and commit using one methodology version. Campaign types are full, incremental, and retest.",[21,66,67,72],{},[36,68,69],{},[39,70,71],{},"Audit run",[36,73,74],{},"One campaign cell for a pass and bucket.",[21,76,77,82],{},[36,78,79],{},[39,80,81],{},"Slice",[36,83,84],{},"Smallest execution unit: one audit run assigned to one model. A slice moves through pending, running, completed, or failed state.",[21,86,87,92],{},[36,88,89],{},[39,90,91],{},"Lease",[36,93,94],{},"Time-bounded claim granting one worker the right to execute a slice. Expiry requeues the slice; first accepted result wins.",[21,96,97,102],{},[36,98,99],{},[39,100,101],{},"Report",[36,103,104],{},"One model-emitted observation parsed from a slice's raw stdout. Reports retain model, pass, bucket, file, category, CWE, and evidence provenance.",[10,106,108],{"id":107},"finding-identity","Finding identity",[15,110,111,119],{},[18,112,113],{},[21,114,115,117],{},[24,116,26],{},[24,118,29],{},[31,120,121,131,141,151,161,171],{},[21,122,123,128],{},[36,124,125],{},[39,126,127],{},"Finding",[36,129,130],{},"Project-level deduplicated issue that teams triage. Security-mode projects call it a finding or vulnerability; bug-mode projects call it a bug.",[21,132,133,138],{},[36,134,135],{},[39,136,137],{},"Finding fingerprint",[36,139,140],{},"Deterministic identity derived from normalized, scrubbed report content. A project maps each known fingerprint to one canonical finding.",[21,142,143,148],{},[36,144,145],{},[39,146,147],{},"Fingerprint alias",[36,149,150],{},"Additional fingerprint mapped to an existing canonical finding after adjudication or merge. Aliases preserve identity when wording or evidence changes.",[21,152,153,158],{},[36,154,155],{},[39,156,157],{},"Sighting",[36,159,160],{},"Evidence that a finding appeared in a campaign, branch, and commit. Comparison uses sightings rather than the campaign where the finding was first created.",[21,162,163,168],{},[36,164,165],{},[39,166,167],{},"Keeper",[36,169,170],{},"Canonical finding that remains active after a merge.",[21,172,173,178],{},[36,174,175],{},[39,176,177],{},"Soft merge",[36,179,180],{},"Merge that points a losing finding to its keeper instead of deleting it. Reports, aliases, sightings, and provenance resolve through the keeper while the loser remains an auditable tombstone.",[182,183,184],"p",{},"Finding identity is project-global, not branch-local. A finding can have sightings on several branches and campaigns while retaining one triage state.",[10,186,188],{"id":187},"campaign-comparison","Campaign comparison",[15,190,191,199],{},[18,192,193],{},[21,194,195,197],{},[24,196,26],{},[24,198,29],{},[31,200,201,211,221,231,241],{},[21,202,203,208],{},[36,204,205],{},[39,206,207],{},"Baseline",[36,209,210],{},"Campaign selected as the prior side of a comparison. An explicit baseline wins; otherwise the preceding campaign is used where supported.",[21,212,213,218],{},[36,214,215],{},[39,216,217],{},"New finding",[36,219,220],{},"Live keeper sighted in the selected campaign but not the baseline.",[21,222,223,228],{},[36,224,225],{},[39,226,227],{},"Resolved finding",[36,229,230],{},"Live keeper sighted in the baseline but absent from the selected campaign. Absence should not be treated as proof while campaign slices remain incomplete.",[21,232,233,238],{},[36,234,235],{},[39,236,237],{},"Carried-forward finding",[36,239,240],{},"Open keeper sighted in both selected and baseline campaigns.",[21,242,243,248],{},[36,244,245],{},[39,246,247],{},"Gate",[36,249,250],{},"Cheap authenticated campaign read returning pass, fail, or pending from slice completion and new findings. CI polls the gate; it does not run models.",[10,252,254],{"id":253},"remediation-and-retest","Remediation and retest",[15,256,257,265],{},[18,258,259],{},[21,260,261,263],{},[24,262,26],{},[24,264,29],{},[31,266,267,277,287,297],{},[21,268,269,274],{},[36,270,271],{},[39,272,273],{},"Fix record",[36,275,276],{},"Remediation record with description, pull request, ticket, and one or more commits.",[21,278,279,284],{},[36,280,281],{},[39,282,283],{},"False-positive record",[36,285,286],{},"Decision record with reason, decider, notes, and optional commit through which the decision applies.",[21,288,289,294],{},[36,290,291],{},[39,292,293],{},"Retest campaign",[36,295,296],{},"Finding-scoped campaign that runs the finding's bucket and passes matching its files.",[21,298,299,304],{},[36,300,301],{},[39,302,303],{},"Fix verification",[36,305,306,307,311,312,315],{},"Retest conclusion attached to a fix. ",[308,309,310],"code",{},"confirmed"," means the covered retest did not reproduce the finding; ",[308,313,314],{},"regressed"," means the same or deduplicated finding reappeared.",[10,317,319],{"id":318},"execution-boundary","Execution boundary",[15,321,322,330],{},[18,323,324],{},[21,325,326,328],{},[24,327,26],{},[24,329,29],{},[31,331,332,342,352,362],{},[21,333,334,339],{},[36,335,336],{},[39,337,338],{},"Brain",[36,340,341],{},"Server-side logic for prompts, parsing, scrubbing, fingerprints, deduplication, triage, usage, and persistence.",[21,343,344,349],{},[36,345,346],{},[39,347,348],{},"Agent",[36,350,351],{},"Thin local process that detects Git metadata, claims leases, runs model commands in a checkout, and uploads raw stdout plus a short stderr tail.",[21,353,354,359],{},[36,355,356],{},[39,357,358],{},"Runner",[36,360,361],{},"Command bound to a model code on an agent host. It consumes a prompt file and emits marker-delimited findings on stdout.",[21,363,364,369],{},[36,365,366],{},[39,367,368],{},"Artifact",[36,370,371],{},"Content-addressed prompt, output, normalized output, or stderr object stored for provenance.",[182,373,374,375,380,381,385,386,390],{},"Continue with ",[376,377,379],"a",{"href":378},"\u002Fdocs\u002Fguide\u002Faudit-workflows","campaign workflows",", the ",[376,382,384],{"href":383},"\u002Fdocs\u002Freference\u002Frunner-contract","runner contract",", or the ",[376,387,389],{"href":388},"\u002Fdocs\u002Freference\u002Fapi","API reference",".",{"title":392,"searchDepth":393,"depth":393,"links":394},"",2,[395,396,397,398,399],{"id":12,"depth":393,"text":13},{"id":107,"depth":393,"text":108},{"id":187,"depth":393,"text":188},{"id":253,"depth":393,"text":254},{"id":318,"depth":393,"text":319},"Canonical definitions for TheSpider campaigns, slices, leases, findings, and identity","md",null,{},{"icon":405},"i-lucide-book-marked","\u002Fdocs\u002Freference\u002Fconcepts",{"title":5,"description":400},"docs\u002F4.reference\u002F2.concepts","mrLpmIlE8Dycab5VF1-VuKXFD7naUREoIegYpt8jWgs",[411,415],{"title":389,"path":388,"stem":412,"description":413,"icon":414,"children":-1},"docs\u002F4.reference\u002F1.api","The mounted TheSpider HTTP API, authentication, work loop, reads, and management routes","i-lucide-code-xml",{"title":416,"path":383,"stem":417,"description":418,"icon":419,"children":-1},"Runner contract","docs\u002F4.reference\u002F3.runner-contract","Exact process, marker, output, timeout, and result-submission behavior for model runners","i-lucide-file-json-2",1784724165141]