Skip to content

Commit 7621e12

Browse files
Merge pull request #21 from hyperpolymath/claude/safedom-res-stale-sweep
security: standardize secret scanning on TruffleHog
2 parents 6063780 + 8578e55 commit 7621e12

88 files changed

Lines changed: 1655 additions & 1044 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.

.claude/CLAUDE.md

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

37
The following files in `.machine_readable/` contain structured project metadata:
@@ -19,14 +23,14 @@ The following files in `.machine_readable/` contain structured project metadata:
1923

2024
| Language/Tool | Use Case | Notes |
2125
|---------------|----------|-------|
22-
| **ReScript** | Primary application code | Compiles to JS, type-safe |
26+
| **AffineScript** | Primary application code | Compiles to JS, type-safe |
2327
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
2428
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
2529
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
2630
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
2731
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
2832
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
29-
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
33+
| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs |
3034
| **Nickel** | Configuration language | For complex configs |
3135
| **Guile Scheme** | State/meta files | .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml |
3236
| **Julia** | Batch scripts, data processing | Per RSR |
@@ -37,7 +41,7 @@ The following files in `.machine_readable/` contain structured project metadata:
3741

3842
| Banned | Replacement |
3943
|--------|-------------|
40-
| TypeScript | ReScript |
44+
| TypeScript | AffineScript |
4145
| Node.js | Deno |
4246
| npm | Deno |
4347
| Bun | Deno |
@@ -53,18 +57,18 @@ The following files in `.machine_readable/` contain structured project metadata:
5357

5458
**No exceptions for Kotlin/Swift** - use Rust-first approach:
5559

56-
1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0
60+
1. **Tauri 2.0+** - Web UI (AffineScript) + Rust backend, MIT/Apache-2.0
5761
2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0
5862

5963
Both are FOSS with independent governance (no Big Tech).
6064

6165
### Enforcement Rules
6266

63-
1. **No new TypeScript files** - Convert existing TS to ReScript
64-
2. **No package.json for runtime deps** - Use deno.json imports
67+
1. **No new TypeScript files** - Convert existing TS to AffineScript
68+
2. **No package.json - use deno.json deps** - Use deno.json imports
6569
3. **No node_modules in production** - Deno caches deps automatically
6670
4. **No Go code** - Use Rust instead
67-
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, ReScript for apps
71+
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
6872
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus
6973

7074
### Package Management

.github/CODEOWNERS

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# CODEOWNERS - Define code review assignments for GitHub
3+
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
4+
5+
# Default: sole maintainer for all files
6+
* @hyperpolymath
7+
8+
# Security-sensitive files require explicit ownership
9+
SECURITY.md @hyperpolymath
10+
.github/workflows/ @hyperpolymath
11+
.machine_readable/ @hyperpolymath
12+
contractiles/ @hyperpolymath
13+
14+
# License files
15+
LICENSE @hyperpolymath
16+
LICENSES/ @hyperpolymath
17+
18+
# Configuration
19+
.gitignore @hyperpolymath
20+
.github/ @hyperpolymath
21+
22+
# Documentation
23+
README* @hyperpolymath
24+
CONTRIBUTING* @hyperpolymath
25+
CODE_OF_CONDUCT* @hyperpolymath
26+
GOVERNANCE* @hyperpolymath
27+
MAINTAINERS* @hyperpolymath
28+
CHANGELOG* @hyperpolymath
29+
ROADMAP* @hyperpolymath
30+
31+
# Build and CI
32+
Justfile @hyperpolymath
33+
Makefile @hyperpolymath
34+
*.sh @hyperpolymath

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
15
---
26
name: Bug report
37
about: Create a report to help us improve

.github/ISSUE_TEMPLATE/custom.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
15
---
26
name: Custom issue template
37
about: Describe this issue template's purpose here.

.github/ISSUE_TEMPLATE/documentation.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
15
---
26
name: Documentation
37
about: Report unclear, missing, or incorrect documentation

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
15
---
26
name: Feature request
37
about: Suggest an idea for this project

.github/ISSUE_TEMPLATE/question.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
15
---
26
name: Question
37
about: Ask a question about usage or behaviour

.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/workflows/boj-build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# // Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
12
# SPDX-License-Identifier: MPL-2.0
23
name: BoJ Server Build Trigger
34
on:
@@ -7,6 +8,7 @@ on:
78
jobs:
89
trigger-boj:
910
runs-on: ubuntu-latest
11+
timeout-minutes: 15
1012
steps:
1113
- name: Checkout
1214
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

.github/workflows/casket-pages.yml

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,34 @@
1+
# // Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
12
# SPDX-License-Identifier: MPL-2.0
23
name: GitHub Pages
3-
44
on:
55
push:
66
branches: [main, master]
77
workflow_dispatch:
8-
98
permissions:
109
contents: read
1110
pages: write
1211
id-token: write
13-
1412
concurrency:
1513
group: "pages"
1614
cancel-in-progress: false
17-
1815
jobs:
1916
build:
2017
runs-on: ubuntu-latest
18+
timeout-minutes: 15
2119
steps:
2220
- name: Checkout
23-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
24-
21+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4
2522
- name: Checkout casket-ssg
2623
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
2724
with:
2825
repository: hyperpolymath/casket-ssg
2926
path: .casket-ssg
30-
3127
- name: Setup GHCup
3228
uses: haskell-actions/setup@cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553 # v2
3329
with:
3430
ghc-version: '9.8.2'
3531
cabal-version: '3.10'
36-
3732
- name: Cache Cabal
3833
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
3934
with:
@@ -42,11 +37,9 @@ jobs:
4237
~/.cabal/store
4338
.casket-ssg/dist-newstyle
4439
key: ${{ runner.os }}-casket-${{ hashFiles('.casket-ssg/casket-ssg.cabal') }}
45-
4640
- name: Build casket-ssg
4741
working-directory: .casket-ssg
4842
run: cabal build
49-
5043
- name: Prepare site source
5144
shell: bash
5245
run: |
@@ -89,26 +82,23 @@ jobs:
8982
echo "Project-specific site content can be added later under site/."
9083
} > .site-src/index.md
9184
fi
92-
9385
- name: Build site
9486
run: |
9587
mkdir -p _site
9688
cd .casket-ssg && cabal run casket-ssg -- build ../.site-src ../_site
9789
touch ../_site/.nojekyll
98-
9990
- name: Setup Pages
10091
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
101-
10292
- name: Upload artifact
10393
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
10494
with:
10595
path: '_site'
106-
10796
deploy:
10897
environment:
10998
name: github-pages
11099
url: ${{ steps.deployment.outputs.page_url }}
111100
runs-on: ubuntu-latest
101+
timeout-minutes: 15
112102
needs: build
113103
steps:
114104
- name: Deploy to GitHub Pages

0 commit comments

Comments
 (0)