Skip to content

Commit d381501

Browse files
committed
Merge origin/main into claude/dreamy-hypatia-O8XHo
The branch's earlier checkpoint commit (2248113, 6a2 STATE refresh dated 2026-06-05) was superseded by work that landed on main since — notably the 2026-06-12 estate-standardization and the 2026-06-14 governance/placeholder sweep. Merging main forward and resolving all .machine_readable/6a2/* conflicts in favour of main's newer, authoritative content so the branch no longer reverts those improvements. Fresh hygiene fixes follow on top. https://claude.ai/code/session_01BwV2DWsjkBiNP3oscimMLV
2 parents 2248113 + da0f1d2 commit d381501

230 files changed

Lines changed: 3786 additions & 1243 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/README.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: MPL-2.0
2+
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
23
= Dev Container Usage
34
:author: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
45

.github/0.1-AI-MANIFEST.a2ml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
# SPDX-License-Identifier: MPL-2.0
12
# AI Manifest - Level 1: .github

.github/CODE_OF_CONDUCT.md

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,12 @@
1-
# Code of Conduct
2-
3-
<!--
4-
============================================================================
5-
TEMPLATE INSTRUCTIONS (delete this block before publishing)
6-
============================================================================
7-
Replace all {{PLACEHOLDER}} values:
8-
{{PROJECT_NAME}} - Your project name
9-
{{OWNER}} - GitHub/GitLab username or org
10-
{{REPO}} - Repository name
11-
{{CONDUCT_EMAIL}} - Email for conduct reports
12-
{{CONDUCT_TEAM}} - Name of conduct team/committee
13-
{{RESPONSE_TIME}} - Initial response SLA (e.g., 48 hours)
14-
{{CURRENT_YEAR}} - Current year
15-
16-
Review and customise:
17-
- Adjust enforcement ladder for your community size
18-
- Add/remove examples based on your context
19-
- Ensure contact methods work for your team
20-
============================================================================
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
214
-->
5+
# Code of Conduct
226

237
## Our Pledge
248

25-
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.
9+
We as members, contributors, and leaders pledge to make participation in nextgen-typing 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.
2610

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

@@ -136,7 +120,7 @@ If you experience or witness unacceptable behaviour, or have any other concerns,
136120

137121
| Method | Details | Best For |
138122
|--------|---------|----------|
139-
| **Email** | {{CONDUCT_EMAIL}} | Detailed reports, sensitive matters |
123+
| **Email** | 6759885+hyperpolymath@users.noreply.github.com | Detailed reports, sensitive matters |
140124
| **Private Message** | Contact any maintainer directly | Quick questions, minor issues |
141125
| **Anonymous Form** | [Link to form if available] | When you need anonymity |
142126

@@ -152,8 +136,8 @@ If you experience or witness unacceptable behaviour, or have any other concerns,
152136

153137
**What Happens Next**
154138

