File size: 4,166 Bytes
ea917ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
636a4db
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Beam Verified Python</title>
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="style.css">
  <script src="https://cdn.jsdelivr.net/npm/marked@12/marked.min.js" defer></script>
  <script src="https://cdn.jsdelivr.net/npm/dompurify@3/dist/purify.min.js" defer></script>
  <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11/build/highlight.min.js" defer></script>
  <script src="app.js" defer></script>
</head>
<body>
  <header class="bar">
    <span class="wordmark">Beam Verified Python</span>
    <span class="bar-status" id="bar-status">Loading the latest run…</span>
  </header>

  <main>
    <section class="hero">
      <div class="hero-copy">
        <h1>Python problems written by Beam, kept only if they pass their own tests.</h1>
        <p class="lede">
          Beam writes an exercise, a reference solution and a set of unit tests. We run the solution against every test
          in a sandbox, then try to fool the tests with fake answers. A problem only makes it into the dataset if the
          solution passes and every fake answer gets caught.
        </p>
        <p class="headline-status" id="headline-status"></p>
      </div>

      <figure class="specimen" id="specimen" aria-label="One verified problem">
        <figcaption class="spec-head">
          <span class="spec-title" id="spec-title"></span>
          <span class="spec-tags" id="spec-tags"></span>
        </figcaption>
        <code class="spec-sig" id="spec-sig"></code>
        <div class="spec-row">
          <h3>Reference solution vs. its own tests</h3>
          <ol class="cells" id="spec-cells"></ol>
          <p class="spec-note" id="spec-pass-note"></p>
        </div>
        <div class="spec-row">
          <h3>Fake answers the tests caught</h3>
          <ul class="fakes" id="spec-fakes"></ul>
        </div>
        <button class="ghost" id="spec-next" type="button">Show another problem</button>
      </figure>
    </section>

    <section class="block" aria-labelledby="funnel-h">
      <div class="block-head">
        <h2 id="funnel-h">Where problems drop out</h2>
        <p>Each step removes problems that fail it. The last bar is what ships in the dataset.</p>
      </div>
      <div class="funnel-wrap">
        <ol class="funnel" id="funnel"></ol>
        <aside class="ledger" id="ledger" aria-label="Run costs"></aside>
      </div>
    </section>

    <section class="block" aria-labelledby="cov-h">
      <div class="block-head">
        <h2 id="cov-h">Coverage</h2>
        <p>Verified problems by topic and difficulty. Empty squares are combinations Beam hasn't produced yet.</p>
      </div>
      <div class="coverage" id="coverage"></div>
    </section>

    <section class="block" aria-labelledby="rej-h">
      <div class="block-head">
        <h2 id="rej-h">Rejected problems</h2>
        <p>Why Beam's output got thrown away.</p>
      </div>
      <div id="rejected"></div>
    </section>

    <section class="block" aria-labelledby="browse-h">
      <div class="block-head">
        <h2 id="browse-h">Browse problems</h2>
        <p>Everything that passed. Tests shown to the solver appear in the prompt; hidden tests decide the reward.</p>
      </div>
      <div class="browser">
        <div class="list-pane">
          <div class="filters">
            <input type="search" id="q" placeholder="Search titles and topics" aria-label="Search problems">
            <div class="seg" role="radiogroup" aria-label="Difficulty" id="diff-seg"></div>
          </div>
          <ul class="plist" id="plist"></ul>
        </div>
        <article class="detail" id="detail" aria-live="polite"></article>
      </div>
    </section>
  </main>

  <footer class="foot" id="foot"></footer>
</body>
</html>