Files
spigot-stealth/design/log.md
T
dmg 248c5e72c1
Release / release (push) Successful in 2m47s
CI / build (push) Successful in 1m10s
feat(persistence): add durable stealth state
2026-08-14 23:56:38 -04:00

1.7 KiB

Spigot Stealth Design Log

2026-08-14

  • Completion: Completed US-005 with validated eight-hour defaults and configurable messages, UUID-keyed immutable state, RFC 3339 timing metadata, safe invalid-record defaults, unknown-field preservation, atomic YAML replacement, periodic saves, and serialized off-thread persistence; verified the full Gradle build.
  • Implementation: Began US-005 with test-first validated settings, UUID-keyed state, and defensive asynchronous persistence.
  • Completion: Completed US-006 with a Java 17 Gradle build, strict compiler linting, Spigot API, JUnit 5, Mockito, plugin metadata, OKF validation, Gitea CI, conventional-commit checks, semantic releases, and versioned release assets; verified the full build and a 1.2.3 release JAR.
  • Implementation: Began US-006 with a test-driven Java 17, Gradle, Spigot, OKF validation, and Gitea delivery foundation modeled on Spigot Tyrant.
  • Creation: Established the OKF v0.1 product record for Spigot Stealth.
  • Decision: Only invisibility from a potion the player directly drinks contributes to the default eight-hour unlock requirement.
  • Decision: An unlocked player who disconnects while their qualifying potion effect remains active conceals their identity for the entirety of their next online session.
  • Decision: Each concealed session requires a new qualifying potion and disconnect; concealment never carries automatically into another session.
  • Decision: Concealed players remain physically visible but have no join announcement, tab-list entry, or overhead name tag for any player, including administrators.
  • Decision: Administrators can inspect and manage online or offline progression and list currently concealed players.