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
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 cicd-squabbler — an intelligent, detachable CI/CD fighter
# Base: Chainguard Wolfi (minimal, supply-chain-secure)
# Build: podman build -t {{PROJECT_NAME}}-dev -f .devcontainer/Containerfile .
# Build: podman build -t cicd-squabbler — an intelligent, detachable CI/CD fighter-dev -f .devcontainer/Containerfile .
# `:latest` suits a dev container (rebuilt daily); pin by digest
# (...@sha256:<digest>) if you need a reproducible dev environment.

Expand All @@ -26,7 +26,7 @@ RUN groupadd -g 1000 nonroot || true \
&& useradd -m -u 1000 -g 1000 -s /bin/bash nonroot || true

# Set workspace directory
WORKDIR /workspaces/{{PROJECT_NAME}}
WORKDIR /workspaces/cicd-squabbler — an intelligent, detachable CI/CD fighter

# Default shell
ENV SHELL=/bin/bash
Expand Down
4 changes: 2 additions & 2 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 All @@ -25,4 +25,4 @@ This dev container uses `cgr.dev/chainguard/wolfi-base` with git, curl, bash, an

== Customization

Replace `{{PROJECT_NAME}}` placeholders in both `devcontainer.json` and `Containerfile` with your actual project name. Run `just deps` to verify the environment after first launch.
Replace `cicd-squabbler — an intelligent, detachable CI/CD fighter` placeholders in both `devcontainer.json` and `Containerfile` with your actual project name. Run `just deps` to verify the environment after first launch.
6 changes: 3 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// 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}}
// Dev Container configuration for cicd-squabbler — an intelligent, detachable CI/CD fighter
// Works with: VS Code Dev Containers, GitHub Codespaces, Gitpod
// Container runtime: Podman (recommended) or any OCI-compliant runtime
{
"name": "{{PROJECT_NAME}}",
"name": "cicd-squabbler — an intelligent, detachable CI/CD fighter",

"build": {
"dockerfile": "Containerfile",
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 guix.scm ]; then
fi

# Project environment variables
export PROJECT_NAME="{{PROJECT_NAME}}"
export PROJECT_NAME="cicd-squabbler — an intelligent, detachable CI/CD fighter"
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 .github/.mailmap
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{{AUTHOR}} <{{AUTHOR_EMAIL}}> <{{AUTHOR_EMAIL_ALT}}>
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> <{{AUTHOR_EMAIL_ALT}}>
16 changes: 3 additions & 13 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,14 +1,4 @@
# SPDX-License-Identifier: MPL-2.0
# CODEOWNERS - Define code review assignments
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
#
# Replace hyperpolymath with your GitHub username or team

# Default owners for everything
* @hyperpolymath

# Security-sensitive files require explicit review
SECURITY.md @hyperpolymath
.github/workflows/ @hyperpolymath
Trustfile.a2ml @hyperpolymath
.machine_readable/ @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.
22 changes: 11 additions & 11 deletions .github/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
cicd-squabbler — an intelligent, detachable CI/CD fighter - Your project name
hyperpolymath - GitHub/GitLab username or org
cicd-squabbler - 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 cicd-squabbler — an intelligent, detachable CI/CD fighter 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/cicd-squabbler/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 .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ SPDX-License-Identifier: CC-BY-SA-4.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/cicd-squabbler.git
cd cicd-squabbler

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

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

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

### Repository Structure
```
{{REPO}}/
cicd-squabbler/
├── src/ # Source code (Perimeter 1-2)
├── lib/ # Library code (Perimeter 1-2)
├── extensions/ # Extensions (Perimeter 2)
Expand Down Expand Up @@ -61,7 +61,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 @@ -94,10 +94,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/cicd-squabbler/labels/good%20first%20issue) — Simple Perimeter 3 tasks
- [`help wanted`](https://github.com/hyperpolymath/cicd-squabbler/labels/help%20wanted) — Community help needed
- [`documentation`](https://github.com/hyperpolymath/cicd-squabbler/labels/documentation) — Docs improvements
- [`perimeter-3`](https://github.com/hyperpolymath/cicd-squabbler/labels/perimeter-3) — Community sandbox scope

---

Expand Down
8 changes: 4 additions & 4 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: MPL-2.0
# Funding platforms for {{OWNER}} projects
# Funding platforms for hyperpolymath projects
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository

github: {{OWNER}}
ko_fi: {{OWNER}}
liberapay: {{OWNER}}
github: hyperpolymath
ko_fi: hyperpolymath
liberapay: hyperpolymath
2 changes: 1 addition & 1 deletion .github/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Format: Name <email> (role)
# Replace placeholders with actual maintainer information.

{{AUTHOR}} <{{AUTHOR_EMAIL}}> (Lead Maintainer)
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> (Lead Maintainer)

# Additional maintainers:
# Name <email> (role)
4 changes: 2 additions & 2 deletions .github/SUPPORT
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

For questions, help, and community discussion:

- GitHub Discussions: https://github.com/{{OWNER}}/{{REPO}}/discussions
- GitHub Issues: https://github.com/{{OWNER}}/{{REPO}}/issues
- GitHub Discussions: https://github.com/hyperpolymath/cicd-squabbler/discussions
- GitHub Issues: https://github.com/hyperpolymath/cicd-squabbler/issues
- Documentation: See README.adoc in the root directory.
4 changes: 2 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
<!-- 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/AI-CONVENTIONS.md -->

# Copilot Instructions
Expand All @@ -16,7 +16,7 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>

- SPDX: `MPL-2.0` on all new files.
- Never use AGPL-3.0.
- Copyright: `{{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>`
- Copyright: `Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>`

## Code Style

Expand Down
6 changes: 3 additions & 3 deletions .github/settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
# applied by the probot/settings app when changes are pushed to the default
# branch. Install the app at: https://github.com/apps/settings
#
# Template file — replace {{REPO}} and {{DESCRIPTION}} with actual values.
# Template file — replace cicd-squabbler and {{DESCRIPTION}} with actual values.

# ─── Repository Settings ───────────────────────────────────────────────────────

repository:
name: "{{REPO}}"
name: "cicd-squabbler"
description: "{{DESCRIPTION}}"
homepage: "https://github.com/hyperpolymath/{{REPO}}"
homepage: "https://github.com/hyperpolymath/cicd-squabbler"
private: false
has_issues: true
has_projects: true
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/ai/.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/AI-CONVENTIONS.md

# STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/descriptiles/STATE.a2ml.
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 (.machine_readable/ ONLY)
# Never create in repo root: STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml,
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/ai/.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/AI-CONVENTIONS.md

# Read 0-AI-MANIFEST.a2ml in the repo root FIRST for canonical file locations.

# LICENSE
# All original code: MPL-2.0 (SPDX header required on every file).
# Never use AGPL-3.0. Fallback to MPL-2.0 only when platform requires it.
# Copyright: {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
# Copyright: Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>

# STATE FILES
# .a2ml metadata files go in .machine_readable/ ONLY.
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/ai/.windsurfrules
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/AI-CONVENTIONS.md

# STARTUP: Read 0-AI-MANIFEST.a2ml first, then .machine_readable/descriptiles/STATE.a2ml.
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 (.machine_readable/ ONLY)
# Never create in repo root: STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml,
Expand Down
4 changes: 2 additions & 2 deletions .machine_readable/coaptation/witness-map.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@
},

# --- ADJUST: accessibility/hygiene posture (advisory; never gates) ---
# The ANCHOR identity block still carries {{PROJECT_NAME}}; for the template
# The ANCHOR identity block still carries cicd-squabbler — an intelligent, detachable CI/CD fighter; for the template
# itself that is expected, but it is honestly a posture dip worth surfacing.
"adjust.placeholder-drift" = {
kind = "descriptile",
witnesses = [ { fact = "anchor.project", op = 'not_contains, arg = "{{" } ],
note = "ANCHOR.identity.project is un-substituted ({{PROJECT_NAME}}) ⇒ posture dip",
note = "ANCHOR.identity.project is un-substituted (cicd-squabbler — an intelligent, detachable CI/CD fighter) ⇒ posture dip",
},

# --- BUST: recognised break. For bust, a HOLDING witness means ALARM (active
Expand Down
Loading
Loading