Skip to content

Commit e215d8d

Browse files
Merge branch 'main' into claude/ci-workflow-hardening
2 parents 56f433b + ae96a79 commit e215d8d

109 files changed

Lines changed: 2562 additions & 289 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.

.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/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/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/governance.yml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +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

2111
permissions:
2212
contents: read
2313

2414
jobs:
2515
governance:
26-
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main
16+
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910

.github/workflows/hypatia-scan.yml

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,18 @@
1-
# SPDX-License-Identifier: MPL-2.0
2-
# Hypatia Neurosymbolic CI/CD Security Scan
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
32
name: Hypatia Security Scan
43

54
on:
65
push:
7-
branches: [ main, master, develop ]
6+
branches: [main, master, develop]
87
pull_request:
9-
branches: [ main, master ]
8+
branches: [main, master]
109
schedule:
11-
- cron: '0 0 * * 0' # Weekly on Sunday
10+
- cron: '0 0 * * 0'
1211
workflow_dispatch:
13-
# Estate guardrail: cancel superseded runs so re-pushes don't pile up
14-
# queued runs across the estate. Safe here because this workflow only
15-
# performs read-only checks/lint/test/scan with no publish or mutation.
16-
concurrency:
17-
group: ${{ github.workflow }}-${{ github.ref }}
18-
cancel-in-progress: true
1912

2013
permissions:
2114
contents: read
22-
# security-events: write serves two purposes (write implies read):
23-
# 1. read — lets the built-in GITHUB_TOKEN query this repo's own
24-
# Dependabot alerts via the Hypatia DependabotAlerts rule
25-
# (DA001-DA004). Without read, `scan_from_path` gets HTTP 403
26-
# and the rule silently returns no findings.
27-
# See 007-lang/audits/audit-dependabot-automation-gap-2026-04-17.md.
28-
# 2. write — lets the "Upload SARIF to code scanning" step publish
29-
# Hypatia findings to the Security → Code scanning page so they
30-
# are triaged/deduplicated like CodeQL alerts instead of living
31-
# only in a build artifact nobody is required to look at.
32-
# See hyperpolymath/burble#35 (SARIF integration).
33-
# This is a single-job workflow, so job-level scoping would not
34-
# narrow the grant further; it stays workflow-level and documented.
35-
security-events: write
36-
# pull-requests: write lets the advisory "Comment on PR with findings"
37-
# step post its summary. Without it the built-in GITHUB_TOKEN gets
38-
# "Resource not accessible by integration" and (absent continue-on-error)
39-
# hard-fails the scan — exactly what the gate-decoupling design forbids.
40-
pull-requests: write
15+
security-events: read
4116

4217
jobs:
4318
scan:
@@ -412,4 +387,4 @@ jobs:
412387
repo: context.repo.repo,
413388
issue_number: context.issue.number,
414389
body: comment
415-
});
390+
});

.github/workflows/scorecard.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
# SPDX-License-Identifier: MPL-2.0
2-
name: Scorecards supply-chain security
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
name: OSSF Scorecard
33

44
on:
5-
branch_protection_rule:
6-
schedule:
7-
- cron: '23 4 * * 1'
85
push:
9-
branches: [main]
6+
branches: [main, master]
7+
schedule:
8+
- cron: '0 4 * * *'
9+
workflow_dispatch:
1010

11-
permissions: read-all
11+
permissions:
12+
contents: read
1213

1314
jobs:
14-
analysis:
15-
uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@e0caf11508a3989574713c78f5f444f2ce5e33ef
16-
secrets: inherit
15+
scorecard:
16+
uses: hyperpolymath/standards/.github/workflows/scorecard-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# AI Manifest for 6a2 Directory
2+
3+
## Purpose
4+
5+
This manifest declares the AI-assistant context for the 6a2 machine-readable metadata directory.
6+
7+
## Canonical Locations
8+
9+
The 6 core A2ML files MUST exist in this directory:
10+
1. AGENTIC.a2ml
11+
2. ECOSYSTEM.a2ml
12+
3. META.a2ml
13+
4. NEUROSYM.a2ml
14+
5. PLAYBOOK.a2ml
15+
6. STATE.a2ml
16+
17+
## Invariants
18+
19+
- No duplicate files in root directory
20+
- Single source of truth: this directory is authoritative
21+
- No stale metadata
22+

.machine_readable/6a2/AGENTIC.a2ml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ can-create-files = true
2020
# - Never use banned languages (TypeScript, Python, Go, etc.)
2121
# - Never place state files in repository root (must be in .machine_readable/)
2222
# - Never use AGPL license (use MPL-2.0)
23+
# - Never break VISIBLE DECOMPOSITION for Echo types:
24+
# * do not make echo_to_residue a silent cast
25+
# * do not let EchoR<A,B> behave like / coerce to Echo<A,B>
26+
# * do not hide the erasure stability debit ([Stab-Erase])
27+
# (see docs/Echo-Decomposition.adoc, spec/type-system.md §7)
2328

2429
[maintenance-integrity]
2530
fail-closed = true

0 commit comments

Comments
 (0)