Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
SPDX-License-Identifier: MPL-2.0
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
# CLAUDE.md - Claude Integrations

## Project Overview
Expand Down Expand Up @@ -83,7 +87,7 @@ Route to:
name = "model-router"
version = "0.1.0"
authors = ["Jonathan D.A. Jewell <jonathan.jewell@open.ac.uk>"]
license = "PMPL-1.0-or-later"
license = "MPL-2.0-or-later"

[dependencies]
clap = { version = "4", features = ["derive"] }
Expand Down Expand Up @@ -113,6 +117,6 @@ model-router classify --repo /path/to/repo "add authentication"

## Code Style

- SPDX headers: `PMPL-1.0-or-later`
- SPDX headers: `MPL-2.0-or-later`
- Author: Jonathan D.A. Jewell <jonathan.jewell@open.ac.uk>
- Browser extensions use `MPL-2.0` fallback (store requirements)
4 changes: 4 additions & 0 deletions .claude/PROJECT.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
<!--
SPDX-License-Identifier: MPL-2.0
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
# CI Infrastructure - Claude Code Instructions

This repository contains CI/CD infrastructure configurations and scripts.
Expand Down
39 changes: 32 additions & 7 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,9 +1,34 @@
# Code Owners
# SPDX-License-Identifier: MPL-2.0
# CODEOWNERS - Define code review assignments for GitHub
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# Default: All contributors with write access are code owners
* @metadatastician
# Default: sole maintainer for all files
* @hyperpolymath

# For specific paths, add explicit owners below
# Example:
# /src/* @team-lead
# /docs/* @docs-maintainer
# Security-sensitive files require explicit ownership
SECURITY.md @hyperpolymath
.github/workflows/ @hyperpolymath
.machine_readable/ @hyperpolymath
contractiles/ @hyperpolymath

# License files
LICENSE @hyperpolymath
LICENSES/ @hyperpolymath

# Configuration
.gitignore @hyperpolymath
.github/ @hyperpolymath

# Documentation
README* @hyperpolymath
CONTRIBUTING* @hyperpolymath
CODE_OF_CONDUCT* @hyperpolymath
GOVERNANCE* @hyperpolymath
MAINTAINERS* @hyperpolymath
CHANGELOG* @hyperpolymath
ROADMAP* @hyperpolymath

# Build and CI
Justfile @hyperpolymath
Makefile @hyperpolymath
*.sh @hyperpolymath
6 changes: 6 additions & 0 deletions .github/copilot/coding-agent.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
mcp_servers:
boj-server:
command: npx
args: ["-y", "@hyperpolymath/boj-server@latest"]
env:
BOJ_URL: http://localhost:7700
16 changes: 3 additions & 13 deletions .github/workflows/governance.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,16 @@
# SPDX-License-Identifier: MPL-2.0
# governance.yml — single wrapper calling the shared estate governance bundle
# in hyperpolymath/standards instead of carrying per-repo copies.
#
# Replaces the per-repo governance scaffolding removed in the same commit:
# quality.yml, guix-nix-policy.yml, npm-bun-blocker.yml, ts-blocker.yml,
# security-policy.yml, rsr-antipattern.yml, wellknown-enforcement.yml,
# workflow-linter.yml
#
# Load-bearing build/security workflows stay standalone in the repo
# (rust-ci, codeql, dependabot, release, scan/mirror/pages plumbing).

# SPDX-License-Identifier: PMPL-1.0-or-later
name: Governance

on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
workflow_dispatch:

permissions:
contents: read

jobs:
governance:
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9
uses: hyperpolymath/standards/.github/workflows/governance-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910
18 changes: 4 additions & 14 deletions .github/workflows/hypatia-scan.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
# SPDX-License-Identifier: MPL-2.0
# Thin wrapper around hyperpolymath/standards hypatia-scan-reusable.yml.
# See standards#191 for the reusable's purpose and design.

# SPDX-License-Identifier: PMPL-1.0-or-later
name: Hypatia Security Scan

on:
Expand All @@ -13,17 +10,10 @@ on:
- cron: '0 0 * * 0'
workflow_dispatch:

# Estate guardrail: cancel superseded runs so re-pushes don't pile up.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read
security-events: write
pull-requests: write
security-events: read

jobs:
hypatia:
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@81dbf2dd854b1444fd6236fa2352474383b2c2b9
secrets: inherit
scan:
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@5a93d9d57cc04de4002d6d0ecd336fc7a8698910
23 changes: 13 additions & 10 deletions .github/workflows/secret-scanner.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
# SPDX-License-Identifier: MPL-2.0
name: Secret Scanner

on:
pull_request:
push:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

jobs:
scan:
permissions:
contents: read
pull-requests: write
actions: read
uses: hyperpolymath/standards/.github/workflows/secret-scanner-reusable.yml@d135b05bfc647d0c0fbfedc7e80f37ea50f49236
secrets: inherit
uses: hyperpolymath/standards/.github/workflows/secret-scanner-reusable.yml@3e4bd4c93911750727e2e4c66dff859e00079da0
timeout-minutes: 10
secrets: inherit
trufflehog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: TruffleHog Secret Scan
uses: trufflesecurity/trufflehog@main

