Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

ENSAID_CONFIG.a2ml

Per-repository configuration for eNSAID-compatible development environments.

What is eNSAID?

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.

What is ENSAID_CONFIG.a2ml?

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

.editorconfig

Tells editors how to format code (tabs, charset, line endings)

.machine_readable/ENSAID_CONFIG.a2ml

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.

Drop-in Design

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.

File Sections

# .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 context

All content uses the A2ML format (TOML-compatible markup for AI-readable configuration).

Quick Example

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.

Specification

The formal specification is in the spec/ directory:

Relationship to Other Standards

Standard Relationship

.editorconfig

Editor formatting (tab size, charset). ENSAID_CONFIG.a2ml is for development environment orchestration — a higher-level concern.

.machine_readable/ (siblings)

Project state, governance, metadata (STATE.a2ml, META.a2ml, etc.). ENSAID_CONFIG.a2ml shares the directory but focuses on tooling preferences, not project semantics.

0-AI-MANIFEST.a2ml

AI agent entry point and invariants. ENSAID_CONFIG.a2ml is specifically for eNSAID tool configuration, not general AI gating.

PANELS.a2ml

If a repo uses a root-level PANELS.a2ml for panel manifest, the [panels] section in ENSAID_CONFIG.a2ml supersedes it when present.

License

Palimpsest License v1.0 (PMPL-1.0-or-later). Copyright (c) 2026 Jonathan D.A. Jewell.

Author

Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>