Skip to content

Commit 510f0ec

Browse files
Estate standardization 20260607 (#28)
* ci: fix CI/CD configuration (campaigns C001-C005) - C001: CodeQL language fixes - C002: License identifier standardization - C003: Outdated actions audit - C004: Pin standards refs to SHA 861b5e9 - C005: Add workflow-level permissions * ci: fix CI/CD configuration (campaigns C001-C005) * ci: fix CI/CD configuration (campaigns C001-C005) * docs: add OpenSSF Best Practices registration badge * chore: rename k9 directories to self-validating for clarity * chore: flatten self-validating directory structure * chore: rename agent_instructions to bot_directives for spec alignment * docs: Add CODEOWNERS, MAINTAINERS, and GOVERNANCE documents * Apply estate standardization: governance docs, contractiles, CI/CD cleanup --------- Co-authored-by: Mistral Vibe <vibe@mistral.ai>
1 parent 636f92d commit 510f0ec

103 files changed

Lines changed: 1559 additions & 859 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/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/boj-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
jobs:
88
trigger-boj:
99
runs-on: ubuntu-latest
10+
timeout-minutes: 15
1011
steps:
1112
- name: Checkout
1213
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

.github/workflows/casket-pages.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ concurrency:
1818
jobs:
1919
build:
2020
runs-on: ubuntu-latest
21+
timeout-minutes: 15
2122
steps:
2223
- name: Checkout
2324
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4
@@ -109,6 +110,7 @@ jobs:
109110
name: github-pages
110111
url: ${{ steps.deployment.outputs.page_url }}
111112
runs-on: ubuntu-latest
113+
timeout-minutes: 15
112114
needs: build
113115
steps:
114116
- name: Deploy to GitHub Pages

.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ permissions:
2323
jobs:
2424
analyze:
2525
runs-on: ubuntu-latest
26+
timeout-minutes: 15
2627
permissions:
2728
contents: read
2829
security-events: write

.github/workflows/dependabot-automerge.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ jobs:
5050
# Only run for PRs actually authored by Dependabot.
5151
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]'
5252
runs-on: ubuntu-latest
53+
timeout-minutes: 15
5354

5455
steps:
5556
- name: Fetch Dependabot metadata

.github/workflows/dogfood-gate.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
a2ml-validate:
2323
name: Validate A2ML manifests
2424
runs-on: ubuntu-latest
25+
timeout-minutes: 15
2526

2627
steps:
2728
- name: Checkout repository
@@ -66,6 +67,7 @@ jobs:
6667
k9-validate:
6768
name: Validate K9 contracts
6869
runs-on: ubuntu-latest
70+
timeout-minutes: 15
6971

7072
steps:
7173
- name: Checkout repository
@@ -115,6 +117,7 @@ jobs:
115117
empty-lint:
116118
name: Empty-linter (invisible characters)
117119
runs-on: ubuntu-latest
120+
timeout-minutes: 15
118121

119122
steps:
120123
- name: Checkout repository
@@ -179,6 +182,7 @@ jobs:
179182
groove-check:
180183
name: Groove manifest check
181184
runs-on: ubuntu-latest
185+
timeout-minutes: 15
182186

183187
steps:
184188
- name: Checkout repository
@@ -237,6 +241,7 @@ jobs:
237241
dogfood-summary:
238242
name: Dogfooding compliance summary
239243
runs-on: ubuntu-latest
244+
timeout-minutes: 15
240245
needs: [a2ml-validate, k9-validate, empty-lint, groove-check]
241246
if: always()
242247

.github/workflows/instant-sync.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ permissions:
1414
jobs:
1515
dispatch:
1616
runs-on: ubuntu-latest
17+
timeout-minutes: 15
1718
steps:
1819
- name: Trigger Propagation
1920
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v3
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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+
23+
## Protocol
24+
25+
When multiple agents may write to A2ML files concurrently:
26+
1. Read file and record git-sha-at-read in [provenance] section
27+
2. Lock by creating .lock-<FILENAME>
28+
3. Write updated file with new [provenance] metadata
29+
4. Release by removing lock file
30+
5. On conflict: re-read and retry if git-sha-at-read does not match HEAD
31+

.machine_readable/6a2/README.adoc

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// SPDX-License-Identifier: MPL-2.0
2+
// Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3+
# A2ML 6a2 Directory
4+
5+
This directory contains the 6 core A2ML machine-readable metadata files for this repository.
6+
7+
## Files
8+
9+
- `AGENTIC.a2ml` - AI agent operational gating, safety controls
10+
- `ECOSYSTEM.a2ml` - Project ecosystem position, relationships, explicit boundaries
11+
- `META.a2ml` - Architecture decisions (ADRs), development practices, design rationale
12+
- `NEUROSYM.a2ml` - Symbolic semantics, composition algebra
13+
- `PLAYBOOK.a2ml` - Executable plans, operational runbooks
14+
- `STATE.a2ml` - Project state, phase, milestones, session history
15+
16+
## Standards Compliance
17+
18+
These files follow the A2ML Format Family specification from:
19+
https://github.com/hyperpolymath/standards/tree/main/a2ml
20+
21+
## Generation
22+
23+
These files may be generated from .scm source files using transpilation tools.
24+
Source .scm files should be removed after successful transpilation.
25+
26+
## See Also
27+
28+
- [A2ML Repository Template](https://github.com/hyperpolymath/standards/blob/main/A2ML-REPO-TEMPLATE.adoc)
29+
- [6A2 Format Family](https://github.com/hyperpolymath/standards#a2ml-format-family-7-formats)
30+

0 commit comments

Comments
 (0)