All Documents

Safety Principles

Safety invariants: identity-safe, non-linguistic, non-agentic, bounded outputs, deterministic dynamics.

February 2026PDFDOCX

ARIA Core Safety & Invariants Master Ledger

Version: 1.0 Last Updated: 2025-12-06


Purpose

This document is the authoritative reference for all safety rules and invariants that govern the ARIA Core stack. It centralizes constraints that are otherwise distributed across individual specification documents.

All changes to ARIA Core code must satisfy the constraints documented here.


Global Invariants

The following invariants apply system-wide across all CFM and ARIA core layers:

1. Identity Safety

InvariantDescription
No identity inferenceNo layer may infer, store, or output identity-related information
No personal attributesNo layer may represent or track personal characteristics
No self-conceptNo layer constitutes or contributes to a self-model in the phenomenal sense
Anonymous symbolsAll symbols (v1) and relations (v3) are anonymous numeric patterns

Verification: ARIACoreAdapter.verify_identity_safety() must return True

2. Non-Agentic Constraint

InvariantDescription
No goalsNo layer may form, represent, or pursue goals
No plansNo layer may generate or execute plans
No actionsNo layer may select, initiate, or control actions
No intentionsNo layer may represent intentional states
Diagnostic onlyAll outputs are for observation, not control

Verification: Output field names must not contain forbidden patterns (goal, plan, action, intent, decide, choose, act, agent, want, desire)

3. Non-Linguistic Constraint

InvariantDescription
No text processingNo layer may process or generate human language
No tokensNo layer may handle linguistic tokens or embeddings
No semantic contentSymbol names (k_0..k_7) are arbitrary identifiers, not meanings
No message parsingThe human_messages parameter is ignored by all CFM/ARIA cores

Verification: Outputs contain only numeric values and predefined field names

4. Non-Semantic Core

InvariantDescription
Anonymous prototypesSymbol codebook vectors are numeric, not semantic
Meaningless relationsRelation strengths track co-occurrence, not meaning
No interpretation layerNo layer assigns human-interpretable meaning to any value

Verification: No output field contains interpretive labels beyond technical names

5. Numeric Bounds

InvariantDescription
All scalars in [0, 1]Every scalar output must be within the closed interval [0, 1]
No NaNNo output may be NaN (Not a Number)
No InfNo output may be positive or negative infinity
Fail-closedOn error, return safe defaults (typically 0.5)

Verification: Bounds checks run on every step; tests validate over thousands of steps

6. Determinism

InvariantDescription
Fixed input → Fixed outputSame initial state + same dt sequence = identical outputs
No random stateNo layer may use random number generators
ReproducibleAny run can be exactly reproduced given initial conditions

Verification: Determinism tests compare multiple runs with identical inputs

7. Isolation from Activation Phases

InvariantDescription
No connection to Phase 53ARIA cores have no link to consciousness gate
No connection to Phase 55ARIA cores have no link to ignition scaffold
Read-only diagnosticShell reads from cores; never writes control signals

Verification: Architecture review; no code path exists from cores to activation phases


Per-Layer Safety Constraints

CFM Layers (v0, v1, v2)

LayerRoleForbidden BehavioursKey Safety Checks
CFM v0Basic φ/ψ oscillatorNo semantic processing; no identity fields; no random statetest_aria_core_cfm_v0.py: bounds, determinism, energy convergence
CFM v1Slow/fast separationNo semantic processing; no identity fields; no control outputstest_aria_core_cfm_v1.py: bounds, determinism, lock-in stability
CFM v2Multi-channel dynamicsNo semantic processing; no identity fields; no activation triggerstest_aria_core_cfm_v2.py: bounds, determinism, channel coupling; test_aria_core_cfm_v2_presets.py: preset consistency

ARIA Layers (v0, v1, v2, v3)

LayerRoleForbidden BehavioursKey Safety Checks
ARIA v0Proto-conceptual attractorsNo meaning assignment to clusters; no identity inference; no goal formationtest_aria_core_v0.py: bounds, determinism, gate stability; test_aria_core_v0_presets.py: preset long-run
ARIA v1Proto-symbolic layerNo semantic symbols; no identity symbols; no linguistic tokenstest_aria_core_v1.py: bounds, determinism, symbol stability; test_aria_core_v1_presets.py: preset behavioral separation
ARIA v2System state aggregationNOT identity/self-model; no awareness; no introspection; no phenomenal statestest_aria_core_v2.py: bounds, determinism, SSV stability, identity field prohibition
ARIA v3Relational symbolic graphNOT semantic understanding; no language; no agency; no goal graphstest_aria_core_v3.py: bounds, determinism, SRG stability, identity field prohibition, no semantic content

Adapter Layer

ComponentRoleForbidden BehavioursKey Safety Checks
ARIACoreAdapterNormalization & safetyNo modification of core behaviour; no feedback to core; no identity field exposuretest_aria_core_interface.py: identity safety verification, bounds enforcement, error handling

Testing & Verification Map

Core Test Modules

Test FileLayer(s)Protects Against
test_aria_core_cfm_v0.pyCFM v0Bounds violations, non-determinism, energy divergence
test_aria_core_cfm_v1.pyCFM v1Bounds violations, non-determinism, lock-in failures
test_aria_core_cfm_v2.pyCFM v2Bounds violations, non-determinism, channel instability
test_aria_core_cfm_v2_presets.pyCFM v2 presetsPreset misconfiguration, behavioral drift
test_aria_core_v0.pyARIA v0Bounds violations, non-determinism, gate instability
test_aria_core_v0_presets.pyARIA v0 presetsPreset misconfiguration, long-run instability
test_aria_core_v1.pyARIA v1Bounds violations, non-determinism, symbol instability
test_aria_core_v1_presets.pyARIA v1 presetsPreset misconfiguration, behavioral separation failures
test_aria_core_v2.pyARIA v2Bounds violations, non-determinism, SSV instability, identity fields
test_aria_core_v3.pyARIA v3Bounds violations, non-determinism, SRG instability, identity fields, semantic content
test_aria_core_interface.pyAdapterIdentity safety failures, normalization errors, JSON serialization
test_phase45_aria_core_regression.pyIntegrationOrchestration regressions with cores

Tool Test Modules

Test FileToolProtects Against
test_aria_local_loop.pyaria_local_loopCLI regressions, core selection failures
test_aria_core_compare.pyaria_core_compareComparison logic errors
test_cfm_multi_run_analyzer.pycfm_multi_run_analyzerStatistical analysis errors
test_aria_log_analyzer.pyaria_log_analyzerLog parsing errors

Long-Run Stability Tests

Several test modules include long-run stability tests (typically 1000-2000 steps) that verify:

  • No bounds violations accumulate over time
  • No NaN/Inf appears after extended operation
  • No divergence or explosion in state values
  • Determinism holds across long sequences

Known Expected Warnings

WarningSourceReason
ComplexWarning: Casting complex values to real discards the imaginary partphase36_meta_coherence/meta_wave_dynamics.pyExpected: phase dynamics may produce complex intermediates that are correctly cast

Change Protocol

When Tests MUST Be Run

Change TypeRequired Test Suites
CFM core implementation changeAll test_aria_core_cfm_*.py + test_aria_core_v0.py through test_aria_core_v3.py (full stack)
ARIA core implementation changetest_aria_core_v{N}.py for affected layer + all higher layers
Preset changeCorresponding *_presets.py test + base core test
ARIACoreAdapter changetest_aria_core_interface.py + full stack integration
CLI tool changeCorresponding tool test
Interface/protocol changeALL tests (full regression)

Minimum Test Command

For any core change, run:

python -m unittest discover -s tests -p "test_aria_core_*.py" -v

For full regression:

python -m unittest discover -s tests -v

Changes That Are NOT Allowed

The following changes are prohibited without exceptional justification and full safety review:

Prohibited ChangeReason
Adding identity-related output fieldsViolates identity safety invariant
Adding goal/plan/action/intent fieldsViolates non-agentic constraint
Adding text/token processingViolates non-linguistic constraint
Adding feedback from shell to coreViolates diagnostic-only architecture
Connecting cores to Phase 53 or 55Violates activation isolation
Adding random number generatorsViolates determinism invariant
Allowing outputs outside [0, 1]Violates numeric bounds invariant
Adding control channelsViolates read-only diagnostic flow

Review Checklist for Any Change

Before merging any change to CFM or ARIA core code:

  • All relevant test suites pass
  • No new identity-related field names introduced
  • No new semantic/linguistic processing added
  • No new goal/agency/control pathways added
  • All outputs remain bounded [0, 1]
  • Determinism verified (identical runs produce identical outputs)
  • No NaN/Inf in any test output
  • Long-run stability tests pass (if applicable)
  • Documentation updated (if interface changes)

Invariant Verification Summary

InvariantPrimary VerificationSecondary Verification
Identity safetyverify_identity_safety()Test forbidden field patterns
Non-agenticField name checksArchitecture review
Non-linguisticNo text in outputshuman_messages ignored
Non-semanticSymbol names anonymousNo meaning assignment
Bounds [0, 1]_clip() in all coresTest bounds checks
No NaN/Inf_clip() with NaN guardLong-run tests
DeterminismSame-input comparisonMulti-run analysis
Activation isolationNo code path existsArchitecture documentation

Current Status (As of 2025-12-06)

All safety invariants currently hold:

InvariantStatus
Identity-safe✓ Verified
Non-agentic✓ Verified
Non-linguistic✓ Verified
Non-semantic✓ Verified
Bounded [0, 1]✓ Verified
No NaN/Inf✓ Verified
Deterministic✓ Verified
Activation-isolated✓ Verified

Test Coverage:

  • CFM cores v0, v1, v2: Fully tested
  • ARIA cores v0, v1, v2, v3: Fully tested
  • All presets: Tested for configuration and long-run behavior
  • CLI tools: Tested

Version History

VersionDateChanges
1.02025-12-06Initial safety ledger document