# V4 Unified RC1 - actual scope and release boundary This release consolidates application data recovery, native delivery status, economic family comparison, and optional verified archival. It is NOT a production actuation release. No claim that all original product requirements or hardware acceptance are complete. Sources are in the existing develop branch, not feature branches. ## Delivered code * Audited recovery for the exact 100.0/100 splitToleranceW serialization defect. The internal operator endpoint validates the two complete JSON representations, their exact SHA256, installation, inventory, and every field. Only that numeric representation may differ. Device-supplied arbitrary aliases are never accepted. Existing rows/measurements are not rewritten. The original received mapping and proof reference are recorded with the observation. A mixed 45/75 block and retries are regression tested. Adoption requires an explicit deployment flag. * Native normalization prevents recurrence. The sender preserves a separate last successful receipt even during scheduled/backoff states, reports safe numeric HTTP status (no response or credential text), and continues trying to deliver a durable prefix if the current capture cannot be appended. No cursor reset or skipped block. * Economic comparison is actually connected, not an empty score list. At the start of a local calendar day the worker freezes comparable plans for families 3/13/23 with the then-known forecasts, prices and common battery/limit state. Completed days are evaluated against subsequently acquired physical residual data. Initial energy, losses, common terminal energy valuation and 15-minute demand charge are included; monthly maxima are charged once over a comparison period, not per day. GUI lookback/minimum days/coverage/switch margin are applied by the selector. * v1 economic scope: one grid-charge-enabled battery, frozen day-ahead plans, with local grid-target tracking simulated during the day. It is NOT a full receding- horizon replay. Historical external SDL uses the then-recorded SDL request and is clearly marked as an estimate, not independently measured delivery. Missing actuals, unmatched contexts and breaches cannot become zero cost or a successful comparison. Broader device topologies stay collecting; no fake equivalence. * Lossless archive implementation and tests are present for acknowledged old native outbox days and old server observations/plans. Archives are verified before plain rows/files are retired. Active plans, acknowledged plans and unacknowledged data are excluded. Archiving is OFF by default; enable only with an explicit storage policy (native NetzfahrplanV4ArchivAktiv; server NETPLAN_V4_ARCHIVE_ENABLED=1). Compressed archives are retained: this is not an external backup or infinite disk. ## Deployment is not data/model/actuator acceptance Server entry: commissioning/deploy_unified_release.py. Default checks sources only. --apply builds and tests a separate candidate context with no network/production mounts before replacing the V4 service. It preserves the running plant allowlist, backs up SQLite consistently, and uses a pinned built image. Only the V4 planner JS asset is updated; unrelated GUI work, portal runtime, tariffs, forecasting, Symcon and actuators are untouched. Rollback restores previous source/image; additive audit rows remain. Database schema changes do not overwrite old observations. --approve-numeric-mapping-compatibility explicitly authorizes the demonstrated pair of equivalent configuration representations. Without it, strict original validation remains and backlog containing the legacy serialization is still rejected. Lihrenmoos native stage: /srv/agent/netplan-v4-unified-release/install.php. This patches three data-only libraries, reloads the existing library, compares all pre-existing properties and lets the existing data timer resume. No raw replay, force-skip or actuator callback from the installer. Archiving stays disabled by default. ## Remaining product work - do not label as complete 1. The full production dispatcher is not installed. Earlier controlled-trial code still has bounded pilot grants; continuous production authority and complete corrected physical/virtual feedback integration are NOT delivered by this RC. 2. The actual host/container/kernel and field acceptance of this release are not replaced by CLI mocks. Real source validity and independent command-loss behavior are not asserted by a measurement algebra or an override. 3. The replay limitation above must be accepted as a beta feature, or extended to continuous rolling reoptimization and additional asset types before advertising the original full automatic-selection requirement. 4. Native multi-plant commissioning, external backups, retained archive lifecycle, model quality on field data and publication authentication remain operational release criteria. The tests do not demonstrate actual cost savings. Do not re-run obsolete piecemeal installers after this release, bypass their source checks, turn the previous grid schedule on, or turn 'productionReady' true manually. The retained EV capacity is 161.44 kWh / 39 kW; SDL reserve is already outside EV.