Enum Class Milestone.Reason

java.lang.Object
java.lang.Enum<Milestone.Reason>
org.horizon36596.simloop.loop.Milestone.Reason
All Implemented Interfaces:
Serializable, Comparable<Milestone.Reason>, Constable
Enclosing class:
Milestone

public static enum Milestone.Reason extends Enum<Milestone.Reason>
Why a milestone was emitted. More than one can apply to the same milestone.

There is no "a gate clause now holds" reason, though §5's "qualitatively new capability" sounds like one: both sides of a milestone are accepted answers, and an accepted verdict already has every clause HOLDS or NOT_YET_APPLICABLE, so no clause can newly start holding between them.

  • Enum Constant Details

    • FIRST_ACCEPTED_CANDIDATE

      public static final Milestone.Reason FIRST_ACCEPTED_CANDIDATE
      The first answer the gate accepted, when the loop's baseline had not passed the gate. The loop went from having no working answer to having one, which is the largest qualitative step it can take. An accepted baseline is the starting point rather than a milestone, so this does not fire then.
    • IMPROVED_BY_AT_LEAST_THE_THRESHOLD

      public static final Milestone.Reason IMPROVED_BY_AT_LEAST_THE_THRESHOLD
      The total rose by at least the loop's milestone threshold since the last milestone (or since the accepted baseline, before the first one). An accepted improvement smaller than that still becomes the new best — it passed the gate — but does not get a milestone yet, which is what stops a long run from producing hundreds of them. The gains accumulate: ten small steps that together clear the threshold emit one.
    • A_GUARDRAIL_IS_NOW_CHECKED_AND_HOLDING

      public static final Milestone.Reason A_GUARDRAIL_IS_NOW_CHECKED_AND_HOLDING
      A guardrail that was over its soft budget at the last milestone (or in the accepted baseline) is checked and holding now: the answer stopped doing something it was being penalised for, which is a real gain even when the score barely moves.

      That is the only route. "Was UNKNOWN, is now holding" cannot happen because an UNKNOWN term blocks the gate, so no accepted answer carries one. "Newly added to the envelope" cannot happen because the loop scores every run with one fixed scorer, so its guardrail names never change.

  • Method Details

    • values

      public static Milestone.Reason[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Milestone.Reason valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null