Skip to content

Commit 296695c

Browse files
Merge branch 'main' into claude/practical-newton-9eFe2
2 parents e69df1a + c8067ed commit 296695c

46 files changed

Lines changed: 733 additions & 976 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clinerules

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# Cline rules for nextgen-typing. Full rules: AGENTS.md / CLAUDE.md.
3+
4+
# ⛔ COORDINATION REPO — NOT A CODE REPO.
5+
# nextgen-typing documents and connects the type-theory pipeline
6+
# (katagoria → typell → typed-wasm → PanLL). It does NOT hold compiler,
7+
# kernel, language, or single-project code — including single-project proofs,
8+
# benchmarks, and tests.
9+
#
10+
# Before creating ANY implementation file or single-project proof here: STOP.
11+
# Put it in the owning repo. Routing table:
12+
# .machine_readable/bot_directives/placement.a2ml (authoritative)
13+
# AGENTS.md (human-readable)
14+
# CI enforces this: scripts/check-coordination-boundary.sh
15+
#
16+
# Only these belong here: coordination/architecture docs, .machine_readable/
17+
# state, estate governance/CI scaffold, and CROSS-project proofs in
18+
# verification/proofs/ that import >=2 constituent repos (e.g. agda/EchoTyping.agda).
19+
20+
# Then: read 0-AI-MANIFEST.a2ml, then .machine_readable/6a2/STATE.a2ml.
21+
# Licence MPL-2.0 (never AGPL) + SPDX header on every file.
22+
# Banned langs: TypeScript->ReScript, npm/Node->Deno, Go->Rust, Python->Julia/Rust.
23+
# Containers: Podman + Containerfile. Build via just.
24+
# No believe_me / assert_total / postulate / sorry / Admitted / unsafeCoerce.

.cursorrules

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# Cursor rules for nextgen-typing. Full rules: AGENTS.md / CLAUDE.md.
3+
4+
# ⛔ COORDINATION REPO — NOT A CODE REPO.
5+
# nextgen-typing documents and connects the type-theory pipeline
6+
# (katagoria → typell → typed-wasm → PanLL). It does NOT hold compiler,
7+
# kernel, language, or single-project code — including single-project proofs,
8+
# benchmarks, and tests.
9+
#
10+
# Before creating ANY implementation file or single-project proof here: STOP.
11+
# Put it in the owning repo. Routing table:
12+
# .machine_readable/bot_directives/placement.a2ml (authoritative)
13+
# AGENTS.md (human-readable)
14+
# CI enforces this: scripts/check-coordination-boundary.sh
15+
#
16+
# Only these belong here: coordination/architecture docs, .machine_readable/
17+
# state, estate governance/CI scaffold, and CROSS-project proofs in
18+
# verification/proofs/ that import >=2 constituent repos (e.g. agda/EchoTyping.agda).
19+
20+
# Then: read 0-AI-MANIFEST.a2ml, then .machine_readable/6a2/STATE.a2ml.
21+
# Licence MPL-2.0 (never AGPL) + SPDX header on every file.
22+
# Banned langs: TypeScript->ReScript, npm/Node->Deno, Go->Rust, Python->Julia/Rust.
23+
# Containers: Podman + Containerfile. Build via just.
24+
# No believe_me / assert_total / postulate / sorry / Admitted / unsafeCoerce.

.github/copilot-instructions.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
77

88
# Copilot Instructions
99

10+
## ⛔ Before Writing Anything — Placement Boundary
11+
12+
`nextgen-typing` is a **coordination repo**, not a code repo. Do NOT add
13+
compiler/application code or single-project proofs here. If content implements
14+
or proves something about ONE project, put it in that project's repo. Routing
15+
table: `.machine_readable/bot_directives/placement.a2ml` (enforced in CI by
16+
`scripts/check-coordination-boundary.sh`). Full guidance: `AGENTS.md`.
17+
18+
Only these belong here: coordination/architecture docs, `.machine_readable/`
19+
state, estate governance/CI scaffold, and CROSS-project proofs (importing ≥2
20+
constituent repos) under `verification/proofs/`.
21+
1022
## Before Writing Code
1123

1224
- Read `0-AI-MANIFEST.a2ml` in the repo root for canonical file locations.
@@ -47,12 +59,6 @@ Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4759
- Name the file `Containerfile`, never `Dockerfile`.
4860
- Base image: `cgr.dev/chainguard/wolfi-base:latest`.
4961

50-
## ABI/FFI
51-
52-
- ABI definitions in Idris2 (`src/interface/abi/`).
53-
- FFI implementations in Zig (`src/interface/ffi/`).
54-
- Generated C headers in `src/interface/generated/`.
55-
5662
## State Files
5763

5864
Never create these in the repo root:
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# Coordination-boundary guard: nextgen-typing must stay docs + machine-readable
5+
# state + estate scaffold + CROSS-project proofs only — no compiler/application
6+
# code and no single-project proofs. Routing table:
7+
# .machine_readable/bot_directives/placement.a2ml
8+
name: Coordination Boundary
9+
10+
on:
11+
push:
12+
branches: [main, master, develop]
13+
pull_request:
14+
branches: [main, master, develop]
15+
16+
permissions:
17+
contents: read
18+
19+
concurrency:
20+
group: coord-boundary-${{ github.ref }}
21+
cancel-in-progress: true
22+
23+
jobs:
24+
boundary:
25+
runs-on: ubuntu-latest
26+
timeout-minutes: 5
27+
permissions:
28+
contents: read
29+
steps:
30+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
31+
- name: Enforce coordination boundary
32+
run: bash scripts/check-coordination-boundary.sh

.github/workflows/governance.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
name: Governance
3+
4+
on:
5+
push:
6+
branches: [main, master]
7+
pull_request:
8+
branches: [main, master]
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
governance:
16+
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910

.github/workflows/guix-nix-policy.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: Guix/Nix Package Policy
3-
on: [push, pull_request]
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
8+
# Estate guardrail: scope push to default branches (PR fires once, not
9+
# push+PR) and cancel superseded runs. Safe — read-only PR check.
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
413

514
permissions:
615
contents: read

.github/workflows/hypatia-scan.yml

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
# SPDX-License-Identifier: MPL-2.0
2-
# Thin wrapper around hyperpolymath/standards hypatia-scan-reusable.yml.
3-
# See standards#191 for the reusable's purpose and design.
4-
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
52
name: Hypatia Security Scan
63

74
on:
@@ -13,18 +10,10 @@ on:
1310
- cron: '0 0 * * 0'
1411
workflow_dispatch:
1512

16-
# Estate guardrail: cancel superseded runs so re-pushes don't pile up.
17-
concurrency:
18-
group: ${{ github.workflow }}-${{ github.ref }}
19-
cancel-in-progress: true
20-
2113
permissions:
2214
contents: read
23-
security-events: write
24-
pull-requests: write
15+
security-events: read
2516

2617
jobs:
27-
hypatia:
28-
timeout-minutes: 30
29-
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@915139d73560e65a8240b8fc7768698658502c89
30-
secrets: inherit
18+
scan:
19+
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910

.github/workflows/npm-bun-blocker.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: NPM/Bun Blocker
3-
on: [push, pull_request]
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
8+
# Estate guardrail: scope push to default branches (PR fires once, not
9+
# push+PR) and cancel superseded runs. Safe — read-only PR check.
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
413

514
permissions:
615
contents: read

.github/workflows/quality.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# SPDX-License-Identifier: MPL-2.0
22
name: Code Quality
3-
on: [push, pull_request]
3+
on:
4+
push:
5+
branches: [main, master]
6+
pull_request:
7+
8+
# Estate guardrail: scope push to default branches (PR fires once, not
9+
# push+PR) and cancel superseded runs. Safe — read-only PR check.
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
413

514

615
permissions:

.github/workflows/scorecard-enforcer.yml

Lines changed: 0 additions & 114 deletions
This file was deleted.

0 commit comments

Comments
 (0)