Skip to content

Commit 3b18c06

Browse files
security: standardize secret scanning on TruffleHog (#101)
Standardizing on TruffleHog.
2 parents b3b31a2 + c7b1ea2 commit 3b18c06

363 files changed

Lines changed: 1978 additions & 546 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: 12 additions & 8 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/6a2/` contain structured project
@@ -24,14 +28,14 @@ is the top-level `ANCHOR.scope-arrest.2026-01-01.Jewell.scm`.
2428

2529
| Language/Tool | Use Case | Notes |
2630
|---------------|----------|-------|
27-
| **ReScript** | Primary application code | Compiles to JS, type-safe |
31+
| **AffineScript** | Primary application code | Compiles to JS, type-safe |
2832
| **Deno** | Runtime & package management | Replaces Node/npm/bun |
2933
| **Rust** | Performance-critical, systems, WASM | Preferred for CLI tools |
3034
| **Tauri 2.0+** | Mobile apps (iOS/Android) | Rust backend + web UI |
3135
| **Dioxus** | Mobile apps (native UI) | Pure Rust, React-like |
3236
| **Gleam** | Backend services | Runs on BEAM or compiles to JS |
3337
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
34-
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
38+
| **JavaScript** | Only where AffineScript cannot | MCP protocol glue, Deno APIs |
3539
| **Nickel** | Configuration language | For complex configs |
3640
| **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm |
3741
| **Julia** | Batch scripts, data processing | Per RSR |
@@ -42,13 +46,13 @@ is the top-level `ANCHOR.scope-arrest.2026-01-01.Jewell.scm`.
4246

4347
| Banned | Replacement |
4448
|--------|-------------|
45-
| TypeScript | ReScript |
49+
| TypeScript | AffineScript |
4650
| Node.js | Deno |
4751
| npm | Deno |
4852
| Bun | Deno |
4953
| pnpm/yarn | Deno |
5054
| Go | Rust |
51-
| Python | Julia/Rust/ReScript |
55+
| Python | Julia/Rust/AffineScript |
5256
| Java/Kotlin | Rust/Tauri/Dioxus |
5357
| Swift | Tauri/Dioxus |
5458
| React Native | Tauri/Dioxus |
@@ -58,18 +62,18 @@ is the top-level `ANCHOR.scope-arrest.2026-01-01.Jewell.scm`.
5862

5963
**No exceptions for Kotlin/Swift** - use Rust-first approach:
6064

61-
1. **Tauri 2.0+** - Web UI (ReScript) + Rust backend, MIT/Apache-2.0
65+
1. **Tauri 2.0+** - Web UI (AffineScript) + Rust backend, MIT/Apache-2.0
6266
2. **Dioxus** - Pure Rust native UI, MIT/Apache-2.0
6367

6468
Both are FOSS with independent governance (no Big Tech).
6569

6670
### Enforcement Rules
6771

68-
1. **No new TypeScript files** - Convert existing TS to ReScript
69-
2. **No package.json for runtime deps** - Use deno.json imports
72+
1. **No new TypeScript files** - Convert existing TS to AffineScript
73+
2. **No package.json - use deno.json deps** - Use deno.json imports
7074
3. **No node_modules in production** - Deno caches deps automatically
7175
4. **No Go code** - Use Rust instead
72-
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, ReScript for apps
76+
5. **No Python anywhere** - Use Julia for data/batch, Rust for systems, AffineScript for apps
7377
6. **No Kotlin/Swift for mobile** - Use Tauri 2.0+ or Dioxus
7478

7579
### Package Management

.claude/PROJECT.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
# My Lang - Claude Code Instructions
26

37
This repository contains the My Lang programming language implementation.

.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/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/checker-scaling.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
# On Linux it also produces a dhat per-call-site heap profile and uploads it
99
# as an artifact for hotspot localisation (the step the issue asked for).
1010
name: Checker Scaling (#14)
11-
1211
on:
1312
push:
1413
paths:
@@ -18,9 +17,7 @@ on:
1817
paths:
1918
- 'crates/my-lang/**'
2019
- '.github/workflows/checker-scaling.yml'
21-
2220
permissions: read-all
23-
2421
jobs:
2522
scaling:
2623
name: scaling (${{ matrix.os }})
@@ -34,19 +31,15 @@ jobs:
3431
contents: read
3532
steps:
3633
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
37-
3834
- name: Setup Rust
3935
uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable
4036
with:
4137
toolchain: stable
42-
4338
- name: Run allocation-scaling harness
4439
run: cargo test -p my-lang --test checker_alloc_scaling --release -- --nocapture
45-
4640
- name: Run dhat heap profile (Linux only)
4741
if: matrix.os == 'ubuntu-latest'
4842
run: cargo run -p my-lang --example dhat_checker_profile --features dhat-heap --release
49-
5043
- name: Upload dhat heap profile
5144
if: matrix.os == 'ubuntu-latest'
5245
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2

.github/workflows/codeql.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: CodeQL Security Analysis
3-
43
on:
54
push:
65
branches: [main, master]
76
pull_request:
87
branches: [main, master]
98
schedule:
109
- cron: '0 6 * * 1'
11-
1210
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
1311
# updates do not pile up queued runs against the shared account-wide
1412
# Actions concurrency pool. Applied only to read-only check workflows
1513
# (no publish/mutation), so cancelling a superseded run is always safe.
1614
concurrency:
1715
group: ${{ github.workflow }}-${{ github.ref }}
1816
cancel-in-progress: true
19-
2017
permissions: read-all
21-
2218
jobs:
2319
analyze:
2420
runs-on: ubuntu-latest
@@ -32,17 +28,14 @@ jobs:
3228
include:
3329
- language: actions
3430
build-mode: none
35-
3631
steps:
3732
- name: Checkout
3833
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
39-
4034
- name: Initialize CodeQL
4135
uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v3.28.1
4236
with:
4337
languages: ${{ matrix.language }}
4438
build-mode: ${{ matrix.build-mode }}
45-
4639
- name: Perform CodeQL Analysis
4740
uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v3.28.1
4841
with:

.github/workflows/governance.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,20 @@
1111
# (rust-ci, codeql, dependabot, release, scan/mirror/pages plumbing).
1212

1313
name: Governance
14-
1514
on:
1615
push:
1716
branches: [main, master]
1817
pull_request:
1918
workflow_dispatch:
20-
2119
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
2220
# updates do not pile up queued runs against the shared account-wide
2321
# Actions concurrency pool. Applied only to read-only check workflows
2422
# (no publish/mutation), so cancelling a superseded run is always safe.
2523
concurrency:
2624
group: ${{ github.workflow }}-${{ github.ref }}
2725
cancel-in-progress: true
28-
2926
permissions:
3027
contents: read
31-
3228
jobs:
3329
governance:
3430
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@3b3549e293f87be99d7dbb939d380c8128842c8e # main

.github/workflows/hypatia-scan.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
# See standards#191 for the reusable's purpose and design.
44

55
name: Hypatia Security Scan
6-
76
on:
87
push:
98
branches: [main, master, develop]
@@ -12,18 +11,16 @@ on:
1211
schedule:
1312
- cron: '0 0 * * 0'
1413
workflow_dispatch:
15-
1614
# Estate guardrail: cancel superseded runs so re-pushes don't pile up.
1715
concurrency:
1816
group: ${{ github.workflow }}-${{ github.ref }}
1917
cancel-in-progress: true
20-
2118
permissions:
2219
contents: read
2320
security-events: write
2421
pull-requests: write
25-
2622
jobs:
2723
hypatia:
28-
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@915139d73560e65a8240b8fc7768698658502c89
24+
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@6cd3772824e59c8c9affeab66061e25383544242
25+
timeout-minutes: 10
2926
secrets: inherit

.github/workflows/mirror.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: Mirror to Git Forges
3-
43
on:
54
push:
65
branches: [main]
76
workflow_dispatch:
8-
97
permissions:
108
contents: read
11-
129
jobs:
1310
mirror:
1411
uses: hyperpolymath/standards/.github/workflows/mirror-reusable.yml@e6b2884722350515934d443daf23442f2195796f
12+
timeout-minutes: 10
1513
secrets: inherit

.github/workflows/scorecard.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: Scorecards supply-chain security
3-
43
on:
54
branch_protection_rule:
65
schedule:
76
- cron: '23 4 * * 1'
87
push:
98
branches: [main]
10-
119
permissions: read-all
12-
1310
jobs:
1411
analysis:
1512
uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@e0caf11508a3989574713c78f5f444f2ce5e33ef
13+
timeout-minutes: 10
1614
secrets: inherit

0 commit comments

Comments
 (0)