Skip to content

Time-aware mood decay: two turns a minute apart decay like two turns a week apart #8

Description

@kevindechang

decay_mood applies the AR(1) inertia term phi per turn, not per unit of wall-clock time. A conversation resumed after a week decays exactly as much as a conversation continued after a minute.

Real affect dynamics are continuous-time. The DynAffect account this transform is modelled on (Kuppens, Oravecz & Tuerlinckx 2010) is a continuous-time process; discretising it per turn is our simplification, recorded as a departure in docs/foundations.md section 3.

This is falsification item (1) in that document, and the single most defensible improvement available to appraisal.py.

Shape of the work:

  • phi_effective = phi ** (elapsed / reference_interval), with reference_interval on AffectDynamics so the current behavior stays reachable.
  • Elapsed time has to enter the transform without making it impure — pass it in, do not read a clock inside the kernel.
  • Both runtimes, plus a fixture decision: does the default stay per-turn (backwards compatible) or become time-aware (a breaking change)?

Needs someone willing to think about the API, not just the arithmetic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    researchNeeds an experiment or an evidence review

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions