[TS PBT] Provide campaign controls, shared budgets and extensible run artifacts
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- kotlin, typescript
- Ambito
- devtools, testing-qa
Direzione di ricerca
Start by tracing the existing command, options, backend phases and phase artifacts, then review dependencies #353 and #384. Implement and test one reproducible command covering PBT_ONLY, SYMBOLIC_ONLY and sequential HYBRID with observable deadlines, statuses and reports. Done means the listed end-to-end paths, fixtures and documentation work without claiming unsupported coverage guidance.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Part of #345. Depends on #353/#384. Supplies the common campaign shell and controls; #355 owns the repeated observation-driven feedback algorithm.
Goal
Provide one reproducible command and artifact contract for direct PBT, direct symbolic search, sequential control and the full feedback configurations, with identical original property semantics and accountable budgets.
Staged delivery
This issue delivers the campaign shell and direct controls before #355 completes the core feedback modes. #405 consumes both implementations using the same deadline, artifact and oracle contracts. Extension configuration/reduction for #400–#403 is implemented and accepted in those issues; no extension is a prerequisite for the shell or pilot. Core and extension results carry an explicit stage/capability label.
Initial controls
- PBT_ONLY: concrete generation plus backend shrinking under the deadline.
- SYMBOLIC_ONLY: original-predicate search plus concrete candidate validation; no random PBT phase.
- SEQUENTIAL: concrete campaign followed, when appropriate, by original-predicate USVM search, replay and reduction. Preserve found violations without requiring another engine. Use this explicit name in reports; legacy HYBRID, if retained, is documented as an alias for SEQUENTIAL.
- Unsupported phases can be skipped with capability diagnostics; definition errors stop the affected property. No semantic substitution on failure.
- Preserve optional coverage and observations from the actual PBT run. The controls do not consume them as search feedback.
Shared extension boundary
- Reuse property IDs, source/tool hashes, tagged values, run results and existing CLI options. Add a small mode/round/target record rather than a generic plugin framework.
- #355 registers COVERAGE_FEEDBACK, RELATION_FEEDBACK and COMBINED_FEEDBACK and repeated-round execution using #399. #400, #401, #402 and #403 add explicitly reported supported configurations.
- Record original property/assertion, generator support, observation requests, phase/round, origin engine, source point, target/hypothesis, input provenance, coverage granularity and all replay outcomes.
- Concrete values must be consumable by inference/mapping without rerunning PBT. Selected returned seeds and bounded neighborhood-generation decisions are recorded separately from mere explicit replay.
- Unsupported observation/coverage/shrinking capabilities remain partial capabilities, not fabricated data.
Budgets
- One monotonic total deadline per property/campaign with declared bounded rounds and phase caps; reserve concrete validation time before symbolic work.
- Include relevant startup/frontend/adapter work, instrumentation, inference, mapping, search, replay and shrinking. Report one-time reusable setup and cold/warm assumptions consistently.
- Allocation may transfer unused time within the total deadline. Adaptive changes belong to a named scheduler policy and are frozen before final evaluation.
- Bound observation storage, candidate queues and returned-seed corpus; record truncation and stop reasons.
- Fixed seeds do not promise deterministic timeout-limited solver behavior. Record actual tool/runtime/backend versions, settings and task revisions.
Definition of Done
- One command runs the three controls over the same examples and exposes a documented integration path for #355 and the bounded extensions.
- Full feedback mode wiring is tested with its owning implementations; this issue may complete its shell/control contract before those mechanisms finish and cannot close #345 by itself.
- No-feedback/no-coverage/no-observation/no-shrinking cases remain valid controls.
- Violation, hypothesis-only refutation, no finding, timeout, unsupported, invalid property and infrastructure failure stay distinguishable.
- Artifacts retain unconfirmed candidates and confirmed originals when replay or shrinking cannot finish.
- Focused end-to-end and deadline tests exercise the real concrete backend; reproduction commands and result schema are documented.
- Lingua principale
- Kotlin
- Stelle
- 33
- Fork
- 27
- Merge medio
- 3g 8h
- PR unite (30g)
- 7
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di UnitTestBot/usvm
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
UnitTestBot/usvm#467 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
UnitTestBot/usvm#465 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
UnitTestBot/usvm#462 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
UnitTestBot/usvm#457 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
UnitTestBot/usvm#440 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di UnitTestBot/usvm
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
sqldelight/sqldelight#6382 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
521xueweihan/HelloGitHub#3846 ·
-
Despair Manga: URL changedApertaBug Domain changed
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
keiyoushi/extensions-source#19624 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 5 giorni