155-
1. You will receive acknowledgment within **{{RESPONSE_TIME}}**
156-
2. The {{CONDUCT_TEAM}} will review the report
139+
1. You will receive acknowledgment within **5 working days**
140+
2. The conduct team will review the report
157141
3. We may ask for additional information
158142
4. We will determine appropriate action
159143
5. We will inform you of the outcome (respecting others' privacy)
@@ -169,7 +153,7 @@ All reports will be handled with discretion:
169153

170154
### Conflicts of Interest
171155

172-
If a {{CONDUCT_TEAM}} member is involved in an incident:
156+
If a conduct team member is involved in an incident:
173157

174158
- They will recuse themselves from the process
175159
- Another maintainer or external party will handle the report
@@ -179,7 +163,7 @@ If a {{CONDUCT_TEAM}} member is involved in an incident:
179163

180164
## Enforcement Guidelines
181165

182-
The {{CONDUCT_TEAM}} will follow these guidelines in determining consequences:
166+
The conduct team will follow these guidelines in determining consequences:
183167

184168
### 1. Correction
185169

@@ -231,13 +215,13 @@ For contributors with elevated access (Perimeter 2 or 1):
231215
If you believe an enforcement decision was made in error:
232216

233217
1. **Wait 7 days** after the decision (cooling-off period)
234-
2. **Email** {{CONDUCT_EMAIL}} with subject line "Appeal: [Original Report ID]"
218+
2. **Email** 6759885+hyperpolymath@users.noreply.github.com with subject line "Appeal: [Original Report ID]"
235219
3. **Explain** why you believe the decision should be reconsidered
236220
4. **Provide** any new information not previously available
237221

238222
**Appeals Process**
239223

240-
- Appeals are reviewed by a different {{CONDUCT_TEAM}} member than the original
224+
- Appeals are reviewed by a different conduct team member than the original
241225
- You will receive a response within 14 days
242226
- The appeals decision is final
243227
- You may only appeal once per incident
@@ -310,8 +294,8 @@ We thank these communities for their leadership in creating welcoming spaces.
310294

311295
If you have questions about this Code of Conduct:
312296

313-
- Open a [Discussion](https://{{FORGE}}/{{OWNER}}/{{REPO}}/discussions) (for general questions)
314-
- Email {{CONDUCT_EMAIL}} (for private questions)
297+
- Open a [Discussion](https://github.com/hyperpolymath/nextgen-typing/discussions) (for general questions)
298+
- Email 6759885+hyperpolymath@users.noreply.github.com (for private questions)
315299
- Contact any maintainer directly
316300

317301
---
@@ -324,4 +308,4 @@ We're all here because we care about this project. Let's make it a place where e
324308

325309
---
326310

327-
<sub>Last updated: {{CURRENT_YEAR}} · Based on Contributor Covenant 2.1</sub>
311+
<sub>Last updated: 2026 · Based on Contributor Covenant 2.1</sub>

.github/CONTRIBUTING.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
15
# Clone the repository
2-
git clone https://{{FORGE}}/{{OWNER}}/{{REPO}}.git
3-
cd {{REPO}}
6+
git clone https://github.com/hyperpolymath/nextgen-typing.git
7+
cd nextgen-typing
48

59
# Using Nix (recommended for reproducibility)
610
nix develop
711

812
# Or using toolbox/distrobox
9-
toolbox create {{REPO}}-dev
10-
toolbox enter {{REPO}}-dev
13+
toolbox create nextgen-typing-dev
14+
toolbox enter nextgen-typing-dev
1115
# Install dependencies manually
1216

1317
# Verify setup
@@ -17,7 +21,7 @@ just test # Run test suite
1721
1822
### Repository Structure
1923
```
20-
{{REPO}}/
24+
nextgen-typing/
2125
├── src/ # Source code (Perimeter 1-2)
2226
├── lib/ # Library code (Perimeter 1-2)
2327
├── extensions/ # Extensions (Perimeter 2)
@@ -58,7 +62,7 @@ just test # Run test suite
5862
5963
**Before reporting**:
6064
1. Search existing issues
61-
2. Check if it's already fixed in `{{MAIN_BRANCH}}`
65+
2. Check if it's already fixed in `main`
6266
3. Determine which perimeter the bug affects
6367
6468
**When reporting**:
@@ -91,10 +95,10 @@ Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) an
9195
9296
Look for issues labelled:
9397
94-
- [`good first issue`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/good%20first%20issue) — Simple Perimeter 3 tasks
95-
- [`help wanted`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/help%20wanted) — Community help needed
96-
- [`documentation`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/documentation) — Docs improvements
97-
- [`perimeter-3`](https://{{FORGE}}/{{OWNER}}/{{REPO}}/labels/perimeter-3) — Community sandbox scope
98+
- [`good first issue`](https://github.com/hyperpolymath/nextgen-typing/labels/good%20first%20issue) — Simple Perimeter 3 tasks
99+
- [`help wanted`](https://github.com/hyperpolymath/nextgen-typing/labels/help%20wanted) — Community help needed
100+
- [`documentation`](https://github.com/hyperpolymath/nextgen-typing/labels/documentation) — Docs improvements
101+
- [`perimeter-3`](https://github.com/hyperpolymath/nextgen-typing/labels/perimeter-3) — Community sandbox scope
98102
99103
---
100104

.github/DIRECTORY.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
// SPDX-License-Identifier: MPL-2.0
2+
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
13
= .github Pillar

.github/GOVERNANCE.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
<!-- SPDX-License-Identifier: MPL-2.0 -->
2-
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
35
# Project Governance
46

57
This document describes the governance model for **{{PROJECT_NAME}}**.

.github/SECURITY.md

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,9 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
15
# Security Policy
26

3-
<!--
4-
============================================================================
5-
TEMPLATE INSTRUCTIONS (delete this block before publishing)
6-
============================================================================
7-
Replace all {{PLACEHOLDER}} values with your information:
8-
{{PROJECT_NAME}} - Your project name
9-
{{OWNER}} - GitHub username or org (e.g., hyperpolymath)
10-
{{REPO}} - Repository name
11-
{{SECURITY_EMAIL}} - Security contact email
12-
{{PGP_FINGERPRINT}} - Your PGP key fingerprint (40 chars, no spaces)
13-
{{PGP_KEY_URL}} - URL to your public PGP key
14-
{{WEBSITE}} - Your website/domain
15-
{{CURRENT_YEAR}} - Current year for copyright
16-
17-
Optional: Remove sections that don't apply (e.g., PGP if you don't use it)
18-
============================================================================
19-
-->
207

218
We take security seriously. We appreciate your efforts to responsibly disclose vulnerabilities and will make every effort to acknowledge your contributions.
229

@@ -40,7 +27,7 @@ We take security seriously. We appreciate your efforts to responsibly disclose v
4027

4128
The preferred method for reporting security vulnerabilities is through GitHub's Security Advisory feature:
4229

43-
1. Navigate to [Report a Vulnerability](https://github.com/{{OWNER}}/{{REPO}}/security/advisories/new)
30+
1. Navigate to [Report a Vulnerability](https://github.com/hyperpolymath/nextgen-typing/security/advisories/new)
4431
2. Click **"Report a vulnerability"**
4532
3. Complete the form with as much detail as possible
4633
4. Submit — we'll receive a private notification
@@ -58,19 +45,19 @@ If you cannot use GitHub Security Advisories, you may email us directly:
5845

5946
| | |
6047
|---|---|
61-
| **Email** | {{SECURITY_EMAIL}} |
62-
| **PGP Key** | [Download Public Key]({{PGP_KEY_URL}}) |
63-
| **Fingerprint** | `{{PGP_FINGERPRINT}}` |
48+
| **Email** | j.d.a.jewell@open.ac.uk |
49+
| **PGP Key** | [Download Public Key](https://github.com/hyperpolymath/nextgen-typing/security/advisories) |
50+
| **Fingerprint** | `not published — use GitHub Security Advisories for encrypted reports` |
6451

6552
```bash
6653
# Import our PGP key
67-
curl -sSL {{PGP_KEY_URL}} | gpg --import
54+
curl -sSL https://github.com/hyperpolymath/nextgen-typing/security/advisories | gpg --import
6855

6956
# Verify fingerprint
70-
gpg --fingerprint {{SECURITY_EMAIL}}
57+
gpg --fingerprint j.d.a.jewell@open.ac.uk
7158

7259
# Encrypt your report
73-
gpg --armor --encrypt --recipient {{SECURITY_EMAIL}} report.txt
60+
gpg --armor --encrypt --recipient j.d.a.jewell@open.ac.uk report.txt
7461
```
7562

7663
> **⚠️ Important:** Do not report security vulnerabilities through public GitHub issues, pull requests, discussions, or social media.
@@ -203,7 +190,7 @@ If we cannot reach agreement on disclosure timing, we default to 90 days from yo
203190

204191
The following are within scope for security research:
205192

206-
- This repository (`{{OWNER}}/{{REPO}}`) and all its code
193+
- This repository (`hyperpolymath/nextgen-typing`) and all its code
207194
- Official releases and packages published from this repository
208195
- Documentation that could lead to security issues
209196
- Build and deployment configurations in this repository
@@ -322,7 +309,7 @@ Recognition includes:
322309
To stay informed about security updates:
323310

324311
- **Watch this repository**: Click "Watch" → "Custom" → Select "Security alerts"
325-
- **GitHub Security Advisories**: Published at [Security Advisories](https://github.com/{{OWNER}}/{{REPO}}/security/advisories)
312+
- **GitHub Security Advisories**: Published at [Security Advisories](https://github.com/hyperpolymath/nextgen-typing/security/advisories)
326313
- **Release notes**: Security fixes noted in [CHANGELOG](CHANGELOG.md)
327314

328315
### Update Policy
@@ -348,7 +335,7 @@ To stay informed about security updates:
348335

349336
## Security Best Practices
350337

351-
When using {{PROJECT_NAME}}, we recommend:
338+
When using nextgen-typing, we recommend:
352339

353340
### General
354341

@@ -370,8 +357,8 @@ When using {{PROJECT_NAME}}, we recommend:
370357

371358
## Additional Resources
372359

373-
- [Our PGP Public Key]({{PGP_KEY_URL}})
374-
- [Security Advisories](https://github.com/{{OWNER}}/{{REPO}}/security/advisories)
360+
- [Our PGP Public Key](https://github.com/hyperpolymath/nextgen-typing/security/advisories)
361+
- [Security Advisories](https://github.com/hyperpolymath/nextgen-typing/security/advisories)
375362
- [Changelog](CHANGELOG.md)
376363
- [Contributing Guidelines](CONTRIBUTING.md)
377364
- [CVE Database](https://cve.mitre.org/)
@@ -383,8 +370,8 @@ When using {{PROJECT_NAME}}, we recommend:
383370

384371
| Purpose | Contact |
385372
|---------|---------|
386-
| **Security issues** | [Report via GitHub](https://github.com/{{OWNER}}/{{REPO}}/security/advisories/new) or {{SECURITY_EMAIL}} |
387-
| **General questions** | [GitHub Discussions](https://github.com/{{OWNER}}/{{REPO}}/discussions) |
373+
| **Security issues** | [Report via GitHub](https://github.com/hyperpolymath/nextgen-typing/security/advisories/new) or j.d.a.jewell@open.ac.uk |
374+
| **General questions** | [GitHub Discussions](https://github.com/hyperpolymath/nextgen-typing/discussions) |
388375
| **Other enquiries** | See [README](README.md) for contact information |
389376

390377
---
@@ -399,8 +386,8 @@ This security policy may be updated from time to time. Significant changes will
399386

400387
---
401388

402-
*Thank you for helping keep {{PROJECT_NAME}} and its users safe.* 🛡️
389+
*Thank you for helping keep nextgen-typing and its users safe.* 🛡️
403390

404391
---
405392

406-
<sub>Last updated: {{CURRENT_YEAR}} · Policy version: 1.0.0</sub>
393+
<sub>Last updated: 2026 · Policy version: 1.0.0</sub>

.github/copilot-instructions.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
<!-- SPDX-License-Identifier: MPL-2.0 -->
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
25
<!-- Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}> -->
36
<!-- Authoritative source: docs/AI-CONVENTIONS.md -->
47

.github/copilot/coding-agent.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
mcp_servers:
2+
boj-server:
3+
command: npx
4+
args: ["-y", "@hyperpolymath/boj-server@latest"]
5+
env:
6+
BOJ_URL: http://localhost:7700

.github/pull_request_template.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
<!-- SPDX-License-Identifier: MPL-2.0 -->
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
25
## Summary
36

47
<!-- Briefly describe what this PR does and why. Link to related issues with "Closes #N". -->

0 commit comments

Comments
 (0)