All AI coding agents working in this repository MUST follow these rules. Per-tool config files (.cursorrules, .clinerules, etc.) reference this document.
-
Read
0-AI-MANIFEST.a2mlFIRST (mandatory gatekeeper). -
Read
.machine_readable/descriptiles/STATE.a2mlfor current status and blockers. -
Read
.machine_readable/descriptiles/anchors/ANCHOR.a2mlfor canonical authority boundaries. -
Read
.machine_readable/policies/MAINTENANCE-AXES.a2mlfor maintenance/audit sequencing. -
Read
.machine_readable/policies/MAINTENANCE-CHECKLIST.a2mlfor baseline controls. -
Read
.machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2mlfor execution order. -
Read
.machine_readable/descriptiles/AGENTIC.a2mlfor agent constraints.
-
All original code: MPL-2.0
-
Fallback (platform-required only): MPL-2.0 with comment explaining why.
-
NEVER use AGPL-3.0.
-
Preserve third-party licenses verbatim.
-
Every source file needs
# SPDX-License-Identifier: CC-BY-SA-4.0.
-
Name: Jonathan D.A. Jewell
-
Email: j.d.a.jewell@open.ac.uk
-
Copyright:
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
State/metadata files, anchors, and policies (.a2ml) belong in .machine_readable/ ONLY.
NEVER create STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml, AGENTIC.a2ml,
NEUROSYM.a2ml, PLAYBOOK.a2ml, ANCHOR.a2ml, MAINTENANCE-AXES.a2ml,
MAINTENANCE-CHECKLIST.a2ml, or SOFTWARE-DEVELOPMENT-APPROACH.a2ml in the repository root.
| Language | Banned | Reason |
|----------|-------------------------------------|---------------------------|
| Idris2 | believe_me, assert_total | Unsound escape hatches |
| Haskell | unsafeCoerce, unsafePerformIO | Breaks type safety |
| OCaml | Obj.magic, Obj.repr, Obj.obj | Unsafe casting |
| Coq | Admitted | Unproven assumption |
| Lean | sorry | Unproven assumption |
| Rust | transmute (unless FFI + SAFETY:) | Unsound reinterpret |
| Banned | Use Instead | |---------------------|--------------------| | TypeScript | ReScript | | Node.js / npm / bun | Deno | | Go | Rust | | Python | Julia / Rust |
-
Runtime: Podman (never Docker).
-
File: Containerfile (never Dockerfile).
-
Base images:
cgr.dev/chainguard/wolfi-base:latestorcgr.dev/chainguard/static:latest.
-
ABI definitions: Idris2 with dependent types (
src/abi/). -
FFI implementation: Zig with C ABI compatibility (
ffi/zig/). -
Generated C headers:
generated/abi/.
-
0-AI-MANIFEST.a2ml— universal AI entry point -
.machine_readable/descriptiles/AGENTIC.a2ml— agent permissions and constraints -
.machine_readable/descriptiles/STATE.a2ml— current project state -
.machine_readable/descriptiles/anchors/ANCHOR.a2ml— canonical authority and policy boundary -
.machine_readable/policies/MAINTENANCE-AXES.a2ml— canonical axis sequencing and audit requirements -
.machine_readable/policies/MAINTENANCE-CHECKLIST.a2ml— baseline maintenance checklist policy -
.machine_readable/policies/SOFTWARE-DEVELOPMENT-APPROACH.a2ml— axis execution approach policy