//---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