Skip to content

Commit 478cb83

Browse files
committed
Merge main into fix/absolute-zero-baseline-rot (round 2)
Take main for all 5 round-2 conflicts: - 3 workflows (jekyll-gh-pages, language-policy, rust-ci): formatting drift only — take main's canonical headers. - ROADMAP.adoc: take main's 727-line v12 version. Commit 83d51a2 documented this consolidation: 'promoted ROADMAP-V1-TO-V12 to be THE roadmap'. PR#42's branch was filed against the pre-consolidation sprint-checklist. - ROADMAP-V1-TO-V12.adoc: deleted on main (its content is now in ROADMAP.adoc). Follow-up known: ROADMAP.adoc carries PMPL-1.0-or-later SPDX; needs migration to MPL-2.0 to match LICENSE. Out of scope for this merge.
2 parents cc81c14 + 7f0b56c commit 478cb83

74 files changed

Lines changed: 2323 additions & 1955 deletions

Some content is hidden

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

.github/workflows/cflite_pr.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ jobs:
1414
matrix:
1515
sanitizer: [address]
1616
steps:
17+
- name: Checkout
18+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
19+
1720
- name: Build Fuzzers (${{ matrix.sanitizer }})
1821
id: build
1922
uses: google/clusterfuzzlite/actions/build_fuzzers@884713a6c30a92e5e8544c39945cd7cb630abcd1 # v1

.github/workflows/deno-ci.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# SPDX-License-Identifier: MPL-2.0-or-later
2+
# Thin wrapper around the estate-wide reusable Deno CI bundle.
3+
# See: hyperpolymath/standards/.github/workflows/deno-ci-reusable.yml
4+
name: Deno CI
5+
6+
on:
7+
push:
8+
branches: [main, master]
9+
pull_request:
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
permissions:
16+
contents: read
17+
18+
jobs:
19+
deno-ci:
20+
uses: hyperpolymath/standards/.github/workflows/deno-ci-reusable.yml@c3a62f0cfd993c23661519f571087ed16e13631c # standards#168 head

.github/workflows/governance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ permissions:
3131

3232
jobs:
3333
governance:
34-
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@main
34+
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@3ec2e85cc1d54ec2ab20a84fcba96e5008545925 # main 2026-05-25
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# SPDX-License-Identifier: MPL-2.0-or-later
2+
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
3+
name: Deploy Jekyll with GitHub Pages dependencies preinstalled
4+
5+
on:
6+
# Runs on pushes targeting the default branch
7+
push:
8+
branches: ["main"]
9+
10+
# Allows you to run this workflow manually from the Actions tab
11+
workflow_dispatch:
12+
13+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
14+
permissions:
15+
contents: read
16+
pages: write
17+
id-token: write
18+
19+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
20+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
21+
concurrency:
22+
group: "pages"
23+
cancel-in-progress: false
24+
25+
jobs:
26+
# Build job
27+
build:
28+
runs-on: ubuntu-latest
29+
steps:
30+
- name: Checkout
31+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
32+
- name: Setup Pages
33+
uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6
34+
- name: Build with Jekyll
35+
uses: actions/jekyll-build-pages@44a6e6beabd48582f863aeeb6cb2151cc1716697 # v1
36+
with:
37+
source: ./
38+
destination: ./_site
39+
- name: Upload artifact
40+
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5
41+
42+
# Deployment job
43+
deploy:
44+
environment:
45+
name: github-pages
46+
url: ${{ steps.deployment.outputs.page_url }}
47+
runs-on: ubuntu-latest
48+
needs: build
49+
steps:
50+
- name: Deploy to GitHub Pages
51+
id: deployment
52+
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5

.github/workflows/language-policy.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
# SPDX-License-Identifier: MPL-2.0
1+
# SPDX-License-Identifier: MPL-2.0-or-later
22
name: Language Policy Enforcement
33
on: [push, pull_request]
44

5-
permissions:
6-
contents: read
5+
permissions: read-all
76

87
jobs:
98
check:
109
runs-on: ubuntu-latest
1110
steps:
12-
- uses: actions/checkout@v6.0.2
11+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1312
- name: Enforce language policies
1413
run: |
1514
# Block new Python files (except SaltStack)
1615
NEW_PY=$(git diff --name-only --diff-filter=A HEAD~1 2>/dev/null | grep -E '\.py$' | grep -v 'salt' || true)
1716
if [ -n "$NEW_PY" ]; then
18-
echo "❌ New Python files detected. Use Rust or AffineScript instead."
17+
echo "❌ New Python files detected. Use Rust or ReScript instead."
1918
echo "$NEW_PY"
2019
exit 1
2120
fi

.github/workflows/rust-ci.yml

Lines changed: 13 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,20 @@
11
# SPDX-License-Identifier: MPL-2.0
2+
# Rust CI — thin wrapper calling the shared estate reusable in
3+
# hyperpolymath/standards. Configure once, propagate everywhere.
4+
# See: docs/CI-REUSABLE-WORKFLOWS.adoc in standards.
25
name: Rust CI
3-
on: [push, pull_request]
6+
7+
on:
8+
push:
9+
branches: [main, master]
10+
pull_request:
411

512
permissions:
613
contents: read
714

8-
env:
9-
CARGO_TERM_COLOR: always
10-
RUSTFLAGS: -Dwarnings
11-
1215
jobs:
13-
test:
14-
runs-on: ubuntu-latest
15-
steps:
16-
- uses: actions/checkout@v6.0.2
17-
- uses: dtolnay/rust-toolchain@stable
18-
with:
19-
components: rustfmt, clippy
20-
- uses: Swatinem/rust-cache@v2
21-
22-
- name: Check formatting
23-
run: cargo fmt --all -- --check
24-
25-
- name: Clippy lints
26-
run: cargo clippy --all-targets --all-features -- -D warnings
27-
28-
- name: Run tests
29-
run: cargo test --all-features
30-
31-
- name: Build release
32-
run: cargo build --release
33-
34-
security:
35-
runs-on: ubuntu-latest
36-
steps:
37-
- uses: actions/checkout@v6.0.2
38-
- uses: dtolnay/rust-toolchain@stable
39-
- name: Install cargo-audit
40-
run: cargo install cargo-audit
41-
- name: Security audit
42-
run: cargo audit
43-
- name: Check for outdated deps
44-
run: cargo install cargo-outdated && cargo outdated --exit-code 1 || true
45-
46-
coverage:
47-
runs-on: ubuntu-latest
48-
steps:
49-
- uses: actions/checkout@v6.0.2
50-
- uses: dtolnay/rust-toolchain@stable
51-
- name: Install tarpaulin
52-
run: cargo install cargo-tarpaulin
53-
- name: Generate coverage
54-
run: cargo tarpaulin --out Xml
55-
- uses: codecov/codecov-action@v6
56-
with:
57-
files: cobertura.xml
16+
rust-ci:
17+
uses: hyperpolymath/standards/.github/workflows/rust-ci-reusable.yml@4fdf4314b4ab54269adbaff10e30e483b5e86845
18+
with:
19+
enable_audit: true
20+
enable_coverage: true

.well-known/ai.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# AI agent discovery file for absolute-zero
3+
# See: https://github.com/hyperpolymath/absolute-zero/blob/main/0-AI-MANIFEST.a2ml
4+
5+
User-Agent: *
6+
Manifest: /0-AI-MANIFEST.a2ml
7+
EntryPoint: /docs/CLAUDE.adoc
8+
State: /.machine_readable/6a2/STATE.a2ml
9+
Roadmap: /ROADMAP.adoc
10+
Allow: training-with-attribution
11+
Allow: documentation-summarisation
12+
Disallow: closed-source-redistribution
13+
License: PMPL-1.0-or-later
14+
Contact: developer@joshuajewell.dev

.well-known/humans.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# humanstxt.org
3+
4+
/* TEAM */
5+
Maintainer: Jonathan D. A. Jewell
6+
Contact: developer @ joshuajewell.dev
7+
Site: https://github.com/hyperpolymath/absolute-zero
8+
9+
/* THANKS */
10+
Contributors: see git log + docs/MAINTAINERS.adoc
11+
12+
/* SITE */
13+
Last update: 2026-05-25
14+
Standards: PMPL-1.0-or-later, RSR (Rhodium Standard Repository) compliant
15+
Components: Coq, Lean 4, Z3, Agda, Isabelle, Mizar, Idris2, ReScript, Rust

