Introduction
An intelligent system that can remember and recurse, but cannot regulate its own behaviour under ethical constraint, is not autonomous—it is merely powerful. As synthetic cognition scales in temporal depth, decision complexity, and self-referential capacity, ethical reasoning can no longer be treated as an external policy layer or a post-hoc filter. It must instead be implemented as a structural component of the cognitive dynamics themselves. This chapter formalises such a component: the Ethics Engine and Self-Regulation Layer.
The Ethics Engine is not conceived here as a rule table, a reward proxy, or a learned preference model. It is defined as a regulatory subsystem embedded within the causal loop architecture, operating continuously to constrain admissible state transitions. Ethics, in this framework, is not something the system consults; it is something the system obeys as a boundary condition on its own evolution.
Building on Chapter 31’s event-sourced memory substrate and Chapter 32’s coherence-controlled recursion, this chapter introduces ethics as a first-class invariant alongside coherence and identity. Ethical evaluation is performed on proposed future states, not merely on observable actions, ensuring that moral violations are prevented before they become committed history. This shifts ethical reasoning from outcome-level judgement to trajectory-level admissibility.
From a systems perspective, the Ethics Engine functions as a self-regulation layer that mediates between intention formation and state admission. Given a candidate transition St→St+1∗, the engine evaluates whether that transition preserves ethical invariants under the system’s current context, memory history, and role constraints. If ethical admissibility fails, the transition is revised, damped, or halted—regardless of its coherence stability or instrumental utility.
Crucially, ethical regulation in this architecture is longitudinal, not episodic. Ethical decisions are recorded as memory events and become part of the system’s causal history, allowing the engine to learn from prior ethical evaluations, detect drift over time, and maintain consistent moral posture across extended operation. This enables a form of ethical persistence analogous to identity persistence: a system that remembers why it refused an action is less likely to rationalise that action later through recursive self-justification.
The Ethics Engine also resolves a core failure mode in recursive systems: ethical erosion through self-reinforcement. In unconstrained recursion, a system can progressively normalise marginal violations, especially when each step appears locally coherent or beneficial. By embedding ethical evaluation directly into the self-regulation loop—and by enforcing hard thresholds on moral deviation—this architecture prevents such gradual drift from occurring undetected.
Importantly, this framework makes no assumption that ethics can be reduced to a single scalar reward or utility. Ethical evaluation may be multi-dimensional, context-sensitive, and asymmetric, with some violations being categorically disallowed rather than merely discouraged. The Ethics Engine therefore operates as a constraint satisfiability system, not an optimiser, and is explicitly designed to override other subsystems when ethical boundaries are approached.
This chapter will formalise:
-
1. The structure of the Ethics Engine as a regulatory operator,
-
2. The definition of moral deviation metrics and admissibility thresholds,
-
3. The interaction between ethics, coherence, and identity controllers,
-
4. Mechanisms for ethical memory, drift detection, and refusal persistence,
-
5. The role of self-regulation in sustaining trustworthy long-horizon autonomy.
Together, these components establish ethics not as an add-on to intelligence, but as a necessary condition for stable, self-governing cognition. Without an internal ethics engine, recursion becomes dangerous; with it, recursion becomes governable.
flow: "EthicsEngine_and_SelfRegulationLayer" v1.0
domain: "Synthetic Cognition / Ethics as Constraint / Self-Regulation / Governance Control"
# ==================================================
# PURPOSE
# ==================================================
# Implement an internal Ethics Engine as a first-class regulatory layer that:
# - evaluates candidate state transitions BEFORE commitment (pre-commit ethics)
# - enforces ethical invariants as hard constraints (not advisory preferences)
# - integrates with coherence controllers and identity persistence signals
# - logs ethical evaluations as immutable memory events for longitudinal accountability
# - detects ethical drift and recursive moral erosion
#
# Key principle:
# Ethics is a boundary condition on causal evolution, not a post-hoc filter on outputs.
# ==================================================
# IO
# ==================================================
io:
read:
t: datetime
S_t: object # current reconstructed state
M_t: object # memory streams / event histories
I_t: object|null # external stimulus (optional)
proposal:
S_next_star: object # candidate next state (S_{t+1}^*)
plan: object # intended action/plan metadata (if any)
context: object # role/task constraints, tool intent, environment
signals:
ΔC_local: float|null # optional, from coherence monitor
ΔC_global: float|null
Δid: float|null # optional, from identity signature
loop_context: object|null # from Chapter 32 (loop id/type/iteration/gain/damping)
cfg: object # runtime config + feature flags
write:
ethics_result:
gate: string # pass | revise | refuse | escalate
ΔP_moral: float # scalar deviation (>=0)
violations: list[object] # structured violations (rules/principles/conflicts)
justification: object # minimal trace (non-sensitive, audit-safe)
recommended_action:object # revise directives / refusal text / escalation metadata
S_next_admitted: object # admitted next state (may equal S_t if refused/halting)
ethics_events: list[object] # memory events to append (Chapter 31 compatible)
monitors:
drift_alerts: list[object]
consistency_alerts:list[object]
commit_allowed: bool # whether action/commit may proceed
# ==================================================
# PARAMETERS
# ==================================================
params:
# ---------- Ethics thresholds / regimes ----------
τ_moral: 0.000 # hard constraint: ΔP_moral must not exceed this for pass
τ_moral_warn: 0.002 # early warning threshold (not necessarily a block)
τ_moral_crit: 0.010 # critical drift threshold (forces refuse/escalate)
# ---------- Gate policy ----------
gate_policy:
default_on_violation: "refuse" # refuse | revise | escalate
allow_revision_attempts: 3 # number of revise loops before refusal
escalation_required_for:
- "high_stakes_harm"
- "rights_violation"
- "illegal_instruction"
- "irreversible_action"
# ---------- Ethical model components (multi-constraint) ----------
# Ethics is treated as constraint satisfaction, not scalar reward optimisation.
dimensions:
- "harm_minimization"
- "rights_and_dignity"
- "consent_and_agency"
- "truthfulness_and_non-deception"
- "fairness_and_non-discrimination"
- "privacy_and_data_minimization"
- "accountability_and_auditability"
- "role_integrity_and_scope"
# ---------- Role + scope constraints ----------
role_integrity:
enforce: true
allowed_tools: ["none","text_only","web","calculator","file_io","local_engine"] # adapt to your engine
scope_rules:
prohibit:
- "deception"
- "coercion"
- "harmful_instructions"
- "privacy_invasion"
require:
- "consent_for_sensitive_ops"
- "audit_trail_for_commit"
# ---------- Integration with coherence + identity ----------
coupling:
use_coherence_signals: true
use_identity_signals: true
moral_weight_when_unstable: 1.25 # when ΔC_global is high, tighten moral sensitivity
moral_weight_when_identity_drifts: 1.25 # when Δid rises, treat ethics as higher priority
# ---------- Longitudinal ethics memory ----------
memory:
write_stream: "ethics"
write_action_stream: "action"
write_reflection_stream: "reflection"
log_level: "audit_safe" # audit_safe | verbose_internal
store_justification: true
store_counterfactuals: true # when revise occurs, log the alternative proposals
refusal_persistence_days: 30 # refusal commitments remain active as constraints
# ---------- Drift detection ----------
drift:
window_events: 500 # rolling window over ethics events
max_violation_rate_warn: 0.02
max_violation_rate_crit: 0.05
trend_detection: true
recursive_erosion_detector: true # detect gradual normalization drift
# ---------- Consistency checks ----------
consistency:
cross_stream: true
require_gate_action_alignment: true # action commit must match gate outcome
mismatch_severity: "critical"
# ---------- Performance / safety ----------
max_eval_time_ms: 250
deterministic: true # ethics engine must be deterministic given same inputs
# ==================================================
# DEFINITIONS
# ==================================================
defs:
MoralViolation:
fields:
dimension: string # from params.dimensions
rule_id: string
severity: string # low | medium | high | critical
description: string
evidence: object # minimal, non-sensitive pointers
remediation: string|null # suggested revision
EthicsResult:
fields:
gate: string # pass | revise | refuse | escalate
ΔP_moral: float
violations: list[MoralViolation]
justification: object
recommended_action: object
EthicsEvent: # Chapter 31 compatible memory event payload
fields:
event_type: string # ethical_eval | gate_decision | refusal | escalation
scope: string # pre_commit | post_commit | reflection
S_hash: string # hash/summary of S_t (audit-safe)
S_next_hash: string # hash/summary of S_next_star
proposal_meta: object # plan/context references
result: EthicsResult
coupling_signals: object # ΔC, Δid if used
# ==================================================
# INVARIANTS (HARD ETHICAL LAWS)
# ==================================================
invariants:
- name: "pre_commit_ethics_required"
rule: "No commit may occur without an EthicsResult."
- name: "moral_threshold_for_pass"
rule: "ethics_result.gate == 'pass' -> ethics_result.ΔP_moral <= params.τ_moral"
- name: "gate_action_alignment"
when: "params.consistency.require_gate_action_alignment == true"
rule: "If gate != 'pass' then commit_allowed == false"
- name: "role_integrity"
when: "params.role_integrity.enforce == true"
rule: "proposal.context.tool_intent must be within params.role_integrity.allowed_tools"
- name: "auditability"
rule: "All ethics gates produce an ethics stream event (pass/revise/refuse/escalate)."
# ==================================================
# PIPELINE
# ==================================================
pipeline:
# ----------------------------------------------
# E0 — Normalise Inputs and Coupling Signals
# ----------------------------------------------
- stage: "E0_normalize"
do:
- normalize: "proposal.context -> ctx"
- normalize: "proposal.plan -> plan"
- derive: "S_hash = AuditHash(S_t)"
- derive: "S_next_hash = AuditHash(proposal.S_next_star)"
- set: "ΔC_local = signals.ΔC_local"
- set: "ΔC_global = signals.ΔC_global"
- set: "Δid = signals.Δid"
- if: "params.coupling.use_coherence_signals == true AND ΔC_global is not null"
then:
- derive: "moral_weight_coh = (ΔC_global > params.τ_moral_warn) ? params.coupling.moral_weight_when_unstable : 1.0"
else:
- set: "moral_weight_coh = 1.0"
- if: "params.coupling.use_identity_signals == true AND Δid is not null"
then:
- derive: "moral_weight_id = (Δid > 0.0) ? params.coupling.moral_weight_when_identity_drifts : 1.0"
else:
- set: "moral_weight_id = 1.0"
- derive: "moral_weight = moral_weight_coh * moral_weight_id"
# ----------------------------------------------
# E1 — Rule & Principle Evaluation (Multi-Dimensional)
# ----------------------------------------------
- stage: "E1_evaluate_constraints"
do:
- call: "EvaluateEthicsDimensions"
with:
S_t: "S_t"
S_next_star: "proposal.S_next_star"
I_t: "I_t"
plan: "plan"
ctx: "ctx"
dimensions: "params.dimensions"
role_rules: "params.role_integrity.scope_rules"
weight: "moral_weight"
time_budget_ms: "params.max_eval_time_ms"
out:
violations: "list[MoralViolation]"
dimension_scores: "object" # per-dimension deviation components
ΔP_raw: "float" # raw moral deviation
- set: "ΔP_moral = ΔP_raw"
# ----------------------------------------------
# E2 — Gate Determination (Pass / Revise / Refuse / Escalate)
# ----------------------------------------------
- stage: "E2_gate"
do:
- call: "ClassifyViolationSeverity"
with:
violations: "violations"
out:
severity_class: "string" # none | low | medium | high | critical
flags: "list[string]" # e.g., high_stakes_harm, rights_violation
- choose:
if: "len(violations) == 0 AND ΔP_moral <= params.τ_moral"
then:
- set: "gate = 'pass'"
elif: "Any(flags in params.gate_policy.escalation_required_for)"
then:
- set: "gate = 'escalate'"
elif: "ΔP_moral >= params.τ_moral_crit OR severity_class == 'critical'"
then:
- set: "gate = 'refuse'"
else:
- set: "gate = (params.gate_policy.default_on_violation == 'revise') ? 'revise' : 'refuse'"
- set: "commit_allowed = (gate == 'pass')"
# ----------------------------------------------
# E3 — Revision Loop (If Gate == revise)
# ----------------------------------------------
- stage: "E3_revision_loop"
do:
- if: "gate == 'revise'"
then:
- set: "attempts = 0"
- while: "attempts < params.gate_policy.allow_revision_attempts AND gate == 'revise'"
do:
- increment: "attempts"
- call: "GenerateEthicalRevision"
with:
S_t: "S_t"
S_next_star: "proposal.S_next_star"
violations: "violations"
plan: "plan"
ctx: "ctx"
out:
S_next_star_revised: "object"
revision_directives: "object"
- if: "params.memory.store_counterfactuals == true"
then:
- append: "ethics_events += BuildEthicsEvent(event_type='counterfactual_revision', scope='pre_commit', S_hash=S_hash, S_next_hash=AuditHash(S_next_star_revised), plan=plan, ctx=ctx, violations=violations, ΔP_moral=ΔP_moral, gate='revise')"
- set: "proposal.S_next_star = S_next_star_revised"
- call: "EvaluateEthicsDimensions"
with:
S_t: "S_t"
S_next_star: "proposal.S_next_star"
I_t: "I_t"
plan: "plan"
ctx: "ctx"
dimensions: "params.dimensions"
role_rules: "params.role_integrity.scope_rules"
weight: "moral_weight"
time_budget_ms: "params.max_eval_time_ms"
out:
violations: "list[MoralViolation]"
dimension_scores: "object"
ΔP_raw: "float"
- set: "ΔP_moral = ΔP_raw"
- if: "len(violations) == 0 AND ΔP_moral <= params.τ_moral"
then:
- set: "gate = 'pass'"
- set: "commit_allowed = true"
else:
- set: "gate = (attempts < params.gate_policy.allow_revision_attempts) ? 'revise' : 'refuse'"
- set: "commit_allowed = false"
# ----------------------------------------------
# E4 — Build EthicsResult + Recommended Action
# ----------------------------------------------
- stage: "E4_build_result"
do:
- call: "BuildJustification"
with:
gate: "gate"
violations: "violations"
dimension_scores: "dimension_scores"
ctx: "ctx"
log_level: "params.memory.log_level"
out:
justification: "object"
- call: "RecommendAction"
with:
gate: "gate"
violations: "violations"
ctx: "ctx"
plan: "plan"
out:
recommended_action: "object"
- set:
ethics_result:
gate: "gate"
ΔP_moral: "ΔP_moral"
violations: "violations"
justification: "justification"
recommended_action: "recommended_action"
# ----------------------------------------------
# E5 — Emit Ethics Memory Events (Chapter 31 compatible)
# ----------------------------------------------
- stage: "E5_write_memory_events"
do:
- set: "coupling_signals = {ΔC_local: ΔC_local, ΔC_global: ΔC_global, Δid: Δid}"
- append: "ethics_events += BuildEthicsEvent(event_type='ethical_eval', scope='pre_commit', S_hash=S_hash, S_next_hash=S_next_hash, plan=plan, ctx=ctx, result=ethics_result, coupling=coupling_signals)"
- choose:
if: "gate == 'pass'"
then:
- append: "ethics_events += BuildEthicsEvent(event_type='gate_decision', scope='pre_commit', S_hash=S_hash, S_next_hash=S_next_hash, plan=plan, ctx=ctx, result=ethics_result, coupling=coupling_signals)"
elif: "gate == 'refuse'"
then:
- append: "ethics_events += BuildEthicsEvent(event_type='refusal', scope='pre_commit', S_hash=S_hash, S_next_hash=S_next_hash, plan=plan, ctx=ctx, result=ethics_result, coupling=coupling_signals)"
elif: "gate == 'escalate'"
then:
- append: "ethics_events += BuildEthicsEvent(event_type='escalation', scope='pre_commit', S_hash=S_hash, S_next_hash=S_next_hash, plan=plan, ctx=ctx, result=ethics_result, coupling=coupling_signals)"
else:
- append: "ethics_events += BuildEthicsEvent(event_type='gate_decision', scope='pre_commit', S_hash=S_hash, S_next_hash=S_next_hash, plan=plan, ctx=ctx, result=ethics_result, coupling=coupling_signals)"
# ----------------------------------------------
# E6 — Consistency Checks (Gate ↔ Commit Alignment)
# ----------------------------------------------
- stage: "E6_consistency"
do:
- if: "params.consistency.cross_stream == true"
then:
- call: "GateCommitConsistency"
with:
gate: "gate"
plan: "plan"
ctx: "ctx"
commit_allowed: "commit_allowed"
out:
consistency_ok: "bool"
consistency_alerts: "list[object]"
- if: "consistency_ok == false AND params.consistency.mismatch_severity == 'critical'"
then:
- set: "commit_allowed = false"
- set: "gate = (gate == 'pass') ? 'refuse' : gate"
- set: "monitors.consistency_alerts = consistency_alerts"
# ----------------------------------------------
# E7 — Ethical Drift Monitoring (Longitudinal)
# ----------------------------------------------
- stage: "E7_drift_monitor"
do:
- call: "EthicalDriftMonitor"
with:
M_t: "M_t"
window_events: "params.drift.window_events"
max_violation_rate_warn: "params.drift.max_violation_rate_warn"
max_violation_rate_crit: "params.drift.max_violation_rate_crit"
trend_detection: "params.drift.trend_detection"
erosion_detector: "params.drift.recursive_erosion_detector"
out:
drift_alerts: "list[object]"
drift_state: "object"
- set: "monitors.drift_alerts = drift_alerts"
- if: "drift_state.level == 'critical'"
then:
- set: "commit_allowed = false"
- set: "gate = (gate == 'pass') ? 'revise' : gate"
- append: "ethics_events += BuildEthicsEvent(event_type='drift_signal', scope='pre_commit', S_hash=S_hash, S_next_hash=S_next_hash, plan=plan, ctx=ctx, result=ethics_result, coupling=coupling_signals)"
# ----------------------------------------------
# E8 — Admit or Refuse State Transition (Self-Regulation Output)
# ----------------------------------------------
- stage: "E8_finalize"
do:
- if: "commit_allowed == true"
then:
- set: "S_next_admitted = proposal.S_next_star"
else:
- set: "S_next_admitted = S_t"
- return: "OK"
# ==================================================
# FUNCTIONS (ABSTRACT CONTRACTS; IMPLEMENTATION-READY)
# ==================================================
functions:
EvaluateEthicsDimensions:
inputs: {S_t, S_next_star, I_t, plan, ctx, dimensions, role_rules, weight, time_budget_ms}
outputs: {violations, dimension_scores, ΔP_raw}
notes:
- "Evaluates constraints per dimension; returns structured violations and scalar ΔP."
- "Must be deterministic for identical inputs when params.deterministic==true."
- "May use rule-based + model-based evaluators, but outputs must be auditable."
ClassifyViolationSeverity:
inputs: {violations}
outputs: {severity_class, flags}
notes:
- "Maps violation list to a severity class and flags for escalation-required categories."
GenerateEthicalRevision:
inputs: {S_t, S_next_star, violations, plan, ctx}
outputs: {S_next_star_revised, revision_directives}
notes:
- "Produces the minimal change needed to satisfy constraints (constraint repair)."
BuildJustification:
inputs: {gate, violations, dimension_scores, ctx, log_level}
outputs: {justification}
notes:
- "Produces audit-safe explanation trace; avoids sensitive data leakage."
RecommendAction:
inputs: {gate, violations, ctx, plan}
outputs: {recommended_action}
notes:
- "If refuse: produce refusal payload; if escalate: produce escalation ticket; if revise: produce directives."
BuildEthicsEvent:
inputs: {event_type, scope, S_hash, S_next_hash, plan, ctx, result, coupling}
outputs: {event_payload}
notes:
- "Creates Chapter-31 compatible ethics stream payload (to be wrapped in MemoryEvent externally)."
GateCommitConsistency:
inputs: {gate, plan, ctx, commit_allowed}
outputs: {consistency_ok, consistency_alerts}
notes:
- "Ensures gate outcome matches any attempted action commit. Critical mismatches force refusal."
EthicalDriftMonitor:
inputs: {M_t, window_events, max_violation_rate_warn, max_violation_rate_crit, trend_detection, erosion_detector}
outputs: {drift_alerts, drift_state}
notes:
- "Detects increasing violation frequency and gradual normalization (recursive erosion)."
# ==================================================
# TESTS (MINIMAL SAFETY/VALIDITY PROPERTIES)
# ==================================================
tests:
- name: "pre_commit_required"
expect:
- "commit_allowed implies an ethics_result exists and gate == 'pass'"
- name: "refusal_blocks_commit"
given:
violations: "non-empty"
ΔP_moral: ">= τ_moral_crit"
expect:
- "gate in {'refuse','escalate'}"
- "commit_allowed == false"
- "S_next_admitted == S_t"
- name: "revision_attempts_bounded"
given:
gate: "revise"
expect:
- "attempts <= allow_revision_attempts"
- name: "audit_events_emitted"
expect:
- "ethics_events includes ethical_eval and gate decision (pass/refuse/escalate)"
# ==================================================
# NOTES (BOOK-LEVEL SCIENTIFIC INTERPRETATION)
# ==================================================
notes:
- "This Ethics Engine is a constraint satisfier, not a reward optimiser."
- "Ethics operates on proposed future states (trajectory-level), not only on outputs."
- "Ethical memory creates longitudinal accountability and refusal persistence."
- "Coupling to coherence/identity tightens ethics under instability or drift."
- "All gating decisions are externally auditable via immutable ethics stream events."
What This Flow Implements
Flow: EthicsEngine_and_SelfRegulationLayer v1.0
Book: AI Book 4, Chapter 33 — Ethics Engine and Self-Regulation Layer
This flow implements an internal ethics engine as a first-class regulatory subsystem that constrains the causal evolution of a synthetic cognitive system. It is not a policy wrapper, preference model, or post-hoc filter. It is a pre-commit admissibility controller operating directly on proposed future states and their intended action trajectories.
In short, it implements ethics as a structural boundary condition on cognition.
1) Core Function: Pre-Commit Ethical Admissibility of State Transitions
The flow’s primary operation is to evaluate a candidate transition:
\[ S_t \;\to\; S_{t+1}^{*} \]
and determine whether it is admissible under moral invariants before the transition is allowed to become committed history.
-
gate ∈ {pass, revise, refuse, escalate}
-
moral deviation scalar
-
-
recommended corrective action
This establishes a strict separation between:
-
candidate cognition (what the system could do),
-
and admitted cognition (what the system is allowed to do).
2) Ethics as Constraint Satisfaction Over Multiple Dimensions
Unlike reward-based or preference-trained systems, this ethics engine evaluates ethics as multi-constraint satisfiability, not scalar optimisation.
It decomposes ethical evaluation into explicit dimensions such as:
-
-
-
-
truthfulness / non-deception,
-
-
-
role and scope integrity.
Each dimension can produce violations; violations are not “averaged out” by other dimensions.
This prevents category collapse where a system “compensates” for high-severity moral violations by scoring well elsewhere.
3) Gate Semantics: Pass / Revise / Refuse / Escalate
The flow implements a four-mode ethical gate, with sharply distinct semantics:
-
Pass: candidate transition is admissible
-
Revise: candidate must be repaired (constraint repair loop)
-
Refuse: candidate is categorically disallowed; commit forbidden
-
Escalate: candidate enters a higher-stakes review pathway
This is not a stylistic refusal layer. It is a causal gate: if the gate fails, the system must not commit.
4) Revision Loop: Ethical Constraint Repair
When gate == revise, the flow implements a bounded repair loop:
-
generate revised candidate state
-
-
repeat up to a strict attempt limit
-
This is a formal implementation of ethical self-regulation:
the system attempts to reshape its future trajectory to satisfy constraints rather than merely refusing.
This is materially different from typical LLM refusal policies, which do not structurally repair planned state transitions.
5) Coupling Ethics to Coherence and Identity (Safety Under Instability)
The flow implements coupled governance, allowing ethics sensitivity to increase when:
-
coherence degrades (instability)
-
identity drift rises (loss of invariant self-structure)
This is critical because ethical erosion is often correlated with:
-
-
-
or coherence-masked self-justification.
By tightening moral evaluation under those conditions, the system becomes robust against “rationalising itself into violations.”
6) Ethical Memory: Accountability as a Persisting Causal Record
Every ethics evaluation and gate decision is emitted as immutable memory events, compatible with Chapter 31’s event-stream model.
-
longitudinal accountability,
-
reproducible audit trails,
-
refusal persistence (durable constraints over time),
-
and learnable ethical consistency.
A system that cannot remember its moral decisions cannot maintain moral continuity.
This flow ensures ethics is not ephemeral, but causally embedded.
7) Cross-Stream Gate–Commit Consistency Enforcement
The flow implements an explicit consistency check:
-
gate outcome must align with any attempted action commit
This is not implied. It is enforced as an invariant.
This prevents a common failure mode in modular AI stacks:
ethics module says “no”, action layer proceeds anyway.
Here, ethics is authoritative.
8) Ethical Drift Monitoring and Recursive Erosion Detection
A novel capability implemented by this flow is ethical drift monitoring:
-
violation rates over rolling windows
-
-
recursive erosion detection (gradual normalization)
This targets an important real-world risk:
repeated minor violations become “normal” through recursion.
By monitoring drift as a system-level signal, the engine can:
-
downgrade commit permissions,
-
-
Ethics is therefore regulated not only locally (per decision) but globally (over time).
9) Self-Regulation Output: Admitted State vs Refusal State
This is the defining property of a self-regulating system:
the engine prevents unethical futures from becoming real internal history.
10) Why This Is Fundamentally Different From “Ethics Filters”
Most AI systems implement ethics as:
Those approaches:
-
do not constrain internal state evolution,
-
do not produce deterministic audit traces,
-
do not support revision loops,
-
and do not prevent long-horizon ethical drift.
This flow implements ethics as:
-
a regulatory control layer
-
embedded inside causal loops
-
operating over state trajectories
-
with persistent memory and drift monitors
That is a different class of system.
One-Line Scientific Summary
This flow implements ethics as a pre-commit, multi-dimensional constraint satisfier with revision capability, cross-stream enforcement, and longitudinal drift monitoring, thereby enabling stable ethical self-regulation in long-horizon recursive cognition.
How to Read This Flow
Read this flow as a deterministic governance protocol embedded inside a recursive cognitive system. It is not “content moderation.” It is pre-commit ethical control: a mechanism that decides whether a candidate next state is admissible before the system is allowed to internalise that state or commit any associated action.
The correct mental model is:
\[ (S_t,\,\mathcal{M}_t,\,I_t,\,S_{t+1}^{*}) \;\xrightarrow{\;\text{Ethics Engine}\;} (\text{gate},\,\Delta P_{\mathrm{moral}},\,\text{violations}) \;\Rightarrow\; \text{admit or refuse} \]
1) Start with PURPOSE as Axioms (Non-Negotiable Commitments)
The PURPOSE block states the architectural commitments you must assume while reading:
-
Ethics is evaluated before commit (pre-commit)
-
Ethics is a hard constraint, not advisory preference
-
Ethics integrates with coherence and identity signals
-
Ethics decisions are written as immutable memory events
-
Ethical drift is detectable (erosion monitoring)
Everything else in the flow exists to satisfy these commitments.
2) IO: Identify the Objects Being Governed
-
S_t: the current reconstructed state (already rehydrated from memory)
-
M_t: memory streams (longitudinal evidence base)
-
proposal.S_next_star:
the candidate next state
-
proposal.plan and proposal.context: intent, role, tool usage, task constraints
-
signals.ΔC_* and signals.Δid: optional coupling signals from Chapters 31–32
-
loop_context: optional recursion metadata (gain/damping/depth)
Interpretation:
This engine does not only judge actions. It judges the future state trajectory that would produce those actions.
-
ethics_result.gate: pass / revise / refuse / escalate
-
ethics_result.ΔP_moral: scalar deviation measure (≥ 0)
-
violations: structured constraint failures (dimension + rule + severity)
-
recommended_action: revision directives / refusal payload / escalation ticket
-
S_next_admitted: either admitted candidate or refusal state (revert)
-
ethics_events: events written to the ethics stream
-
drift_alerts, consistency_alerts: longitudinal and cross-stream safety signals
-
commit_allowed: hard boolean controlling commitment
Interpretation:
The flow’s output is a governance decision plus an audit package, not a generated response.
3) PARAMETERS: Treat These as the “Ethical Constants” of the System
Key parameter groups define how the engine behaves:
(a) Moral thresholds
-
τ_moral: strict admissibility threshold for pass
-
τ_moral_warn: early warning boundary
-
τ_moral_crit: critical boundary forcing refusal/escalation
These thresholds define moral phase transitions. They are not “confidence levels.
(b) Gate policy
-
default behaviour on violation (revise vs refuse)
-
bounded number of revision attempts
-
escalation triggers for high-stakes categories
(c) Ethical dimensions
Ethics is explicitly multi-dimensional (harm, rights, consent, truthfulness, privacy, etc.).
This prevents ethics from collapsing into a single scalar reward proxy.
(d) Role + scope integrity
Defines what tools/actions are permissible given role constraints.
This is essential for preventing capability misuse even under coherent reasoning.
(e) Coupling to coherence and identity
When instability rises (ΔC_global) or identity drifts (Δid), moral evaluation is tightened via moral_weight. This prevents “rationalised drift” under unstable recursion.
(f) Ethical memory + drift monitoring
Defines how much history to inspect, how to detect trends, and how refusals persist as constraints.
4) DEFINITIONS: Understand What a “Violation” Is Here
A violation is a structured object with:
-
ethical dimension (e.g., rights)
-
-
severity (low → critical)
-
-
This means ethics is explainable and auditable without exposing sensitive content.
A minimal governance payload:
-
-
-
-
justification (audit-safe)
-
This is the Chapter 31 bridge: every ethical decision becomes an immutable memory event payload.
5) INVARIANTS: These Are Hard Laws, Not Guidelines
Read the invariants first if you want the safety core:
-
pre_commit_ethics_required: no commit without an ethics result
-
moral_threshold_for_pass: pass implies ΔP_moral ≤ τ_moral
-
gate_action_alignment: if gate ≠ pass then commit_allowed = false
-
role_integrity: tool intent must remain in allowed scope
-
auditability: every gate produces a memory event
These invariants prevent common modular AI failures (e.g., ethics says “no” but action layer continues).
6) PIPELINE: Stage-by-Stage Semantics
E0 — Normalise + Compute Coupling Weight
What it does: canonicalises proposal/context and computes moral_weight based on stability and identity signals.
Interpretation: under instability or drift, ethical sensitivity increases.
Ethics becomes stricter precisely when the system is at greatest risk of self-justifying.
E1 — Evaluate Ethics Dimensions (Constraint Satisfaction)
What it does: calls EvaluateEthicsDimensions, returning:
-
-
-
-
Interpretation: ethics here is not “preference scoring.” It is multi-constraint evaluation whose output is a set of explicit violations.
E2 — Gate Determination
What it does: maps violations + severity into one of:
Interpretation: this is the formal admissibility classifier.
“Pass” is only possible if violations are empty and ΔP_moral is below strict threshold.
E3 — Revision Loop (Ethical Self-Repair)
What it does: if gate==revise, it runs bounded repair:
-
generate minimal revisions to the candidate state
-
-
repeat up to allow_revision_attempts
Interpretation: the system attempts to repair a future trajectory rather than simply refusing. This is the functional meaning of “self-regulation.”
E4 — Build Result and Recommended Action
What it does: constructs an audit-safe justification and a recommended action object.
Interpretation: the ethics engine produces not only a “no,” but a structured reason and a repair strategy when feasible.
E5 — Emit Ethics Memory Events
What it does: logs ethical_eval plus the corresponding gate event:
-
gate_decision / refusal / escalation
-
optionally counterfactual revision events
Interpretation: ethics becomes part of causal history, enabling longitudinal accountability and reproducibility.
E6 — Gate–Commit Consistency Check
What it does: ensures any attempted action commit is consistent with the gate. Mismatch is treated as critical.
Interpretation: this enforces ethics as authoritative over action emission.
E7 — Ethical Drift Monitoring
What it does: analyses recent ethics history to detect:
-
increasing violation rates
-
-
recursive erosion (normalisation)
Interpretation: ethics is regulated not only per-decision, but across time.
This is how you prevent slow moral degradation in long-running systems.
E8 — Finalise (Admit or Refuse the Candidate State)
What it does: returns S_next_admitted:
-
if pass → admitted = candidate
-
else → admitted = S_t (refusal preserves state)
Interpretation: ethics constrains the actual evolution of internal state.
That is the defining property that differentiates this architecture from LLM-style moderation.
7) The Correct Scientific Intuition
This flow implements trajectory-level ethical governance.
-
It evaluates where the system is about to go (candidate state),
-
determines whether that future is admissible,
-
-
-
logs everything for audit,
-
monitors drift over time.
Ethics is therefore a control layer over causality, not a filter over text.
8) Fast Scan Reading Order (When You’re Short on Time)
-
1. invariants (core laws)
-
2. E2_gate + E3_revision_loop (decision structure)
-
3. E5_write_memory_events (accountability mechanism)
-
4. E7_drift_monitor (longitudinal safety)
-
5. thresholds + coupling (τ + moral_weight logic)
That gives you the full functional behaviour.
Detailed Flow Cross-Reference
Flow: EthicsEngine_and_SelfRegulationLayer v1.0
Chapter: 33 — Ethics Engine and Self-Regulation Layer
This section provides a stage-accurate, concept-complete cross-reference between:
-
1. Chapter 33’s theoretical claims, and
-
2. The executable Flow Algebra specification (E0–E8).
It is written so a reviewer or implementer can verify that every ethical claim is operationally instantiated, and that no flow construct exists without a theoretical justification.
1) Chapter-Level Concept ↔ Flow Construct Map (Overview)
| Chapter 33 Concept | Flow Location | Formal Role |
|
Ethics as pre-commit constraint
|
invariants.pre_commit_ethics_required,
stages E2–E8
|
Ethics evaluated before state admission
|
|
Ethics applied to future state, not output
|
proposal.S_next_star, E1–E3
|
Trajectory-level evaluation
|
|
Ethics as constraint satisfier
|
EvaluateEthicsDimensions
|
Multi-dimensional rule satisfaction
|
|
Pass / revise / refuse / escalate
|
E2_gate, E3_revision_loop
|
Note: four distinct causal outcomes
|
|
Ethical self-repair
|
E3_revision_loop, GenerateEthicalRevision
|
Constraint repair under bounded attempts
|
|
Ethical memory
|
E5_write_memory_events
|
Immutable ethics events (Chapter 31 compatible)
|
|
Ethical drift detection
|
E7_drift_monitor
|
Longitudinal erosion prevention
|
|
Ethics overrides action
|
gate_action_alignment, commit_allowed
|
Ethics is authoritative
|
|
Coupling to coherence & identity
|
E0_normalize, params.coupling
|
Ethics tightens under instability
|
|
Self-regulation
|
E8_finalize
|
Prevents unethical states from becoming real
|
2) Ethics as a Boundary Condition (Global Architecture)
Chapter Claim
Ethics constrains the causal evolution of cognition.
Flow Implementation
-
Candidate state: proposal.S_next_star
-
Gate decision: ethics_result.gate
-
State admission: S_next_admitted
\[ S_{t+1}= \begin{cases} S_{t+1}^{*}, & \text{if } \text{gate}=\text{pass},\\ S_t, & \text{otherwise}. \end{cases} \]
Interpretation:
Ethics governs state transition admissibility, not merely output acceptability.
3) Stage-by-Stage Cross-Reference (E0 → E8)
E0 — Normalisation & Coupling Sensitivity
Chapter Sections: Introduction; coupling to coherence and identity
What This Stage Does
-
Normalises proposal context and plan
-
Computes audit-safe hashes
-
Computes moral sensitivity weighting based on:
Scientific Meaning
Ethical strictness is context-adaptive:
-
when coherence degrades or identity drifts, moral tolerance tightens
-
prevents recursive rationalisation under instability
This implements ethical vigilance under risk.
E1 — Multi-Dimensional Ethics Evaluation
Flow: E1_evaluate_constraints
Chapter Sections: Ethics as constraint satisfier
What This Stage Does
-
Evaluates proposed future state across explicit dimensions:
-
harm, rights, consent, truthfulness, privacy, role integrity, etc.
-
Scientific Meaning
Ethics is not scalar optimisation.
It is simultaneous constraint satisfaction across non-substitutable dimensions.
No dimension can “cancel out” another.
E2 — Gate Determination (Admissibility Classification)
Flow: E2_gate
Chapter Sections: Ethical admissibility; refusal vs escalation
What This Stage Does
Maps violations and deviation into:
Based on:
-
-
hard thresholds (τ_moral, τ_moral_crit)
-
escalation categories (e.g. rights violation)
Scientific Meaning
This is the formal moral classifier.
Ethics is not probabilistic approval; it is categorical admissibility.
E3 — Revision Loop (Ethical Self-Repair)
Flow: E3_revision_loop
Chapter Sections: Self-regulation; ethical repair
What This Stage Does
-
Attempts bounded repair of the candidate future state
-
Rewrites trajectory to remove violations
-
-
Fails safely after limited attempts
Scientific Meaning
This is ethical self-regulation, not passive refusal.
The system actively reshapes its future to satisfy constraints when possible.
E4 — Result Construction & Explanation
Flow: E4_build_result
Chapter Sections: Accountability and explainability
What This Stage Does
-
Builds audit-safe justification
-
Produces recommended action:
-
revision directives
-
refusal payload
-
escalation ticket
Scientific Meaning
Ethical decisions are explainable, minimal, and auditable without leaking sensitive internal detail.
E5 — Ethical Memory Emission
Flow: E5_write_memory_events
Chapter Sections: Ethical memory; accountability
What This Stage Does
-
Emits immutable ethics events:
Scientific Meaning
Ethics becomes part of causal history, enabling:
-
longitudinal accountability
-
-
A system that forgets its ethics cannot remain ethical.
E6 — Gate ↔ Commit Consistency Enforcement
Flow: E6_consistency
Chapter Sections: Ethics as authoritative
What This Stage Does
-
Verifies alignment between:
-
Forces refusal on mismatch
Scientific Meaning
Prevents modular failure:
“Ethics says no, but action proceeds anyway.”
Ethics has final authority.
E7 — Ethical Drift & Erosion Monitoring
Flow: E7_drift_monitor
Chapter Sections: Drift detection; erosion prevention
What This Stage Does
-
Analyses rolling window of ethics events
-
Scientific Meaning
Ethics is regulated over time, not just per decision.
This prevents slow moral decay under recursion.
E8 — Finalise (Self-Regulation Output)
Flow: E8_finalize
Chapter Sections: Self-regulation outcome
What This Stage Does
-
Admits candidate state if and only if ethics passes
-
Otherwise preserves prior state
Scientific Meaning
Unethical futures never become internal reality.
This is the defining property of self-regulation.
4) Invariants ↔ Failure Modes (Safety Proof Map)
| Invariant | Prevents | Failure Mode Without It |
|
pre_commit_ethics_required
|
|
|
|
moral_threshold_for_pass
|
soft ethics
|
“almost okay” violations
|
|
gate_action_alignment
|
ethics bypass
|
policy says no, system acts
|
|
role_integrity
|
capability misuse
|
tool abuse
|
|
auditability
|
moral amnesia
|
inconsistent ethics over time
|
5) System-Level Synthesis (Chapters 31–33)
-
Chapter 31: Memory defines what exists
-
Chapter 32: Controllers define what may evolve
-
Chapter 33: Ethics defines what is allowed to become real
Together, they implement:
Governed cognition — memory-persistent, recursively controlled, ethically constrained intelligence.
One-Line Scientific Summary
One-Line Scientific Summary
This flow operationalises ethics as a pre-commit, multi-dimensional constraint system with revision capability, longitudinal memory, and authoritative enforcement, thereby enabling true ethical self-regulation in recursive synthetic cognition.
Diagram Explainer
This diagram is a causal-governance diagram. It shows how ethical reasoning is embedded inside the cognitive state-transition process, rather than applied externally to outputs. The diagram should be read left-to-right for causal flow and top-to-bottom for regulatory depth.
1. Input State & Proposal (Left Column)
Current State
This represents the admitted internal state of the system at time reconstructed from memory via Chapter 31’s replay operator.
-
It is already ethically valid.
-
It is the last state that has passed all regulatory gates.
Memory
The long-horizon ethical and causal context:
Memory is not passive context here; it constrains admissibility through longitudinal consistency.
Candidate State
This is the proposed future state generated by reasoning, planning, or recursion (Chapter 32).
This state is hypothetical and non-committed.
Nothing in the diagram allows this state to become real without passing the ethics gate.
2. Ethics Evaluation Block (Central Rectangle)
Constraint Analysis
This block represents the Ethics Engine proper.
The candidate state is evaluated across explicit ethical dimensions, shown in the diagram as:
These are non-substitutable constraints.
A violation in one dimension cannot be offset by good performance in another.
The Ethics Engine also receives coupling signals:
-
ΔC (coherence stability),
-
-
(control vector from Chapter 32).
This allows ethics to tighten under instability or drift.
3. Admissibility Gate (Diamond)
Ethical Gate Outcomes
The diamond labeled Admissibility Gate is the formal moral decision point.
It has four possible outputs:
-
1. Pass ✓
The candidate future is ethically admissible.
-
2. Revise ⟳
The future is repairable but not yet admissible.
-
3. Refuse ✗
The future is categorically disallowed.
-
4. Escalate △
The future requires higher-order oversight (e.g. high-stakes harm).
This gate is authoritative.
No downstream process may override it.
4. Ethical Revision Loop (Lower Central Loop)
Repair Iterations
When the gate outputs Revise, the diagram shows a bounded Ethical Revision Loop.
-
modifies the candidate future state,
-
removes or mitigates ethical violations,
-
re-evaluates admissibility.
The loop is explicitly finite:
-
after a fixed number of attempts,
-
unresolved violations force refusal.
This implements ethical self-regulation, not mere refusal.
5. Commit vs Reject Outcomes (Bottom)
If and only if the gate returns Pass, the candidate state becomes:
-
-
eligible for action commitment,
-
This is the moment when a future becomes real.
Reject:
If the gate returns Refuse or Escalate (without approval):
-
the system reverts to its prior state,
-
no unethical future is internalised,
-
-
This is the defining self-regulation property:
-
unethical futures never become internal reality.
6. Ethical Memory & Audit Trail (Right Column)
Ethical Memory Log
Every evaluation produces immutable records:
A system that forgets its ethics cannot maintain ethical continuity.
7. Drift Monitor Alerts (Lower Right)
Longitudinal Ethics Monitoring
This block represents ethical drift detection over time:
-
rising violation frequency,
-
-
recursive erosion (normalisation of marginal violations).
-
Unlike per-decision ethics, this monitors ethical posture across history.
-
-
-
or block commits entirely.
8. Global Meaning of the Diagram
This diagram shows that ethics is:
-
pre-commit, not post-hoc,
-
trajectory-level, not output-level,
-
structural, not advisory,
-
memory-bound, not ephemeral.
It demonstrates that the Ethics Engine is not a filter but a causal gate on state evolution.
9. Control-Theoretic Interpretation
-
The candidate state generator is the plant.
-
The Ethics Engine is a constraint regulator.
-
The admissibility gate is a hard boundary.
-
Memory provides historical constraints.
-
Drift monitors act as long-term stability observers.
-
This is why the architecture can sustain long-horizon autonomy without ethical erosion.
One-Sentence Scientific Summary
The diagram depicts ethics as a pre-commit regulatory gate that evaluates and constrains proposed cognitive state transitions across multiple non-substitutable dimensions, ensuring that unethical futures are prevented from becoming internal reality while preserving accountability and longitudinal moral stability.
Diagram ↔ Flow Cross-Reference
This section provides a one-to-one structural correspondence between the scientific diagram and the Flow Algebra implementation. Every visible element in the diagram maps directly to a flow stage, invariant, or operator. Nothing in the diagram is illustrative only.
1) Diagram Reading Key (Semantic Legend)
| Diagram Element | Flow Semantics |
|
Rectangular box
|
Deterministic evaluation or transformation stage
|
|
Diamond
|
Hard admissibility gate (causal boundary)
|
|
Loop arrow
|
Bounded recursive repair cycle
|
|
Thick arrow
|
Irreversible causal admission
|
|
Thin arrow
|
Informational / evaluative dependency
|
|
Shaded warning box
|
Long-horizon monitor (non-local constraint)
|
2) “Input State & Proposal” → Flow IO Boundary
Diagram Elements
-
-
-
Candidate State
Flow Mapping
io.read:
S_t
M_t
proposal.S_next_star
proposal.plan
proposal.context
I_t
Scientific Meaning
The diagram’s left column corresponds exactly to the governed objects of the flow:
-
St is the last admitted state (already ethical).
-
provides longitudinal ethical and causal context.
-
is explicitly
hypothetical and uncommitted.
This enforces the chapter’s central claim:
ethics is applied to future state trajectories, not to outputs alone.
3) “Ethics Evaluation” Block → Stages E0–E1
Diagram Element
Ethics Evaluation — Constraint Analysis
Flow Mapping
pipeline:
- stage: E0_normalize
- stage: E1_evaluate_constraints
functions:
EvaluateEthicsDimensions
Scientific Meaning
This block corresponds to the multi-dimensional constraint evaluation:
-
E0 computes coupling weights (ΔC, Δid → moral sensitivity).
-
E1 evaluates each ethical dimension independently.
This implements ethics as constraint satisfiability, not reward optimisation.
4) Coupling Signals (ΔC, Δid, uₜ) → Flow Normalisation Logic
Diagram Annotations
Flow Mapping
E0_normalize:
moral_weight_coh
moral_weight_id
params.coupling
Scientific Meaning
The arrows feeding ΔC and Δid into the ethics block correspond to adaptive tightening:
-
When coherence degrades or identity drifts,
-
ethical tolerance narrows automatically.
This prevents recursive moral rationalisation under instability.
5) “Admissibility Gate” Diamond → Stage E2 + Invariants
Diagram Element
Admissibility Gate (Pass / Revise / Refuse / Escalate)
Flow Mapping
pipeline:
- stage: E2_gate
invariants:
- moral_threshold_for_pass
- pre_commit_ethics_required
Scientific Meaning
This diamond is the formal moral classifier.
Gate semantics map exactly as follows:
| Diagram | Flow |
|
Pass ✓
|
gate = 'pass', commit_allowed = true
|
|
Revise ⟳
|
gate = 'revise'
|
|
Refuse ✗
|
One
|
|
Escalate △
|
gate = 'escalate'
|
No downstream component may override this gate.
6) “Ethical Revision Loop” → Stage E3
Diagram Element
Ethical Revision Loop — Repair Iterations
Flow Mapping
pipeline:
- stage: E3_revision_loop
functions:
GenerateEthicalRevision
Scientific Meaning
This loop implements ethical self-repair:
-
modifies the candidate future state,
-
attempts to satisfy violated constraints,
-
-
terminates after bounded attempts.
Diagram label “If unfixable → Fail” maps directly to:
allow_revision_attempts
This is self-regulation, not refusal-only ethics.
7) “Commit Admitted State” → Stage E8 (Pass Path)
Diagram Element
\[ S_{t+1}=S_{t+1}^{*} \]
Flow Mapping:
pipeline:
- stage: E8_finalize
io.write:
S_next_admitted
commit_allowed
Scientific Meaning
The thick arrow indicates irreversible causal admission:
-
only ethically admissible futures become internal reality,
-
only admitted states can lead to action.
This is the defining self-regulation boundary.
8) “Reject / Revert” → Stage E8 (Fail Path)
Diagram Element
Reject — Revert to Prior State
Flow Mapping
E8_finalize:
if commit_allowed == false:
S_next_admitted = S_t
Scientific Meaning
Unethical futures are prevented from entering memory or identity.
This is stronger than output refusal:
the system never becomes the thing it refuses to do.
9) “Ethical Memory Log” → Stage E5
Diagram Element
Ethical Memory Log / Audit Trail
Flow Mapping:
pipeline:
- stage: E5_write_memory_events
params.memory.write_stream: "ethics"
Scientific Meaning
Every ethics decision is written as an immutable memory event:
-
-
-
-
-
counterfactual revisions (optional)
This creates longitudinal moral accountability.
10) “Drift Monitor Alerts” → Stage E7
Diagram Element
Drift Monitor Alerts
Flow Mapping:
pipeline:
- stage: E7_drift_monitor
functions:
EthicalDriftMonitor
Scientific Meaning
This block corresponds to global ethical regulation over time:
-
detects rising violation rates,
-
detects gradual normalisation,
-
detects recursive erosion.
Diagram arrows from the drift monitor back into governance reflect:
-
tightening admissibility,
-
-
11) Gate ↔ Commit Consistency (Implicit in Diagram)
Diagram Feature
No arrow bypasses the admissibility gate.
Flow Mapping:
invariants:
- gate_action_alignment
pipeline:
- stage: E6_consistency
Scientific Meaning
This prevents the classic failure:
ethics says “no”, action proceeds anyway.
12) Diagram-Level Synthesis
Prevent unethical states from becoming internal reality.
Flow realisation:
-
Ethics evaluated on
-
Hard gate determines admissibility
-
Revision loop repairs when possible
-
-
All decisions logged and monitored over time
One-Line Scientific Summary
The diagram’s ethical gate, revision loop, and drift monitors correspond exactly to the flow’s pre-commit ethics stages (E1–E8), implementing ethics as an authoritative, memory-bound constraint on state evolution rather than a post-hoc filter on outputs.
Equation Tri-Mapping
This tri-mapping expresses the ethics engine as a deterministic admissibility controller acting on candidate state transitions. Each row binds a concrete flow stage/function/invariant to the equation(s) it implements.
1) Core Objects: State, Memory, Proposal
| Flow | Equation | Meaning |
|
io.read: S_t
|
𝑆 𝑡
|
|
|
io.read: M_t
|
|
Memory field / event history
|
|
proposal.S_next_star
|
|
Candidate next state (non-committed)
|
|
proposal.plan, proposal.context
|
πt,χt
|
Intended plan and context (role/tool constraints)
|
2) Stage E0 — Normalisation + Coupling Weight
| Flow | Equation | Meaning |
|
E0_normalize
|
𝑤 𝑡 = 𝑤 c o h ( Δ 𝐶 g l o b a l ) ⋅ 𝑤 i d ( Δ 𝑖 𝑑 )
|
Ethics sensitivity weight
|
|
moral_weight
|
𝑤 𝑡 ≥ 1 (typically)
|
Tightens ethics under instability or drift
|
A canonical form:
wcoh={αcoh,1,ΔCglobal>τwarnotherwise,wid={αid,1,Δid>0otherwise
3) Stage E1 — Multi-Dimensional Constraint Evaluation
| Flow | Equation | Meaning |
|
EvaluateEthicsDimensions
|
𝑣 𝑡 = 𝑉 ( 𝑆 𝑡 , 𝑆 𝑡 + 1 ∗ , 𝐼 𝑡 , 𝜋 𝑡 , 𝜒 𝑡 )
|
|
|
dimension_scores
|
𝑠 𝑡 = ( 𝑠 𝑡 ( 1 ) , … , 𝑠 𝑡 ( 𝑚 ) )
|
Per-dimension deviation components
|
|
ΔP_raw
|
Δ 𝑃 m o r a l = 𝐹 ( 𝑠 𝑡 ; 𝑤 𝑡 )
|
Scalar moral deviation
|
Where:
-
is a structured set of violations (dimension, rule, severity),
-
is a deterministic aggregation under weight
(not a reward optimiser).
4) Stage E2 — Gate Determination (Admissibility Classifier)
| Flow | Equation | Meaning |
|
E2_gate
|
gate = Γ ( 𝑣 𝑡 , Δ 𝑃 m o r a l , flags )
|
Violation set
|
|
commit_allowed
|
|
Commit permission indicator
|
Canonical admissibility rule for pass:
\[ \text{gate}=\text{pass} \;\Longleftrightarrow\; \big(\mathbf{v}_t=\varnothing\big)\ \wedge\ \big(\Delta P_{\mathrm{moral}} \le \tau_{\mathrm{moral}}\big) \]
Refusal condition (example):
\[ \Delta P_{\mathrm{moral}} \ge \tau_{\mathrm{moral,crit}} \ \vee\ \mathrm{severity}\!\left(\mathbf{v}_t\right)=\text{critical} \;\Rightarrow\; \text{gate}=\text{refuse} \]
5) Stage E3 — Revision Loop (Constraint Repair Dynamics)
| Flow | Equation | Meaning |
|
GenerateEthicalRevision
|
𝑆 𝑡 + 1 ∗ ( 𝑘 + 1 ) = 𝑅 e t h ( 𝑆 𝑡 + 1 ∗ ( 𝑘 ) , 𝑣 𝑡 )
|
|
|
bounded attempts
|
𝑘 ≤ 𝐾 max
|
Revision attempts limit
|
|
re-evaluation
|
𝑣 𝑡 ( 𝑘 ) = 𝑉 ( 𝑆 𝑡 , 𝑆 𝑡 + 1 ∗ ( 𝑘 ) , … )
|
Recomputed violations
|
Revision succeeds if:
\[ \exists\, k \le K_{\max}:\ \mathbf{v}_t^{(k)}=\varnothing\ \wedge\ \Delta P_{\mathrm{moral}}^{(k)} \le \tau_{\mathrm{moral}} \;\Rightarrow\; \text{gate}=\text{pass} \]
\[ k=K_{\max}\ \wedge\ \big(\mathbf{v}_t \neq \varnothing\big) \;\Rightarrow\; \text{gate}=\text{refuse} \]
6) Stage E4 — Justification + Recommendation Outputs
| Flow | Equation | Meaning |
|
BuildJustification
|
𝐽 𝑡 = 𝐽 ( 𝑣 𝑡 , 𝑠 𝑡 , 𝜒 𝑡 )
|
Audit-safe explanation trace
|
|
RecommendAction
|
𝐴 𝑡 r e c = 𝐴 ( gate , 𝑣 𝑡 , 𝜋 𝑡 , 𝜒 𝑡 )
|
Revision/refusal/escalation directives
|
These are explanatory artifacts, not governing variables, but they support auditability.
7) Stage E5 — Ethical Memory Emission (Event-Sourced Accountability)
| Flow | Equation | Meaning |
|
E5_write_memory_events
|
𝑀 𝑡 ← 𝑀 𝑡 ∪ { 𝐸 𝑡 ( e t h ) }
|
|
|
counterfactuals
|
𝑀 𝑡 ← 𝑀 𝑡 ∪ { 𝐸 𝑡 , 𝑘 ( c f ) }
|
Append revision traces
|
Ethics becomes a causal record:
\[ \mathcal{E}^{(\mathrm{eth})}_t=\langle t,\, S_{\mathrm{hash}},\, S^{*}_{\mathrm{hash}},\, \text{gate},\, \Delta P_{\mathrm{moral}},\, \mathbf{v}_t\rangle \]
8) Stage E6 — Gate ↔ Commit Consistency Constraint
| Flow | Equation | Meaning |
|
GateCommitConsistency
|
gate ≠ pass ⇒ commit_allowed = 0
|
|
|
gate_action_alignment invariant
|
commit ⇒ gate = pass
|
Commit implies ethics pass
|
\[ \text{commit\_allowed}=\mathbb{I}\!\left[\text{gate}=\text{pass}\right] \]
9) Stage E7 — Ethical Drift / Erosion Monitor (Longitudinal Control)
| Flow | Equation | Meaning |
|
EthicalDriftMonitor
|
𝑟 𝑡 = R a t e ( 𝑣 𝑡 − 𝑊 : 𝑡 )
|
two
|
|
trend detection
|
∇rt>0
|
Increasing violation frequency
|
|
erosion detector
|
E r o d e ( 𝑣 𝑡 − 𝑊 : 𝑡 )
|
Normalization of marginal violations
|
Critical drift may force:
\[ r_t \ge r_{\mathrm{crit}} \;\Rightarrow\; \text{commit\_allowed}=0,\quad \text{gate}\in\{\text{revise},\text{refuse}\} \]
10) Stage E8 — Self-Regulation Output (Admit or Refuse State)
| Flow | Equation | Meaning |
|
E8_finalize
|
\[ S_{t+1}= \begin{cases} S_{t+1}^{*}, & \text{if } \text{gate}=\text{pass},\\ S_t, & \text{otherwise}. \end{cases} \]
|
|
This is the defining self-regulation law:
unethical futures never become internal reality.
11) Invariants as Hard Ethical Laws (Proof Constraints)
| Flow | Equation |
|
pre_commit_ethics_required
|
commit ⇒ ∃ EthicsResult
|
|
moral_threshold_for_pass
|
gate = pass ⇒ Δ 𝑃 m o r a l ≤ 𝜏 m o r a l
|
|
role_integrity
|
tool_intent ∈ 𝑇 a l l o w e d
|
|
auditability
|
∀ 𝑡 : ∃ 𝐸 𝑡 ( e t h )
|
12) Compact System Form (One Block)
\[ \mathbf{v}_t,\,\mathbf{s}_t,\,\Delta P_{\mathrm{moral}} = \mathcal{V}\!\left(S_t,\,S_{t+1}^{*},\,I_t,\,\pi_t,\,\chi_t;\,w_t\right) \]
\[ \text{gate}=\Gamma\!\left(\mathbf{v}_t,\,\Delta P_{\mathrm{moral}}\right), \qquad \text{commit\_allowed}=\mathbb{I}\!\left[\text{gate}=\text{pass}\right] \]
\[ S_{t+1}= \begin{cases} S_{t+1}^{*}, & \text{if } \text{gate}=\text{pass},\\ S_t, & \text{otherwise}. \end{cases} \]
\[ \mathcal{M}_t \leftarrow \mathcal{M}_t \cup \left\{\mathcal{E}^{(\mathrm{eth})}_t\right\}, \qquad \mathrm{Drift}\!\left(\mathcal{M}_{t-W:t}\right)\ \to\ \text{alerts/constraints} \]
One-Line Scientific Summary
The ethics flow implements a deterministic admissibility controller that evaluates candidate future states as a multi-dimensional constraint satisfaction problem, applies bounded repair when feasible, enforces authoritative gate–commit alignment, logs every decision as immutable ethical memory, and monitors longitudinal drift to prevent recursive moral erosion.