Check failure on line 24 in .github/workflows/secret-scanner.yml

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Use full commit SHA hash for this dependency.

See more on https://sonarcloud.io/project/issues?id=hyperpolymath_claude-integrations2&issues=AZ-aAPd0nUgmSfWQUCsY&open=AZ-aAPd0nUgmSfWQUCsY&pullRequest=64
with:
extra_args: --only-verified --fail
31 changes: 31 additions & 0 deletions .machine_readable/6a2/0-AI-MANIFEST.a2ml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# AI Manifest for 6a2 Directory

## Purpose

This manifest declares the AI-assistant context for the 6a2 machine-readable metadata directory.

## Canonical Locations

The 6 core A2ML files MUST exist in this directory:
1. AGENTIC.a2ml
2. ECOSYSTEM.a2ml
3. META.a2ml
4. NEUROSYM.a2ml
5. PLAYBOOK.a2ml
6. STATE.a2ml

## Invariants

- No duplicate files in root directory
- Single source of truth: this directory is authoritative
- No stale metadata

## Protocol

When multiple agents may write to A2ML files concurrently:
1. Read file and record git-sha-at-read in [provenance] section
2. Lock by creating .lock-<FILENAME>
3. Write updated file with new [provenance] metadata
4. Release by removing lock file
5. On conflict: re-read and retry if git-sha-at-read does not match HEAD

51 changes: 51 additions & 0 deletions .machine_readable/6a2/AGENTIC.a2ml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# AGENTIC.a2ml — AI agent constraints and capabilities
# Defines what AI agents can and cannot do in this repository.

[metadata]
version = "0.1.0"
last-updated = "2026-04-11"

[agent-permissions]
can-edit-source = true
can-edit-tests = true
can-edit-docs = true
can-edit-config = true
can-create-files = true

[agent-constraints]
# What AI agents must NOT do:
# - Never use banned language patterns (believe_me, unsafeCoerce, etc.)
# - Never commit secrets or credentials
# - Never use banned languages (TypeScript, Python, Go, etc.)
# - Never place state files in repository root (must be in .machine_readable/)
# - Never use AGPL license (use MPL-2.0)

[maintenance-integrity]
fail-closed = true
require-evidence-per-step = true
allow-silent-skip = false
require-rerun-after-fix = true
release-claim-requires-hard-pass = true

# ============================================================================
# METHODOLOGY (ADR-002)
# ============================================================================
# Detailed methodology configuration lives in:
# .machine_readable/bot_directives/methodology.a2ml
# .machine_readable/bot_directives/coverage.a2ml
# .machine_readable/bot_directives/debt.a2ml
#
# AGENTIC.a2ml declares WHAT agents can do (permissions, gating).
# bot_directives/ declares HOW agents should work (methodology).

[methodology]
instructions-dir = ".machine_readable/bot_directives/"
default-mode = "hybrid"

[automation-hooks]
# on-enter: Read 0-AI-MANIFEST.a2ml, then STATE.a2ml, then bot_directives/
# on-exit: Update STATE.a2ml, coverage.a2ml, and debt.a2ml with session outcomes
# on-commit: Run just validate-rsr
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
; SPDX-License-Identifier: MPL-2.0
# SPDX-License-Identifier: PMPL-1.0-or-later
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# ECOSYSTEM.a2ml — Transpiled from .scm format
[metadata]
converted-from-scm = true
conversion-date = "2026-06-01T01:32:50Z"

; SPDX-License-Identifier: PMPL-1.0-or-later
; ECOSYSTEM.scm - Ecosystem position for claude-integrations

(ecosystem
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
; SPDX-License-Identifier: MPL-2.0
# SPDX-License-Identifier: PMPL-1.0-or-later
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# META.a2ml — Transpiled from .scm format
[metadata]
converted-from-scm = true
conversion-date = "2026-06-01T01:32:50Z"

; SPDX-License-Identifier: PMPL-1.0-or-later
; META.scm - Meta-level information for claude-integrations

(meta
Expand Down
23 changes: 23 additions & 0 deletions .machine_readable/6a2/NEUROSYM.a2ml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
#
# NEUROSYM.a2ml — Neurosymbolic integration metadata
# Configuration for Hypatia scanning and symbolic reasoning.

[metadata]
version = "0.1.0"
last-updated = "2026-04-11"

[hypatia-config]
scan-enabled = true
scan-depth = "standard" # quick | standard | deep
report-format = "logtalk"

[symbolic-rules]
# Custom symbolic rules for this project
# - { name = "no-unsafe-ffi", pattern = "believe_me|unsafeCoerce", severity = "critical" }

[neural-config]
# Neural pattern detection settings
# confidence-threshold = 0.85
# model = "hypatia-v2"
Loading
Loading