Measure chance reach misses in oracle properties
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 53/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
Rechercherichtung
Start with packages/db/tests/declared-reach-oracle.property.test.ts and docs/contributing/oracle-coverage.md, then find the other files using createOracleReach or runOracleCampaign. Measure normal-budget reach misses across seeds for states not entered by fixed examples; add fixed examples through the shared seam or document probabilistic states with a maintainer decision. Consider whether a lint rule can identify chance-selected reach prefixes.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
A generated property declares the states its laws depend on, and createOracleReach fails a run in which too few histories entered one (ORC-015). When only random histories enter a declared state, the check can fail by chance at the normal run budget. No law fails, but CI goes red. #2287 was one case: in about 0.3% of 60-run campaigns, source-health.history never chose the one reach prefix that enters two of its states.
The fix for #2287 adds a shared seam for this:
oraclePropertyOptions(…, { examples })runs fixed examples first in every run, on top of the base budget.createOracleReach(…, { fixedHistories })fails for each declared state that those examples did not enter.
The three source-health properties use the seam, so their reach does not depend on the seed. packages/db/tests/declared-reach-oracle.property.test.ts (oracle.declared-reach) owns these rules.
About 40 other files use createOracleReach or runOracleCampaign. Their chance of a reach miss at the normal budget has not been measured.
Work
- For each property with declared reach, list the declared states that no fixed example enters.
- Measure how often a normal-budget run misses each of those states. For example, count the misses across many seeds, or sample the generator.
- For each state that can miss, add a fixed example through the seam, or record the state as probabilistic in
docs/contributing/oracle-coverage.mdwith a maintainer decision. Raise a run budget only with a maintainer decision, because it adds CI time. - Consider a lint rule that reports a property that chooses a reach prefix by chance (
fc.option(fc.constantFrom(...prefixes))) without fixed examples.
The coverage map's "Oracle tooling" section links to this issue as the destination for the gap.
Refs #2234, #2287.
This issue was written by Isaac.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 4k
- Forks
- 277
- Ø Merge
- 1 T. 7 Std.
- Gemergte PRs (30 T.)
- 172
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus TanStack/db
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
OfflineExecutor.dispose() never settles pendingTransactionPromisesEvtl. wieder frei @Claire-ovo hat das vor 7 Tagen übernommen, und es ist kein Pull Request offen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
TanStack/db#2254 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Two @tanstack/db tests time out under CPU load because a cold module import counts against the 5 s default timeoutEvtl. vergeben @jp-knj hat das vor 5 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
setWindow publishes the new page before its include demand settles (on-demand materialize / toArray)Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Add: Class TV ModaOffencheck:passed streams:add
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
GiganticMinecraft/seichi-playguide#183 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: core complexity: easy impact: medium
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
ueberdosis/tiptap#8668 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
longbridge/nsh#804 ·
Maintainer antworten meist innerhalb von 1 Tag