File size: 4,065 Bytes
75dc663
9620ce1
 
 
 
 
 
 
9cb86c0
 
 
 
 
 
 
9620ce1
 
 
 
8ef7236
9620ce1
 
 
 
 
 
9cb86c0
9620ce1
9cb86c0
9620ce1
 
 
9cb86c0
 
 
9620ce1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75dc663
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
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="An evidence-backed, human-reviewed contribution assistant for public Hugging Face model cards.">
    <title>One Good Commit</title>
    <link rel="stylesheet" href="static-styles.css">
    <style>
      .model-options{background:#fff;border:1px solid #dfe4da;border-radius:10px;box-shadow:0 10px 26px rgba(35,50,39,.08);margin-top:10px;max-height:360px;overflow:auto}
      .model-option{align-items:center;background:#fff;border:0;border-bottom:1px solid #edf0e9;color:#172419;display:grid;gap:4px;grid-template-columns:1fr auto;padding:12px 14px;text-align:left;width:100%}
      .model-option:last-child{border-bottom:0}.model-option:hover,.model-option:focus-visible{background:#f4f7f0;outline:2px solid #2d6a4f;outline-offset:-2px}
      .model-option strong{display:block;font-size:.93rem;overflow-wrap:anywhere}.model-option span{color:#647067;font-size:.78rem}.model-option .task{background:#f1f0e8;border-radius:999px;color:#536057;font-size:.7rem;padding:4px 7px;white-space:nowrap}
      @media(max-width:720px){.model-option{grid-template-columns:1fr}.model-option .task{justify-self:start}}
    </style>
  </head>
  <body>
    <main class="shell">
      <header class="hero">
        <p class="eyebrow">MODEL CARD CONTRIBUTION ASSISTANT</p>
        <h1>One Good Commit</h1>
        <p class="lede">Read a public Hugging Face model card, trace what it documents, and prepare a careful contribution packet for a human to review.</p>
      </header>

      <section class="input-card" aria-label="Review a public model card">
        <form id="review-form">
          <label for="repo-id">Find a public model</label>
          <div class="input-row">
            <input id="repo-id" name="repo-id" autocomplete="off" placeholder="Search a model, organization, or task" role="combobox" aria-autocomplete="list" aria-expanded="false" aria-controls="model-options" required>
            <button type="submit">Review card</button>
          </div>
        </form>
        <div id="model-options" class="model-options" role="listbox" aria-label="Live public model matches" hidden></div>
        <p id="picker-status" class="example-label">Loading live public models…</p>
        <p class="input-note">Start with a name, organization, or task. Select a live public model; exact repository IDs also work if you already have one.</p>
      </section>

      <section id="notice" class="notice" hidden aria-live="polite"></section>
      <section id="results" hidden aria-live="polite">
        <div id="summary"></div>
        <div class="tabs" role="tablist" aria-label="Review output">
          <button role="tab" aria-selected="true" aria-controls="evidence-panel" id="evidence-tab" data-tab="evidence-panel">Evidence</button>
          <button role="tab" aria-selected="false" aria-controls="worksheet-panel" id="worksheet-tab" data-tab="worksheet-panel">Contribution worksheet</button>
          <button role="tab" aria-selected="false" aria-controls="discussion-panel" id="discussion-tab" data-tab="discussion-panel">Discussion draft</button>
        </div>
        <section id="evidence-panel" role="tabpanel" aria-labelledby="evidence-tab" class="tab-panel"></section>
        <section id="worksheet-panel" role="tabpanel" aria-labelledby="worksheet-tab" class="tab-panel" hidden></section>
        <section id="discussion-panel" role="tabpanel" aria-labelledby="discussion-tab" class="tab-panel" hidden></section>
        <button id="download-review" class="download" type="button">Download complete review</button>
      </section>

      <footer>
        <strong>Method boundary.</strong> This tool checks whether selected documentation signals can be located. It does not establish truth, safety, quality, legal status, or compliance. Every contribution remains a human decision.
      </footer>
    </main>
    <script src="static-app.js"></script>
  </body>
</html>