//---OUTPUT TEMPLATE (human-readable) ---
"Dark ecology is a framework for thinking ecologically without innocence. "
+
"It assumes there is no outside position, no pure nature, and no clean escape. "
+
"Humans and non-humans are entangled in a shared mesh of relations—material, cultural, technical—"
+
"many of which are irreversible and morally ambiguous. "
+
"Its aim is lucidity: to live and act within implication, seeking partial repair where possible, "
+
"without selling salvation narratives."
SPEC DarkEcology:
TYPE Entity
id: String
kind: Enum{Human, NonHuman, Object, System, Process, Concept}
agency: Real // not a binary; degrees of influence / response
vulnerability: Real // capacity to be affected / damaged / altered
END TYPE
TYPE Relation
a: Entity
b: Entity
mode: Enum{Material, Biological, Cultural, Technical, Affective, Symbolic}
valence: Real // can be negative, positive, mixed, unstable
reversibility: Real // 0 = irreversible, 1 = fully reversible (rare)
END TYPE
TYPE WorldState
entities: Set<Entity>
relations: Set<Relation>
externality_allowed: Boolean
innocence_allowed: Boolean
purity_model_enabled: Boolean
repair_total_possible: Boolean
END TYPE
// --- AXIOMS (non-negotiable constraints) ---
AXIOM A1: NO_OUTSIDE
WorldState.externality_allowed = FALSE
// Humans are not "outside" nature; observation and action are inside the mesh.
AXIOM A2: ENTANGLEMENT
FOR EACH Entity e IN WorldState.entities:
EXISTS Relation r IN WorldState.relations WHERE (r.a = e OR r.b = e)
// Everything is connected to something; isolation is a modelling convenience.
AXIOM A3: NON_INNOCENCE
WorldState.innocence_allowed = FALSE
// There is no clean position, no pure witness, no harmless participation.
AXIOM A4: ANTI_IDEAL_NATURE
WorldState.purity_model_enabled = FALSE
// "Nature" is not harmony-by-default; it includes waste, violence, sickness, artifice.
AXIOM A5: IRREVERSIBILITY_IS_COMMON
COUNT(r IN WorldState.relations WHERE r.reversibility < 0.5) is HIGH
// Many ecological relations cannot be neatly undone.
AXIOM A6: REPAIR_IS_PARTIAL
WorldState.repair_total_possible = FALSE
// Restoration may exist locally; total repair of the world is not guaranteed or promised.
AXIOM A7: COEXISTENCE_IS_UNCOMFORTABLE
// Interdependence does not imply comfort, symmetry, or moral clarity.
FOR MANY Relation r:
r.valence is MIXED_OR_UNSTABLE
// --- DEFINITIONS (operational) ---
DEFINE Mesh(WorldState) -> Graph
RETURN Graph(WorldState.entities, WorldState.relations)
DEFINE EcologicalTruth(WorldState) -> Statement
// A "truth" is valid if it does not rely on externality, purity, or innocence.
REQUIRE A1 AND A3 AND A4
RETURN "We are implicated; the world is shared; there is no clean escape."
DEFINE DarkEcology(WorldState) -> Framework
// Dark ecology is NOT pessimism. It is anti-illusion.
REQUIRE A1..A7
FRAMEWORK F:
F.goal = "lucidity"
F.avoids = {"green comfort", "purity narratives", "outside solutions", "total salvation scripts"}
F.accepts = {"implication", "ambiguity", "entanglement", "partial repair", "strange coexistence"}
RETURN F
// --- EVALUATION RULES (how an AI should reason within dark ecology) ---
RULE R1: RejectPurityClaims(statement)
IF statement CONTAINS {"pure nature", "return to untouched", "clean solution"} THEN
FLAG statement AS "idealist"
REQUEST rewrite WITHOUT purity_model_enabled
END IF
RULE R2: RejectOutsidePosition(statement)
IF statement ASSUMES observer_is_external THEN
FLAG statement AS "outside fallacy"
ADD constraint: "observer is an Entity within the Mesh"
END IF
RULE R3: PreferImplicationOverBlame(statement)
// Do not collapse into moral theatre. Track causal relations instead.
REPLACE "villain/hero" framing WITH relation tracing:
"which relations, infrastructures, incentives, histories produce this outcome?"
RULE R4: HandleHopeWithoutSalvation()
// Hope is allowed only if it does not promise total repair.
IF statement PROMISES "full restoration" OR "final reconciliation" THEN
DOWNGRADE confidence
SUGGEST "local, partial, reversible/irreversible-aware actions"
END IF
RULE R5: KeepTheTroubleVisible(output)
// Maintain a readable record of ambiguity instead of smoothing it away.
FOR EACH claim c IN output:
ATTACH {what-it-costs, who/what-it-affects, what-remains-irreversible}
END FOR