Skip to content

Audit cache and effect float deadline arithmetic #932

Description

DISCLOSURE: LLM-GENERATED TEXT

Follow-up to #817's TimedCache correctness work. Other runtime deadlines still add float timestamps and durations before comparison. This audit remainder does not claim these APIs have been reproduced or fixed.

Verified source sites:

  • Runtime/Core/DataStructure/Cache.cs: ComputeExpirationTime (941), IsExpired (978), OnAccess (998), Entry.ExpirationTime (1778).
  • Runtime/Tags/EffectHandler.cs: TryGetRemainingDuration (476), duration reset (551), initial effect expiration (1076).

Characterize rounding at large finite clocks, finite duration/jitter overflow, strict versus inclusive boundaries, backward clocks, and permanent-duration sentinels. Preserve custom/sliding expiry, effect reset policy, remaining-duration output, and serialized/public contracts.

Acceptance:

  1. Add independent arithmetic oracles and deterministic failing controls for affected public operations, with ordinary-clock controls.
  2. Fix confirmed sites family-wide while preserving expiry boundaries and permanent entries.
  3. Run full native cache/effect fixtures and all threading/Odin/legacy compile variants.
  4. Update XML/feature docs and release notes. Keep chore: Production Code Base Sweep #817 open for its wider sweep.

Provenance: session 348 TimedCache audit and new finite-expiry/failed-refresh controls.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions