Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 3 additions & 33 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,34 +1,4 @@
# SPDX-License-Identifier: MPL-2.0
# CODEOWNERS - Define code review assignments for GitHub
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# Default: sole maintainer for all files
* @hyperpolymath

# Security-sensitive files require explicit ownership
SECURITY.md @hyperpolymath
.github/workflows/ @hyperpolymath
.machine_readable/ @hyperpolymath
contractiles/ @hyperpolymath

# License files
LICENSE @hyperpolymath
LICENSES/ @hyperpolymath

# Configuration
.gitignore @hyperpolymath
.github/ @hyperpolymath

# Documentation
README* @hyperpolymath
CONTRIBUTING* @hyperpolymath
CODE_OF_CONDUCT* @hyperpolymath
GOVERNANCE* @hyperpolymath
MAINTAINERS* @hyperpolymath
CHANGELOG* @hyperpolymath
ROADMAP* @hyperpolymath

# Build and CI
Justfile @hyperpolymath
Makefile @hyperpolymath
*.sh @hyperpolymath
# Solo-maintained hyperpolymath repo: no owner lines by policy.
# See hyperpolymath/standards CODEOWNERS-POLICY.adoc (Rule 1).
# Sole-maintainer review is moot; SPDX headers carry attribution.
2 changes: 1 addition & 1 deletion .machine_readable/contractiles/dust/Dustfile.a2ml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ to new repositories.
- description: No references to claude-integrations in generic template files
- run: test -z "$(grep -r 'claude-integrations' machine-readable-design/ 2>/dev/null)"
- severity: warning
- notes: Generic templates should use {{PROJECT_NAME}} or similar placeholders
- notes: Generic templates should use Overview or similar placeholders

### version-sync-checked
- description: Version in canonical-directory-structure matches .machine_readable/contractiles
Expand Down
47 changes: 0 additions & 47 deletions ARCHITECTURE.md

This file was deleted.

119 changes: 119 additions & 0 deletions REQUIRES_INITIALISATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->

# REQUIRES INITIALISATION

**This repository is not finished being set up.** 8 substitution token(s) across 9 file(s) still have no value.

## Why this is not already done

This repo was created from `hyperpolymath/rsr-template-repo`. The mint
(`just repo-init`) fills every token that has a single mechanical answer —
owner, repo, author, dates, licence, branch — and it has done so here.

The tokens below are the ones it *deliberately cannot* answer. They need a
decision or a fact that exists only in your head: what this project is for,
what command builds it, which port the service listens on, whether a PGP key
is held at all. The template's own token vocabulary says as much — you cannot
sensibly answer "required invariants" in a thirty-second bootstrap.

They were left **visibly unfilled on purpose**. The alternatives were both
worse: inventing plausible values would put confident falsehoods into a
security policy and an architecture document, and silently deleting the
sections would hide the fact that a decision is owed. A visible gap is
honest; a fabricated answer is not.

## Do not delete this file until every item below is resolved

This file is the only marker that the work is outstanding. Deleting it early
does not finish the setup, it just conceals it — and the next person or agent
to arrive will reasonably assume the repo is complete.

- **If you are a person:** delete this file yourself once the last item is done.
- **If you are an agent:** resolve what you legitimately can, leave the rest,
and delete this file only when no token below remains anywhere in the tree.
Do not delete it to make a gate go green.

Re-running the estate top-up tool will remove this file automatically once
nothing is outstanding, so the safest way to finish is to fix the tokens and
let the check confirm it.

## What is needed, and where it goes

### `{{CONDUCT_TEAM}}`

Name of the conduct body. If there is no committee, rewrite the sentence rather than substituting a plural noun into 'a {{CONDUCT_TEAM}} member'.

Appears in:

- `firefox-mcp/CODE_OF_CONDUCT.md`
- `mozilla-extension/CODE_OF_CONDUCT.md`

### `{{LICENSE}}`

SPDX identifier for this repo's licence.

Appears in:

- `firefox-mcp/ABI-FFI-README.md`
- `gecko-browser-extension/ABI-FFI-README.md`
- `gitlab-bridge/ABI-FFI-README.md`
- `mozilla-extension/ABI-FFI-README.md`

### `{{PGP_FINGERPRINT}}`

Full fingerprint of the security-contact PGP key. NOTE: no key is published anywhere in this estate — if none is held, delete the PGP block rather than inventing one.

Appears in:

- `firefox-mcp/SECURITY.md`
- `mozilla-extension/SECURITY.md`

### `{{PGP_KEY_URL}}`

Public URL the PGP key can be fetched from. Same caveat as PGP_FINGERPRINT.

Appears in:

- `firefox-mcp/SECURITY.md`
- `mozilla-extension/SECURITY.md`

### `{{RESPONSE_TIME}}`

Initial-response SLA for a security or conduct report. Promise only what a solo maintainer can actually meet.

Appears in:

- `firefox-mcp/CODE_OF_CONDUCT.md`
- `mozilla-extension/CODE_OF_CONDUCT.md`

### `{{SECURITY_EMAIL}}`

Address for private vulnerability reports. Two competing values exist in the estate (`6759885+hyperpolymath@users.noreply.github.com` and `security@hyperpolymath.org`) — pick one deliberately.

Appears in:

- `firefox-mcp/SECURITY.md`
- `mozilla-extension/SECURITY.md`

### `{{VERSION}}`

Version/tag for the container image.

Appears in:

- `gecko-browser-extension/Justfile`

### `{{WEBSITE}}`

Project homepage URL, or delete the field if there is none.

Appears in:

- `firefox-mcp/SECURITY.md`
- `mozilla-extension/SECURITY.md`

---

Generated by the estate top-up pass. Rationale and the governing rulings are
in `hyperpolymath/standards`; the token vocabulary is
`.machine_readable/ai/PLACEHOLDERS.adoc` in `rsr-template-repo`.
4 changes: 2 additions & 2 deletions firefox-mcp/ABI-FFI-README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
{{~ Aditionally delete this line and fill out the template below ~}}

# {{PROJECT}} ABI/FFI Documentation
# CLAUDE_INTEGRATIONS ABI/FFI Documentation

## Overview

Expand Down Expand Up @@ -251,7 +251,7 @@ gcc -o example example.c -l{{project}} -L./zig-out/lib
### From Idris2

```idris
import {{PROJECT}}.ABI.Foreign
import CLAUDE_INTEGRATIONS.ABI.Foreign

main : IO ()
main = do
Expand Down
22 changes: 11 additions & 11 deletions firefox-mcp/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
TEMPLATE INSTRUCTIONS (delete this block before publishing)
============================================================================
Replace all {{PLACEHOLDER}} values:
{{PROJECT_NAME}} - Your project name
{{OWNER}} - GitHub/GitLab username or org
{{REPO}} - Repository name
{{CONDUCT_EMAIL}} - Email for conduct reports
Overview - Your project name

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Bug: PROJECT_NAME resolved to section heading "Overview"

The top-up derived the project name from the README's first H1, but that H1 is the generic section heading # Overview (README.md:11), not an actual project name. As a result the CoC pledge now reads "pledge to make participation in Overview a harassment-free experience" (firefox-mcp/CODE_OF_CONDUCT.md:29 and the mirrored mozilla-extension copy), and the Dustfile note became "Generic templates should use Overview or similar placeholders" — both nonsensical. Fix by sourcing the name from a reliable field (e.g. the repo name claude-integrations or a project-title metadata field) rather than the first H1, or leave {{PROJECT_NAME}} unfilled and list it in REQUIRES_INITIALISATION.md like the other undecidable tokens.

Was this helpful? React with 👍 / 👎

hyperpolymath - GitHub/GitLab username or org
claude-integrations - Repository name
j.d.a.jewell@open.ac.uk - Email for conduct reports
{{CONDUCT_TEAM}} - Name of conduct team/committee
{{RESPONSE_TIME}} - Initial response SLA (e.g., 48 hours)
{{CURRENT_YEAR}} - Current year
2026 - Current year

Review and customise:
- Adjust enforcement ladder for your community size
Expand All @@ -26,7 +26,7 @@ Review and customise:

## Our Pledge

We as members, contributors, and leaders pledge to make participation in {{PROJECT_NAME}} a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, colour, religion, or sexual identity and orientation.
We as members, contributors, and leaders pledge to make participation in Overview a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, colour, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

Expand Down Expand Up @@ -140,7 +140,7 @@ If you experience or witness unacceptable behaviour, or have any other concerns,

| Method | Details | Best For |
|--------|---------|----------|
| **Email** | {{CONDUCT_EMAIL}} | Detailed reports, sensitive matters |
| **Email** | j.d.a.jewell@open.ac.uk | Detailed reports, sensitive matters |
| **Private Message** | Contact any maintainer directly | Quick questions, minor issues |
| **Anonymous Form** | [Link to form if available] | When you need anonymity |

Expand Down Expand Up @@ -235,7 +235,7 @@ For contributors with elevated access (Perimeter 2 or 1):
If you believe an enforcement decision was made in error:

1. **Wait 7 days** after the decision (cooling-off period)
2. **Email** {{CONDUCT_EMAIL}} with subject line "Appeal: [Original Report ID]"
2. **Email** j.d.a.jewell@open.ac.uk with subject line "Appeal: [Original Report ID]"
3. **Explain** why you believe the decision should be reconsidered
4. **Provide** any new information not previously available

Expand Down Expand Up @@ -314,8 +314,8 @@ We thank these communities for their leadership in creating welcoming spaces.

If you have questions about this Code of Conduct:

- Open a [Discussion](https://{{FORGE}}/{{OWNER}}/{{REPO}}/discussions) (for general questions)
- Email {{CONDUCT_EMAIL}} (for private questions)
- Open a [Discussion](https://github.com/hyperpolymath/claude-integrations/discussions) (for general questions)
- Email j.d.a.jewell@open.ac.uk (for private questions)
- Contact any maintainer directly

---
Expand All @@ -328,4 +328,4 @@ We're all here because we care about this project. Let's make it a place where e

---

<sub>Last updated: {{CURRENT_YEAR}} · Based on Contributor Covenant 2.1</sub>
<sub>Last updated: 2026 · Based on Contributor Covenant 2.1</sub>
20 changes: 10 additions & 10 deletions firefox-mcp/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ SPDX-License-Identifier: MPL-2.0
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
# Clone the repository
git clone https://{{FORGE}}/{{OWNER}}/{{REPO}}.git
cd {{REPO}}
git clone https://github.com/hyperpolymath/claude-integrations.git
cd claude-integrations

# Using Nix (recommended for reproducibility)
nix develop

# Or using toolbox/distrobox
toolbox create {{REPO}}-dev
toolbox enter {{REPO}}-dev
toolbox create claude-integrations-dev
toolbox enter claude-integrations-dev
# Install dependencies manually

# Verify setup
Expand All @@ -21,7 +21,7 @@ just test # Run test suite

### Repository Structure
```
{{REPO}}/
claude-integrations/
├── src/ # Source code (Perimeter 1-2)
├── lib/ # Library code (Perimeter 1-2)
├── extensions/ # Extensions (Perimeter 2)
Expand Down Expand Up @@ -57,7 +57,7 @@ just test # Run test suite

**Before reporting**:
1. Search existing issues
2. Check if it's already fixed in `{{MAIN_BRANCH}}`
2. Check if it's already fixed in `main`
3. Determine which perimeter the bug affects

**When reporting**:
Expand Down Expand Up @@ -90,10 +90,10 @@ Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) an

Look for issues labelled:

- [`good first issue`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/good%20first%20issue) — Simple Perimeter 3 tasks
- [`help wanted`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/help%20wanted) — Community help needed
- [`documentation`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/documentation) — Docs improvements
- [`perimeter-3`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/perimeter-3) — Community sandbox scope
- [`good first issue`](https://github.com/hyperpolymath/claude-integrations/labels/good%20first%20issue) — Simple Perimeter 3 tasks
- [`help wanted`](https://github.com/hyperpolymath/claude-integrations/labels/help%20wanted) — Community help needed
- [`documentation`](https://github.com/hyperpolymath/claude-integrations/labels/documentation) — Docs improvements
- [`perimeter-3`](https://github.com/hyperpolymath/claude-integrations/labels/perimeter-3) — Community sandbox scope

---

Expand Down
Loading