Repository navigation
v0.2.2
-
Add a verification-only
system-testreactor module for automated VC-ST1-001 black-box process testing: launch the packaged app JAR, verify HTTP version/status and WebSocket snapshot/reconnect behaviour, shut down via the remote terminal, and keep the verifier free of framework/app Java dependencies. -
Move the default IF-11 YAML loader and embedded build-identity interpretation into
event-timing-framework; the executable now owns only its filtered provenance resource, provider selection, launcher and packaging while SnakeYAML becomes a framework implementation dependency. -
Move reusable
infra.loggingruntime infrastructure and component-owned logging configuration intoevent-timing-framework; keep only SLF4J provider selection in the executable app, and replace the bootstrap-owned live config withLoggingServerConfigplus an independentLoggingLeveltype. -
Simplify the primary Remote API class names inside
presentation.interfaces.remoteapitoHttpEndpoint,WebSocketEndpointandMessageWriter; package structure and IF-03 behaviour are unchanged. -
Add Step-3 A08 runtime logging on the existing SLF4J/JUL boundary: executable-owned
infra.logging.Loggingand separateLoggingServer, configurable semantic startup level, timestamp-named rotating retained text files with non-overwriting collision handling for unsynchronised Pi clocks plus the same compact console/live representation, an optional client-initiated best-effort live diagnostics socket, temporary runtime-global level control, and a JavaFX Logs tab without mixing diagnostic records into IF-03 status/events. -
Organise source packages and artifact ownership around the architecture: keep primary IF-03 classes at
presentation.interfaces.remoteapi, moveTimingApplicationruntime plusinfra.bootstrap.ApplicationBootstrapand the effective configuration model into the reusable framework, and reduceevent-timing-apptoTimingApplicationMainplus concrete YAML/build-resource loaders. -
Add the Step-3 A07 IF-03 WebSocket event stream on a separate loopback-configured Java-WebSocket 1.6.0 listener with bounded inbound frames, snapshot-on-connect/reconnect, real-change-only
STATUS_CHANGEDbroadcasting, and a Java 17 Events inspector in the standalone JavaFX test client. -
Start Step-3 A06 with loopback-configured IF-03 HTTP/JSON
/api/v1/versionand/api/v1/statusresources, real HTTP adapter tests, TimingNode-focused shared status without a redundant application lifecycle block, and a standalone Java 17/JavaFX test client with versioned window title, Help/About build identity, manual version/status inspection and a built-in black remote-shell terminal. -
Start Step-3 A05 with an optional loopback-capable line-oriented TCP remote terminal, explicit
presentation.remoteShellbind/port configuration, and shared command-session behaviour with the local console; no SSH/Telnet protocol or second command model is introduced. -
Replace wall-clock
buildTimeprovenance with deterministic embeddedsourceRef,buildOriginanddirtyfields alongside version/revision, so one JAR identifies its source/build context without CI run/user/timestamp sidecars. -
Add the Step-3 A04 local console/debug shell with
help,version,status,quitandexit; expose the first real sharedApplicationStatusquery throughCommandHandlerand document a clean-checkout Windows acceptance session. -
Add the Step-3 A03 process lifetime: a configured application remains running until shutdown, waits without polling, and uses a JVM shutdown hook so Ctrl+C / normal OS shutdown closes the existing application lifecycle cleanly.
-
Start SIP Step-3 A02 with one external YAML configuration file: load and validate a single
TimingNodeId, introduce the minimal reusableTimingNodeId/TimingNodedomain objects, and compose that configured TimingNode without prebuilding presentation, overlay or I/O configuration models. -
Align implementation terminology with the accepted architecture: future logical timing aggregates are
TimingNodeobjects identified byTimingNodeId; update README scope/examples without introducing compatibility types before the first real Step-3 configuration slice. -
Resume the active Step-3
0.2.xdevelopment line as0.2.2-SNAPSHOTafter the publishedv0.2.1release, preventing ordinarymainpushes from being misclassified as attempts to recreatev0.2.1. -
Inline embedded build-metadata reading into
TimingApplication, make the executable composition directly own itsBuildIdentity, and remove the standaloneBuildIdentityLoaderclass; deployment configuration remains a separate Step-3 concern. -
Simplify the first-executable implementation around real behaviour: keep the minimal shared
CommandHandler.version()boundary and compactTimingApplication.Builder, remove bootstrap-only*Layermarkers and premature status-model objects, and moveBuildIdentitytoinfrabecause build provenance is infrastructure rather than application/domain state. -
Route repository agent guidance through
brainboxemb.meta/AGENTS.md, make dependency-owner AGENTS explicitly non-inherited, and keep implementation-specific architecture/boundary guidance local.