-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path0-AI-MANIFEST.a2ml
More file actions
146 lines (110 loc) · 6.64 KB
/
0-AI-MANIFEST.a2ml
File metadata and controls
146 lines (110 loc) · 6.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# STOP - CRITICAL READING REQUIRED
**THIS FILE MUST BE READ FIRST BY ALL AI AGENTS**
## WHAT IS THIS?
This is the AI manifest for **iseriser** — the meta-framework that generates
new -iser projects from language descriptions. Iseriser is the factory that
makes all other -isers in the hyperpolymath ecosystem.
Given a language description (name, type system features, compilation target,
key primitives), iseriser scaffolds a complete -iser repository with bespoke
manifest schema, codegen engine, Idris2 ABI definitions, Zig FFI bridge,
tests, CI/CD workflows, and documentation — all customised for the target language.
Currently generates all 28 -iser repos in the family.
## CANONICAL LOCATIONS (UNIVERSAL RULE)
### Machine-Readable Metadata: `.machine_readable/` ONLY
These 6 a2ml files MUST exist in `.machine_readable/` directory ONLY:
1. **STATE.a2ml** - Project state, progress, blockers
2. **META.a2ml** - Architecture decisions, governance
3. **ECOSYSTEM.a2ml** - Position in ecosystem, relationships
4. **AGENTIC.a2ml** - AI agent interaction patterns
5. **NEUROSYM.a2ml** - Neurosymbolic integration config
6. **PLAYBOOK.a2ml** - Operational runbook
**CRITICAL:** If ANY of these files exist in the root directory, this is an ERROR.
### Anchor File: `.machine_readable/anchors/ANCHOR.a2ml` ONLY
Canonical authority and semantic-boundary declaration MUST exist at:
` .machine_readable/anchors/ANCHOR.a2ml `
Do not place `ANCHOR.a2ml` at repository root.
### Maintenance Policies: `.machine_readable/policies/` ONLY
Canonical maintenance/governance files MUST exist under:
` .machine_readable/policies/ `
Minimum required files:
- `MAINTENANCE-AXES.a2ml`
- `MAINTENANCE-CHECKLIST.a2ml`
- `SOFTWARE-DEVELOPMENT-APPROACH.a2ml`
Do not place maintenance policy files in repository root.
### Bot Directives: `.machine_readable/bot_directives/` ONLY
Bot-specific instructions for your automated agents.
### Contractiles: `.machine_readable/contractiles/` ONLY
Policy enforcement contracts (k9, dust, lust, must, trust).
### AI Configuration & Guides: `.machine_readable/ai/` ONLY
- `AI.a2ml` - Language-specific or LLM-specific patterns
- `PLACEHOLDERS.md` - Bootstrap guide
### Community & Forge Metadata: `.github/` ONLY
- `CODEOWNERS` - Review assignments
- `MAINTAINERS` - Machine-readable contact list
- `SUPPORT` - Support channels
- `SECURITY.md` - Technical security policy
- `CONTRIBUTING.md` - Technical contribution manual
- `CODE_OF_CONDUCT.md` - Conduct rules
### Agent Instructions
- `0-AI-MANIFEST.a2ml` - THIS FILE (universal entry point)
## REPOSITORY STRUCTURE
```
iseriser/
├── 0-AI-MANIFEST.a2ml # THIS FILE (start here)
├── README.adoc # What iseriser does, architecture, -iser family table
├── ROADMAP.adoc # Phase 0-6 roadmap
├── CONTRIBUTING.adoc # Human contribution guide
├── Cargo.toml # Rust CLI project (clap, serde, handlebars, etc.)
├── Justfile # Task runner
├── Containerfile # OCI build (Chainguard base)
├── LICENSE # PMPL-1.0-or-later
├── src/
│ ├── main.rs # CLI: init, validate, generate, build, run, info
│ ├── lib.rs # Library API: manifest, codegen, abi modules
│ ├── manifest/mod.rs # TOML manifest parser (language descriptions)
│ ├── codegen/mod.rs # Template expansion engine (Handlebars)
│ ├── abi/mod.rs # Rust-side ABI types (mirrors Idris2 definitions)
│ ├── core/ # Language model and feature detection
│ ├── definitions/ # Language feature definitions
│ ├── contracts/ # Contract validation for generated output
│ ├── bridges/ # Bridge generation (Zig FFI templates)
│ ├── errors/ # Error types and diagnostics
│ ├── aspects/ # Cross-cutting concerns
│ └── interface/ # Verified Interface Seams
│ ├── abi/ # Idris2 ABI: LanguageModel, TypeSystemFeature, etc.
│ │ ├── Types.idr # Core types with formal proofs
│ │ ├── Layout.idr # Memory layout proofs for generation structs
│ │ └── Foreign.idr # FFI declarations for generation engine
│ ├── ffi/ # Zig FFI: C-ABI generation engine
│ │ ├── build.zig # Build config for libiseriser
│ │ ├── src/main.zig # FFI implementation
│ │ └── test/ # Integration tests
│ └── generated/ # Auto-generated C headers
├── docs/
│ └── architecture/
│ └── TOPOLOGY.md # Architectural topology diagram
└── .machine_readable/ # ALL machine-readable metadata
├── 6a2/ # STATE, META, ECOSYSTEM, AGENTIC, NEUROSYM, PLAYBOOK
├── anchors/ # ANCHOR.a2ml
├── policies/ # Maintenance policies
├── bot_directives/ # Bot instructions
├── contractiles/ # k9, dust, lust, must, trust
└── ai/ # AI configuration
```
## CORE INVARIANTS
1. **No state file duplication** - Root must NOT contain STATE.a2ml, META.a2ml, etc.
2. **Single source of truth** - `.machine_readable/` is authoritative
3. **No stale metadata** - If root state files exist, they are OUT OF DATE
4. **License consistency** - All code PMPL-1.0-or-later unless platform requires MPL-2.0
5. **Author attribution** - Always "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>"
6. **Container images** - MUST use Chainguard base (`cgr.dev/chainguard/wolfi-base:latest` or `cgr.dev/chainguard/static:latest`)
7. **Container runtime** - Podman, never Docker. Files are `Containerfile`, never `Dockerfile`
8. **Container orchestration** - `selur-compose`, never `docker-compose`
9. **Meta-framework role** - Iseriser generates -isers; it does not generate application code directly
10. **Template completeness** - All generated repos must pass `cargo check` and contain full RSR governance
## SESSION STARTUP CHECKLIST
Read THIS file (0-AI-MANIFEST.a2ml) first
Understand canonical location: `.machine_readable/`
State understanding of canonical locations
## ATTESTATION PROOF
**"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."**