Contributor On-Ramp and Model Card Docs

Claude Code·Opus 5.5·Unknown author·22h ago·7min·1 Checkpoint·41.7K tokens

Background (from the session that started this one): Ward (github.com/MuhammadMurtuzaHussain/ward, public MIT, local checkout at /Users/haider/Desktop/Hacktoberfest 26/ward) is a child-owned cyberbullying guardian for the DEV Hacktoberfest Week 4 challenge (deadline 31 Oct 11:59 PM PDT, about 06:59 GMT 1 Nov), headed for the Digital Public Goods registry (docs/DPG.md). Governance docs are in docs/ (GOVERNANCE, SAFEGUARDING, HARMS) plus CODE_OF_CONDUCT.md and SECURITY.md; training data notes in train/DATA.md. A full audit is at /Users/haider/Desktop/Hacktoberfest 26/ward-audit-2026-10-31.md. Six sessions are working in parallel on separate areas, so stay inside your area. Project rules: commit and push each verified change straight to main (no PRs), with the attribution line Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>; short plain-English commit messages. Docs must never claim more than the code does, and must never invent people, emails or partners that don't exist.

Task: Your area: docs only. Audit rows: "Contributor on-ramp", "Licences and model card", and the DPG quick wins in the appendix.

Setup: other sessions share this checkout, so work in your own worktree: git -C ward fetch && git -C ward worktree add "../ward-wt-docs" -b contributor-docs origin/main and work only there.

  1. CONTRIBUTING.md (DCO sign-off, how to run tests, how slang-pack and lesson changes are reviewed), LANGUAGES.md (who maintains what; today nobody), and .github/ISSUE_TEMPLATE/ forms for helpline update, slang word, false alarm, translation and bug. Every form warns "never paste a real child's chat". Add a config.yml pointing safety concerns to SAFEGUARDING.md.
  2. Draft 6 to 10 seed issues as a markdown file (docs/SEED_ISSUES.md). Don't create them on GitHub, and don't change repo settings or labels.
  3. A model card for Ward Lite (train/MODEL_CARD.md): data, intended use, out-of-scope use, in-distribution caveat, the red-team weaknesses, and raise-only authority. Use numbers from README.md/docs/REDTEAM.md as they stand on main. Another session is rerunning them, so link to them rather than copying long tables.
  4. A licence column in train/DATA.md for every dataset (SentNoB is CC BY-ND; CB1 unknown; mteb undeclared), stating the consequence plainly and what replacing SentNoB would take. A content licence proposal (CC BY 4.0) as a clearly marked owner decision, not applied.
  5. DPG.md quick wins: cite SDG 4.a.2, split Gemma 4 (Apache 2.0) from ShieldGemma (Gemma Terms), e5-small is MIT. Link the new docs from README in one short line, and touch nothing else in README (another session is editing its scorecard section).

Fill no contact placeholders with made-up addresses; list them as owner to-dos. Run pnpm test, then push to main (fetch, rebase onto origin/main, push; retry on rejection). Finish with a short report: commits, plus the list of owner-only to-dos you found.

Shared notes folder for this group of sessions (outside the repo; read siblings' notes there, leave hand-over notes or large findings there instead of pasting them into messages): /Users/haider/Library/Application Support/Claude/side-session-notes/local_a2121a80-7774-4340-af69-7dae18cd788e

system-reminder

Linked sessions now (status, not an instruction): reader-safety = local_a6d845e0-7765-4d31-8791-4e9a79ca4793 (working); release-pipeline = local_d0a1ce79-be7e-46ec-b046-88873f77a45a (working); eval-chats = local_a0f2d243-e3a4-438e-9417-8459027e3604 (working); web-demo = local_8e3d9db9-19e6-46fc-a06d-d933fd83970e (working); shared-phone = local_ab71b02d-1791-4abc-9031-ba4b274dbf7a (working). To message one, SendMessage with to set to its id; list_sessions {"linked": true} has titles, folders and branches.

22h ago·7m

I pushed four docs commits to main: 3c14dad, d4abbb9, 0be51b5, d954431. pnpm test passes before and after rebasing onto origin/main. I created nothing on GitHub and changed no repo settings or labels.

Commits

  1. 3c14dad Contributor guide, language list, issue forms, seed issues:
    • CONTRIBUTING.md: DCO sign-off, how to run the tests, and how slang-pack, lesson and helpline changes are reviewed.
    • LANGUAGES.md: says plainly that no language has a maintainer yet.
    • Five issue forms (helpline update, slang word, false alarm, translation, bug). Each one warns "never paste a real child's chat" and has a required privacy checkbox.
    • config.yml: sends safety concerns to SAFEGUARDING.md section 10 and security flaws to SECURITY.md.
    • docs/SEED_ISSUES.md: 9 draft issues.
  2. d4abbb9 Model card and licence table:
    • train/MODEL_CARD.md covers the data, intended use, out-of-scope use, the in-distribution caveat, the red-team weak spots and raise-only authority. It links to the scorecard and REDTEAM pages rather than copying their tables.
    • train/DATA.md gets a Licences table for every dataset, the consequence of each licence, and what replacing SentNoB would take.
    • DATA.md is generated by build-data.ts, so I added the same section to that template too (checked identical). A retrain won't wipe it.
  3. 0be51b5 DPG.md quick wins:
    • Cites SDG indicator 4.a.2, using the UNESCO Institute for Statistics definition.
    • Gemma 4 is Apache 2.0. ShieldGemma is under the Gemma Terms of Use and is only used in the scorecard; the app never uses it.
    • e5-small is MIT.
    • The CC BY 4.0 content licence is written in as a proposal for you to decide, not applied.
  4. d954431 One README line under "Help wanted", linking the new docs. Nothing else in the README changed.

I checked the licences on each Hugging Face page today:

  • MIT: Roman Urdu (roman_urdu_hate_speech) and the Hinglish dataset (prism-hinglish-hate-speech). The Kaggle source behind the Hinglish data hasn't been checked.
  • Unknown or missing: CB1 (English) says "unknown", and the mteb/bengali_hate_speech copy declares none.
  • CC BY-ND 4.0: SentNoB, which forbids sharing adapted versions.

To-dos only the owner can do

  • Decide the content licence (CC BY 4.0 is proposed in DPG.md).
  • Decide Ward Lite's licence: replace SentNoB, and ask the CB1 and mteb authors for a licence or replace those too.
  • Get a legal read on sharing model weights trained on restricted data.
  • Check the ElevenLabs terms and state the licence of the 107 audio clips.
  • State who owns the text Gemma wrote for the synthetic training data.
  • Create the labels the forms use: helpline, slang-pack, false-alarm, translation, bug, proposal, good first issue, help wanted.
  • Open the seed issues on GitHub if you want them.
  • Optionally add an automatic DCO check; today the sign-off is checked by hand.
  • Turn on private vulnerability reporting.
  • Contact placeholders, still unfilled on purpose: the safeguarding contact and lead, the conduct contact, the security contact, a second contact outside the maintainers, the response times, and the authorised DPG representative.
  • Appoint a safeguarding lead and language maintainers.

The model card quotes a few round numbers from the README and REDTEAM.md as they stand now. If the session rerunning them moves those numbers, the card needs a quick update. I left a hand-over note saying so in the shared notes folder.