Skip to content

docs: complete the open-source community standards - #23

Merged
ribdsp merged 1 commit into
mainfrom
docs/community-standards
Aug 31, 2026
Merged

ribdsp merged 1 commit into
mainfrom
docs/community-standards

Conversation

@ribdsp

@ribdsp ribdsp commented Aug 31, 2026

Copy link
Copy Markdown
Owner

GitHub's community profile was at 57% — code of conduct, security policy, issue templates and PR template all missing. Each new file carries this repository's actual rules rather than the generic template text.

New

File The part that isn't boilerplate
CODE_OF_CONDUCT.md Contributor Covenant 2.1 plus one clause: publishing a real person's session recording is treated as publishing their private information. The existing rule covered committing recordings; it did not cover an issue comment with a file attached.
SECURITY.md Private reporting route, and an in-scope list of the boundaries that have tests behind them — no-eval, response budgets, synthetic-recordings-only, shapes-not-values in the recorder. bugbait/ being broken on purpose is explicitly out of scope.
.github/ISSUE_TEMPLATE/bug_report.yml Asks which WebMCP mode you were in. The polyfill, the origin trial and the webmcp-tools inspector are three different execution paths; a bug in one often doesn't exist in the others. Also asks you to describe rather than attach a recording you made yourself.
.github/ISSUE_TEMPLATE/tool_proposal.yml Mirrors CONTRIBUTING § Adding a tool. The load-bearing question is "why must the page compute this rather than a server" — if an API over the recording JSON could answer it, it doesn't need to be a tool.
.github/ISSUE_TEMPLATE/config.yml Blank issues off; contact links to the tool contract, the architecture and threat model, the WebMCP spec upstream, and the submission.
.github/PULL_REQUEST_TEMPLATE.md The three non-negotiable rules as checkboxes — a reviewer can't verify any of them from a diff — plus the tsc --noEmit && npm test line.

Fixed while reading these as a newcomer would

  • git clone <this repo> was a literal placeholder in both README and CONTRIBUTING. Now the real URL, with cd Traces on its own line.
  • CONTRIBUTING's setup block said cd bugbait after cd traces, which fails from inside traces/. Now cd ../bugbait, matching the README.
  • The video badge said "under 3 min" — that describes the contest rule, not the video. Now just "Video".
  • Added the Devpost submission link to the README, so the repository and the write-up point at each other.
  • README's Security section now points at SECURITY.md for reporting, not only at the threat model for reading.

Verification

npx tsc --noEmit   clean
npm test           309 passed (309), 25 files
yaml.safe_load     all three issue templates parse
git grep           no personal names in tracked files

No source files touched — docs, templates and two link fixes only.

GitHub's community profile sat at 57%: a code of conduct, a security policy,
issue templates and a PR template were all missing. Adding them as templates
would have been easy and useless, so each one carries the rules this repository
actually has rather than the generic text.

CODE_OF_CONDUCT.md — Contributor Covenant 2.1, plus one project-specific
clause. A session recording is a full reconstruction of a page and everything
that was on it, so publishing a real person's recording is treated as
publishing their private information: a conduct matter, not a technical one.
The existing rule against committing recordings covers this repository; it did
not cover an issue comment with a file attached.

SECURITY.md — private reporting route, and an explicit in-scope list, because
the boundaries here are testable rather than aspirational: nothing from the
model is executed (no-eval.test.ts greps the source and fails the build), every
response has a budget, the recorder captures shapes and not values, and no
committed recording is real. bugbait/ being broken on purpose is stated as out
of scope so nobody files its wrong API responses as vulnerabilities.

Issue templates — bug reports ask which WebMCP mode you were in, because the
polyfill, the origin trial and the webmcp-tools inspector are three different
execution paths and a bug in one often does not exist in the others. The tool
proposal template asks why the page must compute the answer rather than a
server, which is the question that decides most proposals.

PR template — the three non-negotiable rules as checkboxes, since a reviewer
cannot verify any of them by reading a diff, plus the tsc/test line that
catches "it compiles on my machine".

Also, from reading these files as a newcomer would:

- git clone <this repo> was a placeholder in both README and CONTRIBUTING. It
  is now the real URL.
- CONTRIBUTING's setup block said `cd bugbait` after `cd traces`, which fails
  from inside traces/. Fixed to `cd ../bugbait`, matching the README.
- The video badge said "under 3 min", which describes the contest rule rather
  than the video.
- Added the Devpost submission link, so the repository and the write-up point
  at each other.

Verified: tsc --noEmit clean, 309 tests passing across 25 files, all three
issue-template YAML files parse.
@vercel

vercel Bot commented Aug 31, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
traces Ready Ready Preview Aug 31, 2026 11:42pm UTC

@ribdsp
ribdsp merged commit ad77fe9 into main Aug 31, 2026
4 of 5 checks passed
@ribdsp
ribdsp deleted the docs/community-standards branch August 31, 2026 23:43

This branch was successfully deployed

1 active deployment
Preview — 15d1a591 Deployed Aug 31, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant