Skip to content
Merged
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
4 changes: 2 additions & 2 deletions .clinerules
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
# Authoritative source: docs/practice/AI-CONVENTIONS.adoc

# STARTUP: Read the repo deed (*_chora.deed at the repo root) first, then docs/status/ROADMAP.adoc.
Expand All @@ -8,7 +8,7 @@
# All original code: MPL-2.0.
# Never AGPL-3.0. MPL-2.0 only as platform-required fallback.
# SPDX header required on every source file.
# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
# Copyright: Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>

# STATE FILES
# No .a2ml file may exist anywhere: the format is retired. State, metadata,
Expand Down
4 changes: 2 additions & 2 deletions .cursorrules
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
# Authoritative source: docs/practice/AI-CONVENTIONS.adoc

# Read the repo deed (*_chora.deed in the repo root) FIRST: canonical file locations
# live in its (ply ...) canonical-locations clauses.

# LICENSE
# All original code: MPL-2.0 (SPDX header required on every file).
# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
# Copyright: Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>

# STATE FILES
# No .a2ml file may exist anywhere: the format is retired. State, metadata,
Expand Down
8 changes: 4 additions & 4 deletions .devcontainer/Containerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# Dev Container image for {{PROJECT_NAME}}
# Dev Container image for Resource Algebra
# Base: Chainguard Wolfi (minimal, supply-chain-secure)
# Build: podman build -t {{PROJECT_NAME}}-dev -f .devcontainer/Containerfile .
# Build: podman build -t Resource Algebra-dev -f .devcontainer/Containerfile .
# `:latest` suits a dev container (rebuilt daily); pin by digest
# (...@sha256:<digest>) if you need a reproducible dev environment.
#
Expand Down Expand Up @@ -44,7 +44,7 @@ RUN set -eu; \
# devcontainer.json maps your host user onto it with --userns=keep-id.

# Set workspace directory
WORKDIR /workspaces/{{PROJECT_NAME}}
WORKDIR /workspaces/Resource Algebra

# Default shell
ENV SHELL=/bin/bash
Expand Down
8 changes: 4 additions & 4 deletions .devcontainer/README.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: CC-BY-SA-4.0
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
= Dev Container Usage
:author: {{AUTHOR}} <{{AUTHOR_EMAIL}}>
:author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>

== Overview

Expand Down Expand Up @@ -35,7 +35,7 @@ There are two configurations for the same image:
. Install the *Dev Containers* extension (`ms-vscode-remote.remote-containers`).
. Set `dev.containers.dockerPath` to `podman` in VS Code settings.
. Open the repo folder, then choose **Reopen in Container** and pick
**{{PROJECT_NAME}} (Podman)**.
**Resource Algebra (Podman)**.

== devcontainer CLI (Podman)

Expand All @@ -47,7 +47,7 @@ bunx @devcontainers/cli up --workspace-folder . --docker-path podman
== GitHub Codespaces

. From the repository on GitHub, click **Code > Codespaces > ... > New with options**.
. Choose the **{{PROJECT_NAME}} (Docker / Codespaces)** configuration.
. Choose the **Resource Algebra (Docker / Codespaces)** configuration.

== Gitpod

Expand All @@ -56,6 +56,6 @@ bunx @devcontainers/cli up --workspace-folder . --docker-path podman

== Customization

