|
1 | | -# ⚠️ STOP - CRITICAL READING REQUIRED |
| 1 | +# SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
| 3 | + |
| 4 | +# STOP - CRITICAL READING REQUIRED |
2 | 5 |
|
3 | 6 | **THIS FILE MUST BE READ FIRST BY ALL AI AGENTS** |
4 | 7 |
|
5 | 8 | ## WHAT IS THIS? |
6 | 9 |
|
7 | | -This is the AI manifest for **[YOUR-REPO-NAME]**. It declares: |
| 10 | +This is the AI manifest for **nimiser**. It declares: |
8 | 11 | - Canonical file locations (where things MUST be, and nowhere else) |
9 | 12 | - Critical invariants (rules that must NEVER be violated) |
10 | 13 | - Repository structure and organization |
11 | 14 |
|
| 15 | +Nimiser generates **high-performance C libraries** from high-level interface |
| 16 | +descriptions using Nim's compile-time metaprogramming system (templates, |
| 17 | +macros, generics). The user writes zero Nim code. |
| 18 | + |
12 | 19 | ## CANONICAL LOCATIONS (UNIVERSAL RULE) |
13 | 20 |
|
14 | 21 | ### Machine-Readable Metadata: `.machine_readable/` ONLY |
@@ -80,42 +87,44 @@ Policy enforcement contracts (k9, dust, lust, must, trust). |
80 | 87 | 6. **Container images** - MUST use Chainguard base (`cgr.dev/chainguard/wolfi-base:latest` or `cgr.dev/chainguard/static:latest`) |
81 | 88 | 7. **Container runtime** - Podman, never Docker. Files are `Containerfile`, never `Dockerfile` |
82 | 89 | 8. **Container orchestration** - `selur-compose`, never `docker-compose` |
| 90 | +9. **Nim-specific** - Generated Nim code uses `{.exportc.}` for C ABI; never expose Nim GC internals |
83 | 91 |
|
84 | 92 | ## REPOSITORY STRUCTURE |
85 | 93 |
|
86 | 94 | This repo follows the **Dual-Track** architecture: |
87 | 95 |
|
88 | 96 | ``` |
89 | | -[YOUR-REPO-NAME]/ |
| 97 | +nimiser/ |
90 | 98 | ├── 0-AI-MANIFEST.a2ml # THIS FILE (start here) |
91 | | -├── README.adoc # High-level orientation (Rich Human) |
92 | | -├── ROADMAP.adoc # Future direction |
| 99 | +├── README.adoc # Nim metaprogramming pipeline overview |
| 100 | +├── ROADMAP.adoc # Phase 0-6 with Nim-specific milestones |
| 101 | +├── TOPOLOGY.md # Module dependency graph |
93 | 102 | ├── CONTRIBUTING.adoc # Human contribution guide |
94 | | -├── GOVERNANCE.adoc # Decision-making model |
95 | 103 | ├── Justfile # Task runner |
| 104 | +├── Cargo.toml # Rust CLI build |
96 | 105 | ├── Containerfile # OCI build |
97 | | -├── LICENSE # Primary license |
| 106 | +├── LICENSE # PMPL-1.0-or-later |
98 | 107 | ├── src/ # Source code |
| 108 | +│ ├── main.rs # CLI entry point |
| 109 | +│ ├── lib.rs # Library API |
| 110 | +│ ├── manifest/ # nimiser.toml parser |
| 111 | +│ ├── codegen/ # Nim template/macro/generic generation |
| 112 | +│ ├── abi/ # Rust-side ABI types |
99 | 113 | │ └── interface/ # Verified Interface Seams |
100 | | -│ ├── abi/ # Idris2 ABI (The Spec) |
101 | | -│ ├── ffi/ # Zig FFI (The Bridge) |
102 | | -│ └── generated/ # C Headers (The Result) |
| 114 | +│ ├── abi/ # Idris2 ABI (NimTemplate, NimMacro, CompileTimeAST, CBackend) |
| 115 | +│ ├── ffi/ # Zig FFI (nimiser_* C functions) |
| 116 | +│ └── generated/ # C Headers (auto-generated) |
103 | 117 | ├── container/ # Stapeln container ecosystem |
104 | | -├── docs/ # Technical depths |
105 | | -│ ├── attribution/ # Citations, owners, maintainers (adoc) |
106 | | -│ ├── architecture/ # Topology, diagrams |
107 | | -│ ├── theory/ # Domain theory |
108 | | -│ └── practice/ # Manuals |
109 | | -├── docs/legal/ # Legal exhibits and full texts |
| 118 | +├── docs/ # Technical documentation |
110 | 119 | └── .machine_readable/ # ALL machine-readable metadata |
111 | 120 | ``` |
112 | 121 |
|
113 | 122 | ## SESSION STARTUP CHECKLIST |
114 | 123 |
|
115 | | -✅ Read THIS file (0-AI-MANIFEST.a2ml) first |
116 | | -✅ Understand canonical location: `.machine_readable/` |
117 | | -✅ State understanding of canonical locations |
| 124 | +Read THIS file (0-AI-MANIFEST.a2ml) first |
| 125 | +Understand canonical location: `.machine_readable/` |
| 126 | +State understanding of canonical locations |
118 | 127 |
|
119 | 128 | ## ATTESTATION PROOF |
120 | 129 |
|
121 | | -**"I have read the AI manifest. All machine-readable content (state files, anchors, policies, bot directives, contractiles, AI guides) is located in `.machine_readable/` ONLY, and community metadata is in `.github/`. I will not create duplicate files in the root directory."** |
| 130 | +**"I have read the AI manifest for nimiser. All machine-readable content (state files, anchors, policies, bot directives, contractiles, AI guides) is located in `.machine_readable/` ONLY, and community metadata is in `.github/`. I will not create duplicate files in the root directory."** |
0 commit comments