Coverage Summary for Class: HeroStatus (core.primitives)

Class Class, % Method, % Branch, % Line, % Instruction, %
HeroStatus 100% (1/1) 100% (1/1) 100% (6/6) 100% (42/42)


 package core.primitives
 
 /**
  * Hero availability and disciplinary status.
  *
  * ## Role
  * - Determines hero eligibility for contract pickup (FG_03).
  * - Tracks disciplinary status from fraud investigation (WARNED, BANNED).
  *
  * ## Contract
  * - AVAILABLE: Hero can take contracts.
  * - ON_MISSION: Hero is on active contract, cannot take new contracts.
  * - WARNED: Hero flagged for fraud, can still take contracts (first offense).
  * - BANNED: Hero banned from contracts for repeated fraud.
  * - MISSING/DEAD: Terminal states from contract outcomes.
  *
  * ## Invariants
  * - BANNED heroes must not be assigned to contracts during pickup phase.
  * - WARNED status is informational; hero remains eligible for contracts.
  *
  * ## Stability
  * - Stable API: yes; Audience: adapters/tests/internal
  */
 enum class HeroStatus {
     /**
      * Hero available for contract assignment.
      */
     AVAILABLE,
 
     /**
      * Hero assigned to active contract.
      */
     ON_MISSION,
 
     /**
      * Hero warned for suspected fraud (first offense).
      * Can still take contracts but a repeat offense leads to BAN.
      */
     WARNED,
 
     /**
      * Hero banned from contracts due to repeated fraud.
      * Cannot take new contracts until ban expires.
      */
     BANNED,
 
     /**
      * Hero missing; outcome `MISSING` reached.
      */
     MISSING,
 
     /**
      * Hero dead; outcome `DEATH` reached.
      */
     DEAD
 }