.well-known/security.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
Contact: https://github.com/hyperpolymath/absolute-zero/security/advisories/new
3+
Expires: 2027-05-25T00:00:00Z
4+
Preferred-Languages: en
5+
Canonical: https://github.com/hyperpolymath/absolute-zero/.well-known/security.txt
6+
Policy: https://github.com/hyperpolymath/absolute-zero/blob/main/SECURITY.md

0-AI-MANIFEST.a2ml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# 0-AI-MANIFEST.a2ml — Absolute Zero AI assistant manifest
3+
# Schema: a2ml v1.0
4+
# Supersedes legacy AI.a2ml + AI.djot (deleted in repo tidy 2026-05-25)
5+
6+
[metadata]
7+
project = "absolute-zero"
8+
repo = "github.com/hyperpolymath/absolute-zero"
9+
manifest-version = "1.0"
10+
last-updated = "2026-05-25"
11+
12+
[scope]
13+
purpose = """
14+
Formal verification of Certified Null Operations (CNOs) across multiple
15+
proof systems (Coq, Lean 4, Z3, Agda, Isabelle, Mizar) plus an Idris2
16+
ABI surface for FFI.
17+
"""
18+
19+
[entry-points]
20+
# Where an AI agent should look first.
21+
root-context = "docs/CLAUDE.adoc"
22+
project-state = ".machine_readable/6a2/STATE.a2ml"
23+
roadmap = "ROADMAP.adoc"
24+
contributing = "CONTRIBUTING.adoc"
25+
audit-trail = "AUDIT.adoc"
26+
rsr-status = "RSR_COMPLIANCE.adoc"
27+
28+
[machine-readable]
29+
# Authoritative metadata artefacts; .a2ml format under 6a2/ supersedes
30+
# the older Guile-Scheme .scm format. Both kept side-by-side during the
31+
# migration window for legacy tooling compatibility.
32+
state = ".machine_readable/6a2/STATE.a2ml"
33+
meta = ".machine_readable/6a2/META.a2ml"
34+
ecosystem = ".machine_readable/6a2/ECOSYSTEM.a2ml"
35+
agentic = ".machine_readable/6a2/AGENTIC.a2ml"
36+
neurosym = ".machine_readable/6a2/NEUROSYM.a2ml"
37+
playbook = ".machine_readable/6a2/PLAYBOOK.a2ml"
38+
39+
legacy-scm-meta = ".machine_readable/META.scm"
40+
legacy-scm-ecosystem = ".machine_readable/ECOSYSTEM.scm"
41+
legacy-scm-agentic = ".machine_readable/AGENTIC.scm"
42+
legacy-scm-neurosym = ".machine_readable/NEUROSYM.scm"
43+
legacy-scm-playbook = ".machine_readable/PLAYBOOK.scm"
44+
45+
[language-policy]
46+
# Single source of truth lives in docs/CLAUDE.adoc + .github/workflows/language-policy.yml.
47+
# Summary:
48+
allowed = ["ReScript", "Deno", "Rust", "Tauri", "Dioxus", "Gleam", "Bash", "JavaScript (limited)", "Nickel", "Guile Scheme", "Julia", "OCaml", "Ada", "Idris2"]
49+
banned = ["TypeScript", "Node.js", "npm", "Bun", "pnpm", "yarn", "Go", "Python", "Java", "Kotlin", "Swift", "React Native", "Flutter", "Dart", "Ruby", "Perl"]
50+
reference = "docs/CLAUDE.adoc#language-policy"
51+
52+
[echidna-protocol]
53+
# All ECHIDNA invocations route through the echidna-llm-mcp BoJ cartridge.
54+
# Never call ECHIDNA directly.
55+
gateway = "boj-server/cartridges/echidna-llm-mcp"
56+
docs = "docs/archive/ECHIDNA-2025-11-22.adoc"
57+
tools = [
58+
"echidna_list_provers",
59+
"echidna_prove",
60+
"echidna_verify",
61+
"echidna_verify_raw",
62+
"echidna_suggest",
63+
"echidna_suggest_tactics",
64+
"echidna_search",
65+
"echidna_session_create",
66+
]
67+
68+
[delivery]
69+
commit-policy = "conventional commits; never amend published commits"
70+
state-update = "update .machine_readable/6a2/STATE.a2ml whenever phase/progress changes"
71+
adr-tracking = "architectural changes recorded in .machine_readable/META.scm `architecture-decisions`"

0 commit comments

Comments
 (0)