Per-repository configuration for eNSAID-compatible development environments.
eNSAID stands for Environment for NeSy-Agentic Integrated Development. It is the paradigm underpinning PanLL and any future neurosymbolic development environment that treats panels, clades, workflows, and ambient substrates as first-class concepts.
ENSAID_CONFIG.a2ml is a single configuration file placed in a repository’s
.machine_readable/ directory alongside other machine-readable artefacts
(STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml, etc.). It declares how PanLL (or any
eNSAID-compatible tool) should configure itself when loading that repository.
Think of it as .editorconfig for neurosymbolic development environments.
| Analogy | Purpose |
|---|---|
|
Tells editors how to format code (tabs, charset, line endings) |
|
Tells eNSAID tools how to orchestrate panels, workflows, clades, and workspaces |
The file uses UPPERCASE with underscores following the hyperpolymath naming
convention for non-executable machine-readable files — consistent with
STATE.a2ml, META.a2ml, ECOSYSTEM.a2ml, etc.
Repositories without ENSAID_CONFIG.a2ml work fine — eNSAID tools apply
sensible defaults (all panels available, standard workspace mode, no custom
workflows).
Repositories with ENSAID_CONFIG.a2ml get bespoke configuration: specific
panels enabled or disabled, custom automation rules, clade trait overrides,
tailored portfolios, and workspace protection policies.
# .machine_readable/ENSAID_CONFIG.a2ml
[ensaid] # Core identity and version
[workspace] # Workspace mode, protection, execution
[preferences] # Display and behaviour preferences
[panels] # Panel enablement, isolation tiers, endpoints
[workflows] # Automation router rules (event → condition → action)
[clades] # Clade overrides: capabilities, custom traits
[portfolios] # Custom portfolio definitions for this repo contextAll content uses the A2ML format (TOML-compatible markup for AI-readable configuration).
A game development repository might include:
# .machine_readable/ENSAID_CONFIG.a2ml
[ensaid]
version = "1.0.0"
tool = "panll"
[workspace]
mode = "rhodium"
protection = "open"
execution = "live"
[panels]
version = "1.0.0"
[[panels.enabled]]
id = "game-preview"
isolation = "native"
endpoint = "http://localhost:8080"
auto-connect = true
[panels.disabled]
ids = ["cloudguard", "aerie", "plaza"]This tells PanLL to load in rhodium mode with a game preview panel auto-connected to a local dev server.
The formal specification is in the spec/ directory:
-
ENSAID-CONFIG-SPEC.adoc — Complete specification
| Standard | Relationship |
|---|---|
|
Editor formatting (tab size, charset). |
|
Project state, governance, metadata (STATE.a2ml, META.a2ml, etc.).
|
|
AI agent entry point and invariants. |
|
If a repo uses a root-level |
Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>