Replace the `{{PROJECT_NAME}}` placeholders in both `devcontainer.json` files and
Replace the `Resource Algebra` placeholders in both `devcontainer.json` files and
the `Containerfile` with your actual project name. `just deps` runs automatically
after the container is created. Run it again to check the environment.
6 changes: 3 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
//
// Dev Container configuration for {{PROJECT_NAME}} — rootless Podman (default).
// Dev Container configuration for Resource Algebra — rootless Podman (default).
// Works with: VS Code Dev Containers with `dev.containers.dockerPath` = podman,
// and the devcontainer CLI (`devcontainer up --docker-path podman`).
// Docker, GitHub Codespaces and Gitpod: use .devcontainer/docker/devcontainer.json
// instead — Docker rejects the Podman-only `--userns=keep-id` below.
{
"name": "{{PROJECT_NAME}} (Podman)",
"name": "Resource Algebra (Podman)",

"build": {
"dockerfile": "Containerfile",
Expand Down
6 changes: 3 additions & 3 deletions .devcontainer/docker/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
//
// Dev Container configuration for {{PROJECT_NAME}} — Docker engines.
// Dev Container configuration for Resource Algebra — Docker engines.
// Works with: GitHub Codespaces, Gitpod, and VS Code Dev Containers on Docker.
// The estate default is rootless Podman: .devcontainer/devcontainer.json.
// Same image (../Containerfile); only the user-namespace settings differ.
{
"name": "{{PROJECT_NAME}} (Docker / Codespaces)",
"name": "Resource Algebra (Docker / Codespaces)",

"build": {
"dockerfile": "../Containerfile",
Expand Down
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: MPL-2.0
# Hyperpolymath estate canonical .editorconfig (standards#343 phase 1)
# Canon lives in rsr-template-repo; do not add a per-repo name to this header.
# Canon lives in resource-algebra; do not add a per-repo name to this header.
# https://editorconfig.org

root = true
Expand Down
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ if has guix && [ -f build/manifest.scm ]; then
fi

# Project environment variables
export PROJECT_NAME="{{PROJECT_NAME}}"
export PROJECT_NAME="Resource Algebra"
export RSR_TIER="infrastructure"
# Add non-secret project env vars above (e.g. DATABASE_URL, service endpoints).
# Real secrets belong in .env (gitignored) — never commit them to .envrc.
Expand Down
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: MPL-2.0
# Hyperpolymath estate canonical .gitattributes (standards#343 phase 1)
# Canon lives in rsr-template-repo; do not add a per-repo name to this header.
# Canon lives in resource-algebra; do not add a per-repo name to this header.
#
# Only diff drivers that git actually ships are used here. MEASURED on git
# 2.47.3: diff=go and diff=zig are NOT drivers (git silently falls back to the
Expand Down
42 changes: 11 additions & 31 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,9 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
# Code of Conduct

<!--
============================================================================
TEMPLATE INSTRUCTIONS (delete this block before publishing)
============================================================================
Replace all {{PLACEHOLDER}} values:
rsr-template-repo - Your project name
hyperpolymath - GitHub/GitLab username or org
rsr-template-repo - Repository name
{{CONDUCT_EMAIL}} - Email for conduct reports
{{CONDUCT_TEAM}} - Name of conduct team/committee
{{RESPONSE_TIME}} - Initial response SLA (e.g., 48 hours)
{{CURRENT_YEAR}} - Current year

Review and customise:
- Adjust enforcement ladder for your community size
- Add/remove examples based on your context
- Ensure contact methods work for your team
============================================================================
-->

## Our Pledge

We as members, contributors, and leaders pledge to make participation in rsr-template-repo 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 resource-algebra 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 +120,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 |

**What to Include**
Expand All @@ -155,8 +135,8 @@ If you experience or witness unacceptable behaviour, or have any other concerns,

**What Happens Next**

1. You will receive acknowledgment within **{{RESPONSE_TIME}}**
2. The {{CONDUCT_TEAM}} will review the report
1. You will receive acknowledgment within **48 hours**
2. The Code of Conduct Committee will review the report
3. We may ask for additional information
4. We will determine appropriate action
5. We will inform you of the outcome (respecting others' privacy)
Expand All @@ -172,7 +152,7 @@ All reports will be handled with discretion:

### Conflicts of Interest

If the {{CONDUCT_TEAM}} are themselves involved in an incident:
If the Code of Conduct Committee are themselves involved in an incident:

- They will recuse themselves from the process
- Another maintainer or external party will handle the report
Expand All @@ -182,7 +162,7 @@ If the {{CONDUCT_TEAM}} are themselves involved in an incident:

## Enforcement Guidelines

The {{CONDUCT_TEAM}} will follow these guidelines in determining consequences:
The Code of Conduct Committee will follow these guidelines in determining consequences:

### 1. Correction

Expand Down Expand Up @@ -242,13 +222,13 @@ 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

**Appeals Process**

- Appeals are reviewed by the {{CONDUCT_TEAM}}, excluding anyone involved in the original
- Appeals are reviewed by the Code of Conduct Committee, excluding anyone involved in the original
- You will receive a response within 14 days
- The appeals decision is final
- You may only appeal once per incident
Expand Down Expand Up @@ -321,8 +301,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://github.com/hyperpolymath/rsr-template-repo/discussions) (for general questions)
- Email {{CONDUCT_EMAIL}} (for private questions)
- Open a [Discussion](https://github.com/hyperpolymath/resource-algebra/discussions) (for general questions)
- Email j.d.a.jewell@open.ac.uk (for private questions)
- Contact any maintainer directly

---
Expand All @@ -335,4 +315,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>
18 changes: 9 additions & 9 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
```
# Clone the repository
git clone https://github.com/hyperpolymath/rsr-template-repo.git
cd rsr-template-repo
git clone https://github.com/hyperpolymath/resource-algebra.git
cd resource-algebra

# Using Guix (recommended for reproducibility)
guix shell -D -f build/guix.scm

# Or using toolbox/distrobox
toolbox create rsr-template-repo-dev
toolbox enter rsr-template-repo-dev
toolbox create resource-algebra-dev
toolbox enter resource-algebra-dev
# Install dependencies manually

# Verify setup
Expand All @@ -39,7 +39,7 @@ which is precisely why the map is now generated rather than typed.

**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 @@ -72,10 +72,10 @@ Use the [feature request template](.github/ISSUE_TEMPLATE/feature_request.md) an

Look for issues labelled:

- [`good first issue`](https://github.com/hyperpolymath/rsr-template-repo/labels/good%20first%20issue) — Simple Perimeter 3 tasks
- [`help wanted`](https://github.com/hyperpolymath/rsr-template-repo/labels/help%20wanted) — Community help needed
- [`documentation`](https://github.com/hyperpolymath/rsr-template-repo/labels/documentation) — Docs improvements
- [`perimeter-3`](https://github.com/hyperpolymath/rsr-template-repo/labels/perimeter-3) — Community sandbox scope
- [`good first issue`](https://github.com/hyperpolymath/resource-algebra/labels/good%20first%20issue) — Simple Perimeter 3 tasks
- [`help wanted`](https://github.com/hyperpolymath/resource-algebra/labels/help%20wanted) — Community help needed
- [`documentation`](https://github.com/hyperpolymath/resource-algebra/labels/documentation) — Docs improvements
- [`perimeter-3`](https://github.com/hyperpolymath/resource-algebra/labels/perimeter-3) — Community sandbox scope

---

Expand Down
6 changes: 3 additions & 3 deletions .github/GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
# Project Governance

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

---

## Project Governance Model

{{PROJECT_NAME}} follows a **Benevolent Dictator For Life (BDFL)** governance model.
Resource Algebra follows a **Benevolent Dictator For Life (BDFL)** governance model.
This model is well-suited for solo maintainers and small project teams where rapid,
consistent decision-making is more valuable than formal consensus processes.

Expand Down Expand Up @@ -157,4 +157,4 @@ with the community before adoption, even though the BDFL retains final authority

---

<sub>Copyright (c) {{CURRENT_YEAR}} {{OWNER}}. Licensed under MPL-2.0.</sub>
<sub>Copyright (c) 2026 hyperpolymath. Licensed under MPL-2.0.</sub>
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
blank_issues_enabled: true
contact_links:
- name: Security vulnerability
url: https://{{FORGE}}/{{OWNER}}/{{REPO}}/security/advisories/new
url: https://github.com/hyperpolymath/resource-algebra/security/advisories/new
about: Report privately via a security advisory. Do NOT open a public issue.
- name: Question or support request
url: https://{{FORGE}}/{{OWNER}}/{{REPO}}/discussions
url: https://github.com/hyperpolymath/resource-algebra/discussions
about: Ask a question. See .github/SUPPORT.md for what to expect.
Loading
Loading