Skip to content

Commit cc60f66

Browse files
Fix/tooling gaps 20260521 (#40)
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> --> ## Summary <!-- Briefly describe what this PR does and why. Link to related issues with "Closes #N". --> ## Changes <!-- List the key changes introduced by this PR. --> - ## RSR Quality Checklist <!-- Check all that apply. PRs that fail required checks will not be merged. --> ### Required - [ ] Tests pass (`just test` or equivalent) - [ ] Code is formatted (`just fmt` or equivalent) - [ ] Linter is clean (no new warnings or errors) - [ ] No banned language patterns (no TypeScript, no npm/bun, no Go/Python) - [ ] No `unsafe` blocks without `// SAFETY:` comments - [ ] No banned functions (`believe_me`, `unsafeCoerce`, `Obj.magic`, `Admitted`, `sorry`) - [ ] SPDX license headers present on all new/modified source files - [ ] No secrets, credentials, or `.env` files included ### As Applicable - [ ] `.machine_readable/STATE.a2ml` updated (if project state changed) - [ ] `.machine_readable/ECOSYSTEM.a2ml` updated (if integrations changed) - [ ] `.machine_readable/META.a2ml` updated (if architectural decisions changed) - [ ] Documentation updated for user-facing changes - [ ] `TOPOLOGY.md` updated (if architecture changed) - [ ] `CHANGELOG` or release notes updated - [ ] New dependencies reviewed for license compatibility (PMPL-1.0-or-later / MPL-2.0) - [ ] ABI/FFI changes validated (`src/interface/abi/` and `src/interface/ffi/` consistent) ## Testing <!-- Describe how you tested these changes. --> ## Screenshots <!-- If applicable, add screenshots or terminal output demonstrating the change. --> --------- Co-authored-by: Mistral Vibe <vibe@mistral.ai>
1 parent 9d84011 commit cc60f66

209 files changed

Lines changed: 6799 additions & 414 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: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
5+
# CLAUDE.md - AI Assistant Instructions
6+
7+
## Machine-Readable Artefacts
8+
9+
This repo follows the hyperpolymath standard. See `https://github.com/hyperpolymath/standards` for the canonical 6-file `.machine_readable/` layout (STATE/META/ECOSYSTEM/AGENTIC/NEUROSYM/PLAYBOOK in A2ML format).
10+
11+
---
12+
13+
## Language Policy (Hyperpolymath Standard)
14+
15+
The full policy is canonical in `hyperpolymath/standards`. Key points:
16+
17+
- **AffineScript** - Primary application code (compiles to typed-wasm)
18+
- **Deno** - Runtime & package management (replaces Node/npm/bun)
19+
- **Rust/SPARK** - Performance-critical, systems, WASM, CLI tools
20+
- **Zig** - FFI layer, memory-safe systems
21+
- **Idris2** - Formal verification
22+
- **Agda** - Formal verification (foundational)
23+
- **Tauri 2.0+** / **Dioxus** - Mobile apps
24+
- **Gleam** / **Elixir** - Backend services
25+
- **Haskell** - Type-heavy tools
26+
- **Bash/POSIX Shell** - Scripts, automation (keep minimal)
27+
- **JavaScript** - Only where AffineScript cannot
28+
- **Nickel** - Configuration language
29+
- **A2ML** - State/meta files
30+
31+
### BANNED
32+
- TypeScript (use AffineScript)
33+
- Node.js (use Deno)
34+
- Go (use Rust)
35+
- Python (general, except SaltStack)
36+
- Java/Kotlin/Swift (use Rust/Tauri/Dioxus)
37+
38+
### Documentation Format
39+
- All docs `.adoc` (AsciiDoc) except GitHub-required files (SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, CHANGELOG.md).
40+

.claude/PROJECT.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<!--
2+
SPDX-License-Identifier: MPL-2.0
3+
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
-->
5+
# Jaffascript - Claude Code Instructions
6+
7+
This repository contains the Jaffascript project.
8+
9+
## Project Structure
10+
11+
```
12+
jaffascript/
13+
├── .claude/ # AI assistant instructions
14+
├── .git/ # Version control
15+
├── .gitignore # Git ignore rules
16+
├── .editorconfig # Editor configuration
17+
└── ... # Project files
18+
```
19+
20+
## Build Commands
21+
22+
Refer to project-specific documentation.
23+
24+
## Coding Conventions
25+
26+
- Follow hyperpolymath standards
27+
- All code must have SPDX license headers
28+
- Use approved languages only (see CLAUDE.md)
29+
- Document all non-obvious decisions
30+
31+
## Security
32+
33+
- No hardcoded secrets
34+
- All secrets through environment variables or secret management
35+
- SHA-pinned dependencies where applicable
36+
- HTTPS only, no HTTP URLs
37+
- No MD5/SHA1 for security purposes

.claude/settings.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# jaffascript development configuration
2+
{}

.devcontainer/Containerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: MPL-2.0
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
22
# Copyright (c) {{CURRENT_YEAR}} {{AUTHOR}} ({{OWNER}}) <{{AUTHOR_EMAIL}}>
33
#
44
# Dev Container image for {{PROJECT_NAME}}

.devcontainer/README.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-License-Identifier: CC-BY-SA-4.0
1+
// SPDX-License-Identifier: MPL-2.0
22
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
33
= Dev Container Usage
44
:author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// SPDX-License-Identifier: MPL-2.0
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
22
// Copyright (c) {{CURRENT_YEAR}} Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
//
44
// Dev Container configuration for {{PROJECT_NAME}}

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,6 @@ indent_size = 2
6363
indent_style = space
6464
indent_size = 4
6565

66+
[justfile]
67+
indent_style = space
68+
indent_size = 4

.gitattributes

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
*.a2ml text eol=lf linguist-language=TOML
2020
*.ncl text eol=lf
2121
*.nix text eol=lf
22+
*.zig text eol=lf
2223

2324
# Docs
2425
*.md text eol=lf diff=markdown
@@ -34,7 +35,9 @@
3435
# Config
3536
.gitignore text eol=lf
3637
.gitattributes text eol=lf
37-
Justfile text eol=lf
38+
.editorconfig text eol=lf
39+
.tool-versions text eol=lf
40+
justfile text eol=lf
3841
Makefile text eol=lf
3942
Containerfile text eol=lf
4043

.github/CODEOWNERS

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,34 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# CODEOWNERS - Define code review assignments
2+
# CODEOWNERS - Define code review assignments for GitHub
33
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
4-
#
5-
# Replace {{OWNER}} with your GitHub username or team
64

7-
# Default owners for everything
8-
* @{{OWNER}}
5+
# Default: sole maintainer for all files
6+
* @hyperpolymath
97

10-
# Security-sensitive files require explicit review
11-
SECURITY.md @{{OWNER}}
12-
.github/workflows/ @{{OWNER}}
13-
Trustfile.a2ml @{{OWNER}}
14-
.machine_readable/ @{{OWNER}}
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/workflows/governance.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,16 @@
1-
# SPDX-License-Identifier: MPL-2.0
2-
# governance.yml — single wrapper calling the shared estate governance bundle
3-
# in hyperpolymath/standards instead of carrying per-repo copies.
4-
#
5-
# Replaces the per-repo governance scaffolding removed in the same commit:
6-
# quality.yml, guix-nix-policy.yml, npm-bun-blocker.yml, ts-blocker.yml,
7-
# security-policy.yml, rsr-antipattern.yml, wellknown-enforcement.yml,
8-
# workflow-linter.yml
9-
#
10-
# Load-bearing build/security workflows stay standalone in the repo
11-
# (rust-ci, codeql, dependabot, release, scan/mirror/pages plumbing).
12-
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
132
name: Governance
143

154
on:
165
push:
176
branches: [main, master]
187
pull_request:
8+
branches: [main, master]
199
workflow_dispatch:
2010

21-
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
22-
# updates do not pile up queued runs against the shared account-wide
23-
# Actions concurrency pool. Applied only to read-only check workflows
24-
# (no publish/mutation), so cancelling a superseded run is always safe.
25-
concurrency:
26-
group: ${{ github.workflow }}-${{ github.ref }}
27-
cancel-in-progress: true
28-
2911
permissions:
3012
contents: read
3113

3214
jobs:
3315
governance:
34-
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9
16+
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910

0 commit comments

Comments
 (0)