{"ok":true,"service":"SailrScience Physics API (R11)","service_version":"R11.94.0","architecture":"composite","build":{"deployed_commit":"fb848f4c3d62fbe048a8038f0a17efea1c22bda6","physics":{"package":"@sailedge/physics","version":"11.38.0","sha":"934e9fb40b3a35c9d2b3c97e22ddced83da335a1"}},"engine_r16":{"tree":"physics-r16","preview":false,"version":"16.41.0","source_sha":"8d201f2b676cb49df427f02ede66e3a9ee4e6e6a","git_head":"8d201f2","source_kind":"archive-at-sha","vendored_utc":"2026-10-30T00:26:35.396Z"},"engine_r16_load":{"loadable":true,"exports":24},"models":{"aero":"aeroService_r11","physics_kernel":"physicsKernel_v4_0","legacy_hydro":"SailrScienceModel_R10_1_0_hydro"},"schemas":{"boat_required":"v4.3","sail":"v2.2.0","orc_default":"v5.0","orc_legacy":"v3.1"},"endpoints":{"calculate-r11":{"modes":["point"],"ops":["edge_delta_grid"],"description":"Dual-path: op-based (edge_delta_grid) + mode-based (point). compare mode removed."},"calculate-r12":{"modes":["point"],"ops":["edge_delta_grid"],"description":"R12 side-by-side endpoint: same pipeline as calculate-r11, defaults the upwind force model to unified (DESIGN-R12U aero decoupling). Override via options.aeroForceModel | plan.aeroForceModel."},"calculate-r13":{"modes":["point"],"ops":["edge_delta_grid"],"description":"R13-DSH interface on its own composition root: point-lane dshProjection defaults to on (residual-gated convex hydro + derived-geometry enrichment). Vintage-comparative surface alongside r11/r12; override via plan/options.dshProjection."},"calculate-r15":{"modes":["point"],"ops":["edge_delta_grid"],"description":"R15-SA: the standalone physics engine (@sailedge/physics-r15) on its own formal endpoint — same physics law as calculate-r13 at the current pin, byte-parity-proven at engine and wire grain, native R15 identity (never conflated with a prior version). Point-lane dshProjection defaults on."},"calculate-r16":{"modes":["point"],"ops":["edge_delta_grid","cert_delta_grid","optimal","optimal_merge","plan_grid","candidate_catalog","regime_compose","regime_defaults","regime_windows","column_guidance"],"description":"R16-SA on its own formal endpoint (@sailedge/physics-r16 @ 16.41.0, engine head 8d201f2 -- R11.94.0 (the Club class composes its windage on LOA-band defaults, W5; the review v3 ten cures, AU-8; W3 one engagement word; 16.40.1 / 3afa418 the served pin this wave replaces, R11.92.0 / R11.93.0); dated history: R11.93.0 (the policy wave on the unmoved 16.40.1, ADRD-MS-REG-1 DQ-REG-0 (a): op:column_guidance with the fragments guidance evidence and guidance_scope (NC-2 D-1); kinds_aboard beside kindWinners; the optimal budget guard optimal_over_budget; the regime-windows family rule text and tws_floor_source; the FYD harness battery governed) over R11.92.0 (the kite set reef closure cured, RA-2 REL-2: the ramped optimum, never the limit line; 16.40.0 / 9a3030f the served pin this wave replaces, R11.91.0); dated history: R11.91.0 (the kite-centre flip, P-AERO REL: the centreline asymmetric at the ORC 0.517 x ISP, the pole and symmetric families unchanged; 16.39.2 / ff11e25 the served pin this wave replaces, R11.90.0); dated history: R11.90.0 (the soft-ramp flip, RA-2 REL, with the explicit-closure and trial.join cures of 16.39.1, RA-2 REL-1, and the kite-floor lattice of 16.39.2, JKF REL; the RM profile contract; 16.38.0 / 86e0326 the served pin this wave replaces, R11.88.0 / R11.89.0); dated history: R11.88.0 (the deep-white flip, AU-5; 16.37.0 / 6065c6a the served pin this wave replaces, R11.87.0); dated history: THE FAST TRAIN R11.87.0 (the declared geometry class and the heel lane applied form factor (DG-1 / SL-W5 / AU-4a; no root default flips) -- no served value moves on a certificate-only boat, four presence leaves on every record (hydroState.liftSystem.sweep_declared_deg / sweep_basis, hydroState.heelResiduaryLaw, hydroState.formFactorApplied), a declared-geometry document moves its drag total and appendage decomposition by the strips allocation (sub-0.1 pct); 16.34.0 / 1cfe847 the served pin this wave replaces, R11.85.0); dated history: THE 16.34.0 WAVE R11.85.0 (the DSYHS appendage reference geometry (DS-G1: the rudder span 0.266 m, the lateral planes as the lift areas scaled to the subject span with the reference lateral AR, Whicker-Fehlner cos^4, the sweep default 0 deg) -- the solved leeway, the keel lift, the appendage drag, the induced term and drive_over_drag move on every heeled record; the rudder lift, the heel, the aero and the demand byte-still; 16.33.0 / 9b8f708 the served pin this wave replaces, R11.83.0 .. R11.84.0); dated history: THE 16.33.0 WAVE R11.83.0 (the three hydro root flips carried in one act -- 16.31.0 inducedDragLaw orc_system_draft_0_92 (ORC system draft, the heel multiplier), 16.32.0 sideforceCanoeDraft canoe_ladder (the one canoe draft of record; the determinants set gains the kind certificate_draft and the member effectiveBoat), 16.33.0 sideforceDemandFrame centreplane_normal (the demand squared as composed, normal to the centreplane) with F09 one route on Cw documents and the windage axial deferral words by mode; every solved record moves in drag and balance and the scores follow; the heel, the aero and the demand byte-still; 16.30.0 / 87ed10e the served pin this wave replaces, R11.82.0 .. R11.82.1); dated history: THE 16.30.0 WAVE R11.82.0 (16.30.0 TD2-W6 at the tag v16.30.0: the kind-aware sail lookup (a repeated label resolves by the seat kind class; typed inabilities), the converter R11.16.0 unique sail ids (INFERNO and FOX 2.0 byte-still), the twelve basis and floors re-emitted under the no-jib catalog and the NET pick; no kernel movement; the served solve of a posted plan untouched; 16.29.0 / d0f6135 the served pin this wave replaces, R11.80.0 .. R11.81.0); dated history: THE 16.29.0 WAVE R11.80.0 (16.28.0 AERO-S1-REL at cf2028f, aeroWindProfile orc_eq_7_1_at_sail_ce the root default: the served aero profiled by ORC VPP 2026 eq. 7.1 to each WHITE sail centre of effort, the reefed over-read cured, the kites byte-still; with 16.29.0 VS-S3, the variable solve serving layer src/serve/, unused until the K-2 cut posts its word; 16.27.0 / d0aadca the served pin this wave replaces, R11.78.0 .. R11.79.0); dated history: THE 16.27.0 WAVE R11.78.0 (REL-FLIP: THE ONE FLIP of three root keys with H -- heelMomentHydroArm orc_clr_depth (the hydro-aero heeling moment at the engine's own CLR depth on every heeled record; the H-1 leaves), windageInBalance composed (the signed axial windage composed EXACTLY ONCE into the net longitudinal balance: THE SERVED DRIVE SIDE IS THE NET DRIVE, the gross ratio drive_over_drag beside), whiteReefLaw orc_red_2026 (ORC's RED scheme on the jib set as the Sailor's order's third stage on a plan flying a headsail); every old word a valid word by key; 16.26.0 / ce0358f the served pin this wave replaces, R11.75.0 .. R11.77.0); 16.23.0 THE TWO DEPOWER LAWS OF THE SAILOR'S ORDER (AP-S5 the main's reef as the order's third stage in ORC's word r; AP-S6 the kite SET's global reef from full to the change-down trigger 0.88, the typed hand-off, then the set's reef to the kite's floor; the editions candidate_request/9 and applied_state_record/9; the parity baseline byte-still; re-pinned 2026-10-16, the operator's ruling on ADRD-MS-AD-2 DQ-AD2-1 .. 9 (a)) over 16.22.1 THE POINT RELEASE (the ORC base boat's residuary curve a load-time constant; a full point solve 157 -> 29 ms; no physics leaf moves; re-pinned 2026-10-16, the operator's ruling DQ-W74-7 (a)) over 16.22.0 THE RELEASE OF THE APH REMEDIATION (served since R11.74.0, THE 16.22.0 WAVE; the engine NOTICE of 2026-10-15; the corporate RULING of the Law of the APH; R-CB-6 / R-CB-7): the ORC public 2013 hydro composition the default on every record (hydroBase orc_public_2013, the certificate appendage residual, the waterline-estimate match beam, the kheff span factor, the 0.85 reference length), ORC VPP 2026 sec. 6.1.2 appendage strip method on the thinner race fin (appendageDrag orc_strip_2026, appendageThickness race_fin_0_10; appendage_law / appendage_strips / appendage_lift / appendage_thickness at every hydro mirror), THE LAW OF THE SAILOR'S ORDER on every saturated cs3 decision solve (flat, then twist, then the MAIN's reef in ORC's word r (16.23.0 AP-S5; the set's reef at 16.22.x), then the force scale at its floor typed force_scale_floor_bound_saturated; physics.depowerAtLimit the stage rows; applied_state_record/9 (16.23.0; /7 at 16.22.x); on a kite plan the SET's reef to the change-down trigger, the typed hand-off, then the set's reef to the kite's floor (16.23.0 AP-S6; the kite's ease the sailor's own trim outside the order; at 16.22.x the ease, the hand-off, else the kite's own reef); the consumer seats reef { set: g } and reef { code: r | solve } admitted on the prescribing carriers; the join recomposition checks on every join record), THE LAW OF THE CLOSING SPEED as vendored on op:point (physics.speed_solve on a departed plan under the served word; the library default off; the typed law) -- ADOPTED ON THIS WIRE since R11.74.0 (ADRD-MS-AD-1 as ruled 2026-10-15): the typed 200 'No solve available' on every cs3 lane where the service cannot verify a join (solve_status no_solve_available, the numbers withheld, the join account kept, the two words; the HTTP 500 class retired by replacement); the closing speed on op:point at Tier 1 (speedSolve detect injected on the user plan, the as-rated plan solved by a second call under force, closing_speed the delta of record with the R-CB-7 sentence and the three-figure user sentence; asRatedPlan admitted and echoed; a caller speedSolve refused typed); the white set global reef seat reef { set: g } admitted through the gate with the engine own refusals verbatim; the Optimal stage rows carry the order words presence-only, the typed arm names the kite change-down hand-off, the typed floor state is a typed stage the selector passes over -- this service names NO depower word and exposes NONE of the engine keys (DQ-W74-2 / DQ-AD-9); on 16.21.1 (PB-S1, DQ-R7-2 (a): the upright base hydro match takes the solve projection word -- ONE donor set per hull on every path; a record moves where the convex projection admits its hull at its SAILING displacement, INFERNO among the catalog boats) on 16.21.0 (AC-S3, the appendage area from the certificate: the appendage wetted area is the residual the certificate itself leaves at its measurement condition, bracketed by the series own band; the typed unavailable form where the residual cannot form; the 16.20.0 bias word never served) on 16.20.0 THE SIX ROOT KEYS FLIPPED (three standing at 16.22.0 -- the ORC kheff span factor on every white-plan solve, the axial windage composed into the longitudinal balance, the hull matched on the certificate waterline beam estimate -- three superseded by the APH remediation; anchor_balance on every record; the converter R11.15.0 on fresh conversions); THE BASELINE-FREE OPTIMAL (MS-BF-1, leg D, served since R11.74.0: every ranked score the polar times the root of the record own drive over drag minus one, score_basis polar_referenced/1, no Base plan solved, the balance guard on every decided cell from anchor_balance); ONE MARGIN, THREE HOLDS (MS-LP-S1, served since R11.74.0: the decisive 0.15 kt strict; the main-seat hold deferred_twin_main, the stage precedence with the margin, the family hold of the trim law version 3; the stamp per_kind_shallowest_stage_first_with_margin/2); on 16.19.1 (the RP-S1 patch, the operator ruling of 2026-10-12: the declared reef profile per station, the band [0.10, 0.50] of P ADVISORY, the refusal only where the cut cannot be computed) on 16.19.0 THE FINAL PHYSICS RELEASE OF THE CYCLE (served since R11.72.0, THE ONE VENDOR WAVE): the seven converter classes of SC-S3 on every converted inventory row (the inner-headsail setting and role, staysail_type, the spinnaker girth ratio, the asymmetric intended_use at the 0.85 ratio, the nominal AWA leaves, stiffness_class; the converter R11.14.0), the disclosure words aero.diagnostics.coefficientsSource and physics.forceBalance.hydro.rudder.coupling on every record, the asymmetric tack rule per the certificate recorded fields TPS / ArtSprit (Table 5.9 the centreline, Table 5.10 the pole), the declared reef profile per station with the band advisory and the typed refusal only where the cut cannot be computed (16.19.1), the Froude-support labels only strictly beyond [0.15, 0.45], the 16.18.0 classes folded (the 2026 HSF Table 5.11 on Code 0 records; the heel pair absent at the heel table knots); the temperate-zone per-boat seed RETIRED from the served default (MS-TZS-1, leg C: the disclosed zero); the pools by ROLE in op:optimal (MS-SC3-S1, leg E: a seat-role staysail never heads a white plan; the spinnaker staysail inside every kite plan, the genoa staysail inside every Code plan; the declared primary main first at an exact tie); the engine words on the op:optimal stage rows, presence-only (DQ-W9-1: the typed inability on a refused stage, the reef-profile advisory and the siblings words on a materialized one) — 16.4.1 the CJR converter FHS/J-overwrite cure, 16.4.2 the APH ToD extraction release: adapter-only waves, no engine-domain content moved; 16.5.0 the hydro-explainability force-balance release (served since R11.53.0): physics.forceBalance on every composite point — the heel excess, the lateral shortfall, the longitudinal imbalance disclosed not solved, GZ and GM, the NA confirmation set — passed unchanged at every tier and on every non-lean edge core cell, absent under the explicit tier-1 lean shape; disclosure only, no solver numerics moved; 16.6.0 the NA-review remediation release (served since R11.54.0): the additive leaves — the derived length basis (ims_l_m / length_basis), the term statuses beside every drag term, the base-curve arm, the GZ/GM equivalence words, the comparison re-base named as arithmetic — no existing leaf moved, no solver numerics moved; 16.7.0 the successor release (served since R11.55.0): the engine carries an opt-in successor sail-state contract beside the preserved legacy default — ENGINE 16.7.0 WAS VENDORED at R11.55.0 with successor service selection unavailable pending its own service-integration wave; 16.8.0 the PA release (served since R11.56.0: PA-S1 + PA-S2, the prepared-candidate exports, additive; no solver numerics moved); 16.9.0 the declared-reef-profile release (served since R11.60.0: under the carrier a mainsail row's declared power_settings.reefN is honoured in place of the legacy reef row, a partial declaration completed by the certificate width-station rule, typed refusals sail_state_reef_profile_*; the legacy path byte-identical; no served boat declares one today); 16.10.0 the capability-wave release (served since R11.62.0: the engine accepts per-sail flat / twist value seats, a number or 'solve', under cs3 and returns applied_state_record/2 — at R11.62.0 this service sent none of the new seats, its ladder words unchanged, and since R11.63.0 it derives them from the five-rung ladder (the clause at the end of this description); a request carrying the retired key flatten is refused typed sail_state_vocabulary_superseded; the identity at the reference holds, the legacy path byte-identical); 16.12.0 THE DEFAULT-MOVE release (served since R11.65.0: the served DEFAULT upwind aero model for jib-and-main cells is the ORC public composition orc_public_low_spanc on EVERY lane of this endpoint — the carrier-less point / Edge / Optimal AND the cs3 carrier through the engine's moved default alike -- the server states no force model of its own since this release (DQ-V12-9 (c)); aeroForceModel 'unified' is the comparison arm (the 16.11.0 default); the disclosure leaves forceModel.upwindModelSource / fallback_reason and the orcPublic leaf ride every composed record; a plan the composition cannot be formed on falls back typed to unified and says so; THE NUMBERS MOVE — a BREAKING change for carrier-less callers, declared); 16.13.0 THE KITE release (served since R11.66.0: the heel limit under a spinnaker — a plan whose code seat decodes ASYM / SYM / GENNAKER — is the engine's own documented basis 21.5° (orc_spinnaker_limiter_21_5, ORC VPP 2026 §5.2.3) on every kite-plan solve naming no strictly-lower declared limit, on every lane of this endpoint; a declared limit strictly lower binds; a declared 21.5 ties — identical physics, the spinnaker word; CODE0 keeps 25°; the upwind composition, the kite aero tables and the datum scope unchanged; the kite-plan NUMBERS MOVE where the new limit caps — a declared default-path movement; every jib-and-main solve byte-still); 16.14.0 THE KITE-SEAT release (served since R11.67.0: the code seat of candidate_request/3 — request.flat.code and the NEW control key request.reef.code, each a number or 'solve'; FLAT on a kite as ORC's rotation-form algebra, REEF on a kite as ORC's continuous spinnaker reef (ORC VPP 2026 §5.1.3; the floor from the certificate's rig — spinnaker_reef_floor_underivable where a rig field is absent, never a silent 0.85; reef_out_of_domain with the floor named, never clamped); the stage solve on the code seat; every cs3 record applied_state_record/3 (the schema word and four additive leaves on every record, jib-and-main records at reference — no numeric movement on any jib-and-main record); the carrier gate admits the request key reef on the prescribed carriers since this release, passed through verbatim to the engine's own typed refusals (the gate re-implements no vocabulary); the SYM / GENNAKER → ASYM alias RETIRED — the engine's materializer's and this service's own legacy aero-key alias in the same release — so a symmetric kite evaluates the r12 SYM / GENNAKER tables on every lane: the SYM / GENNAKER NUMBERS MOVE, a declared movement classified at the release; ASYM and jib-and-main solves byte-still but for the record edition; the served Optimal ladder unchanged — no served rung sends reef.code; the ruled KITE ladder and ST-S1 are the next promotion, R11.68.0); 16.15.0 THE SPINNAKER-SET release (served since R11.67.0: the kite force model of record on every kite plan at the root default — the ORC public spinnaker composition AS THE SET (ORC VPP 2026 Tables 5.8 / 5.9 / 5.10 with Table 5.2's main across all angles; the kite's centre 0.565 × ISP; the whole-set datum; the reef per probe), so THE KITE NUMBERS MOVE on every lane — a declared movement classified at the release; r12 the comparison arm by an explicit options.downwindForceModel; the kite-only typed fallback to r12 where the composition cannot be formed, disclosed; the identity leaves forceModel.downwindModel / downwindModelSource / downwind_fallback_reason and the orcPublic.spinnaker leaf on kite records; the options echo physics.qa.optsUsed.downwindForceModel orc_public_spinnaker / root_default on EVERY record; the typed refusals orc_public_spinnaker_* on an explicit key; the kite seat of 16.14.0 carried whole with the join verifying a disclosed code-seat solve; jib-and-main solves byte-still; the served Optimal ladder unchanged — the KITE ladder and ST-S1 are the next promotion, R11.68.0); 16.16.0 THE DEPOWER CLOSE-OUT release (NEVER SERVED: vendored on 2026-10-10 as R 7690e72 and HELD on the finding of this service -- the kite-ease seat gap: the engine eased a kite only when the plan carried an ease seat, so every seat-less kite plan was evaluated un-eased and typed at the cap; remediated by the engine lane at 16.17.0); 16.17.0 THE AUDIT REMEDIATION release (served since R11.71.0, exported at the tip 3698c4d = the release commit e3683cb + one words-only commit: a kite plan sent WITHOUT an ease seat whose decision solve saturates at the enforced limit SOLVES its own ease BEFORE any typed state -- the least ease that holds the 21.5 deg limit, bounded by the floor 0.88 (requested_source default on the ease control of the record, the materialization of a seat-less plan keeping its own requested_source absent; an unsaturated kite plan is not eased; under the main rungs the kite rides at the floor, default_carried_floor); the typed state no_admissible_kite_state only where the floor cannot hold the limit, the physics solved AT the floor; the typed state triggered by the enforced limit alone, never the advisory temperate zone; the hydro labels made true (sideforceFnClamped / sideforceFnRange RETIRED; sideforceFnExtrapolated, sideforceFnSupport, sideforceHeelClamped, sideforceHeelRange presence-only; the heel regression Froude clamp on the lane status with the suffix _fn_extrapolated and the amber reason dsh_heel_regression_fn_extrapolated); the set conservation delta and the area contract per member; the SI datum read first (hbi_source, hbi_unit, hbi_document_unit_system); the kn-prior and the hull unchanged; the converter unchanged (no producer file moved but src/version.js); every jib-and-main physics NUMBER byte-still; THE KITE NUMBERS MOVE on every seat-less kite cell the un-eased solve had typed or capped -- a declared movement classified at the release). SINCE R11.56.0 THE SUCCESSOR IS SERVED on this endpoint through the wire carrier body.sailState (contract cs3): a PRESCRIBED point evaluation (mode point; planAuthority PRESCRIBED; request, or candidates — a prepared candidate set, nothing selected), PRESCRIBED evaluation across the grid (op edge_delta_grid) and the Optimal map (op optimal | optimal_merge; planAuthority AUTONOMOUS-OPTIMAL: the server's pool, the five-rung depower ladder FULL, FLATTEN, TWIST, REEF1, REEF2 (since R11.63.0; dated history: the six-stage interleaved ladder FULL, FULL+TWIST, REEF1, REEF1+TWIST, REEF2, REEF2+TWIST from R11.57.0 to R11.62.0; four-stage at R11.56.0), the selection policy ladder_first_unmodified_closure_then_least_eased_within_allowance/1 (since R11.58.0, the operator's E-3 ruling of 2026-09-24: unmodified closure first in ladder order; failing every stage, the least-eased CLOSED stage is admissible when its retained-force factor is at or above the DECLARED ease_allowance 0.75 and is ranked with its ease disclosed -- reasonCodes closed_with_residual_ease, the plan row's feasibility the policy's word powered with feasibility_basis.source policy_allowance; a closed eased stage below the allowance is returned for diagnosis apart -- eligibility diagnostic, the claim disclosed, all_overpowered, feasibility overpowered; a cell is blocked only when no stage closed at all; the allowance named on every envelope as sail_state.policy_parameters and basis.policy_parameters; the R11.56.0 / R11.57.0 policy ladder_first_unmodified_closure/1 stays registered, not adopted) and the precedence per_kind_shallowest_stage_first/1; since R11.59.0 (NS-3, the declared-ladder contract) the caller may declare WHICH REEF STATIONS the map may use -- sailState.reef_stations, a set of distinct served station words (REEF1, REEF2; FULL implicit and always evaluated; an empty set lawful): the server derives the ladder (the table filtered to FULL and the declared stations), evaluates only the derived stages, selects under the unchanged policy and precedence, echoes the declaration as basis.ladder_declaration { reef_stations, source caller_declared | server_default } and reads the trim guidance from the first declared station (sail_state.guidance { reef_station, status }; a station other than REEF1 yields boundary reef_above_TWS_kt with the station named; no reef declared -> the ease boundary only); a malformed declaration is refused typed (sail_state_carrier_invalid:sailState.reef_stations[i]); on a prescribing carrier the key is a conflict; the absent key is the served ladder, byte-identical to R11.58.0 but for the additive leaves; the reef sizes are an engine seam, not a carrier field; since R11.61.0 THE CAPACITY CUT -- sail_state.evaluation_extent { stages ladder_order_to_selector_stop/1, baseline first_batch_every_kind_then_where_evaluated/1 } on sail_state and on basis: a non-fenced plan's ladder is evaluated in its order to the selector's stop (a stage never reached reads unevaluated; the first reef station's own row evaluated for the guidance where FULL is classed overpowered, counted in evaluations.candidate and disclosed apart as evaluations.guidance_station), a batch of index >= 1 resolves only the baselines of the kinds of its own plans not fenced at that cell (an eligible kind it did not resolve is named on baseline.perKind; the merge per kind, batch_baseline_mismatch | batch_baseline_unresolved typed), and the hull shape curves are not carried on the Optimal ops under the carrier (one boat_key; the diagnostics word hull_shape_curves_not_carried); envelopes of different extents, or of none, never merge -- all served on the additive sail_state block; merge_carrier on a batch envelope) — every carrier defect a typed HTTP 400 (sail_state_carrier_invalid · sail_state_contract_not_enabled · sail_state_request_conflict · sail_state_feature_excluded; the response guards sail_state_edge_response_size_exceeded · sail_state_optimal_response_size_exceeded; the merge invariant batch_sail_state_mismatch); since R11.57.0 the Edge bounds are typed at the gate, a mutilated batch envelope is refused typed, and a carrier-bearing optimal_merge REQUEST over 5,000,000 bytes is refused typed BEFORE any merge or solve work (sail_state_optimal_request_size_exceeded; the caller submits the documented merge-carrier form rather than complete display envelopes and measures the complete serialized request against the ceiling, partitioning by cells where necessary — an irreducible single-cell request is an explicit limitation; the 4,000,000-byte response budget stays separate) — the service word covers only bodies the platform delivers: the platform refuses request bodies over about 6 MB with 413 before the function runs, so a caller measures a merge request before transmitting it and posts fewer cells of batch records per merge; a caller's planAuthority is a declaration, not authentication (the bearer check unchanged); a body without the carrier evaluates exactly as before (the 48-request A/B exact on every numeric leaf; the App's carrier-less Optimal map byte-identical). The raw engine option is NOT the carrier: a caller-supplied options.sailStateContract (or, on op:edge_delta_grid, edges[i].options.sailStateContract) stays refused — HTTP 400, error.code sail_state_contract_not_enabled — never discarded or forwarded; a request that omits it evaluates exactly as before; the U6 Heel-Confidence line + the U4 NA-authority package + the heel-limit selector (16.3.0: the applicable reference heel limit is selected per point from the EVALUATED sail configuration — 30° general per the ORC VPP's documented high-heel limiter, a conservative 25° for a headsail set flying (an R16 policy value, so labeled), since R11.66.0 (16.13.0) 21.5° under a spinnaker (ORC's documented limit, §5.2.3; basis orc_spinnaker_limiter_21_5), a declared lower limit binding when strictly lower; every response carries physics.heelLimit_deg + physics.heelLimitBasis; the deprecated client heelLimit_deg scalar is no longer a serving authority; an unclassifiable code-sail state refuses typed — a valid state with no equilibrium within the limit stays a successful typed result) + the F-1/F-5 promotion (16.4.0: F-1 continuous area reduction = ruled model law behind a deny-by-default opt-in ENGINE seam, not enabled by the serving default — flag-absent solves byte-identical; heelPath.rmSource is provenance-truthful — composition-attached curves read kn_prior_composed, caller-provided curves keep certificate_curve)): serving default = the kn_prior RM model on the canoe basis, with the canonical applicability block on every response (supported / confidence_limited / not_available_from_certificate / analysis_unavailable). The four-arm severity law: a finite, bounded calculation publishes its real numbers — soft confidence limitations aggregate to confidence_limited ('Stability confidence: Low'); genuine computational failures publish no numbers. options.rmModel \"cert\" through this endpoint = the R15-parity physics. Caller options always win; point-lane dshProjection defaults on. calculate-r15 remains the R16 parity twin and the rollback lane. op cert_delta_grid (R11.52.0, the Option-D ruling): the certificate-to-certificate comparison — separate baseline/candidate documents through the same pinned engine at the same env/anchor/held-constant plan; delta in kt AND s/nm, raw + publication-bounded with clamp evidence; identity comparisons publish exactly flat by converged dual solve; document fingerprints + engine/service provenance in meta; the tuning plane typed-rejected on every channel; hydro (HEI) gain disabled by ruling; typed flyability/solve/bounds refusals with complete cell accounting (maxCells 56). Since R11.63.0 THE FIVE-RUNG LADDER (DU-M3; a service-only release): the Optimal map under the carrier walks FULL, FLATTEN, TWIST, REEF1, REEF2 -- one word per control on each served definition (flatten off | on, twist off | on; the twist words NORMAL), the server deriving the engine's per-sail value seats equal by construction (solve where a control is introduced; the exhausted bounds flat 0.53 / twist 1 carried; none where off), the stage rows carrying closure.solve and closure.controls with heel_at_closure_deg, margin_to_limit_deg and solve.drive_retained, a control the engine did not engage read as a typed stage_unavailable, and sail_state.guidance.controls per core cell from the winner's selected stage; the prescribed carriers admit flat / twist and pass them to the engine's own typed refusals; the force model of every cs3 evaluation is unified, stated once; the engine does not move (16.10.0 / 422b8ba). Since R11.64.0 THE TWO SEAMS UNDER THE CARRIER (DU-M4): the Edge op admits sailState.baseline { request, baseline_id? } (one per request; materialized first and once; the legacy baseline bindings on a second prepared working set; the baseline row appended to stage_materialization; sail_state.baseline { form, baseline_id } echoed on every Edge response), and the three envelopes naHeelOverlay, boatDesignOverride and the selected-sail overlay are admitted beside the carrier on every carrier op with the legacy semantics and the typed tier word tier_below_2 for the selected-sail family (the design override is admitted at every tier, as the legacy -- its tier-3 word struck on [V-M4-9], 2026-10-04); the engine does not move (16.10.0 / 422b8ba) — until R11.65.0, where it moves to 16.12.0 (c8416b7) and the served default aero model moves with it on every lane (the 16.12.0 clause above); at R11.66.0 it moves to 16.13.0 (13696d7) and the heel limit under a spinnaker moves with it on every lane (the 16.13.0 clause above); at R11.67.0 it moves to 16.15.0 (f4f6247) and the applied-state record's edition, the code seat, the retired SYM / GENNAKER alias and the kite force model of record (the ORC public spinnaker composition as the set) move with it on every lane (the 16.14.0 and 16.15.0 clauses above). Since R11.68.0 THE KITE LADDER AND THE LAW OF SAILOR TRIM (a service-only release on 16.15.0 / f4f6247; the operator rulings DQ-KL-1 .. 13 of 2026-10-08): the Optimal map under the carrier walks a ladder per kind -- WHITE FULL, FLATTEN, TWIST, REEF1, REEF2 unchanged; KITE FULL, TWIST, KITE-REEF (the main's twist under the kite, then the kite's own reef on the code seat); CODE on WHITE -- with sail_state.ladders / basis.ladders_definitions additive beside the WHITE block, each plan prepared from its own kind's table and the precedence reading the plan's own ordinal; and the Law of Sailor Trim decides each wind column (WHITE and KITE: the largest sufficient sail family holds, a smaller enters only where the one in hand is insufficient, no larger returns at a higher wind; winner_basis sailor_trim and trim_law on a decided cell, the passed-over plan the runnerUp; sail_state.trim_law on every envelope); the kite rows carry closure.controls.code and guidance.controls[].reef_code; the engine does not move. Since R11.69.0 THE INTERIM KITE LADDER (the operator's rulings of 2026-10-09: KITE-REEF ruled FALSE; the kite ladder of record FULL, KITE-EASE, TWIST, REEF1, REEF2 with the kite's ease at the engine's /4 seat, 16.16.0): KITE FULL, TWIST, REEF1, REEF2 on the main -- the kite's own rung absent and disclosed (basis.kite_ease: served false, the floor 0.9 an operator-supplied value), the eased whole plan inadmissible for a kite (ease_allowance 1 on every kite plan; an eased kite closure DIAGNOSTIC requires_residual_ease; CHANGE DOWN to a sufficient smaller inventory kite, else the kind change); the Law of Sailor Trim unchanged; the engine does not move. Since R11.70.0 THE DECISIVE-MARGIN TAKEOVER (a service-only release; the Law of Sailor Trim version 2): the next smaller headsail family takes over where its best beats the family in hand's by more than 0.15 kt (rule 1 bis, the WHITE kind only, no return); sail_state.trim_law version 2 with decisive_margin_kt / decisive_margin_kinds / takeovers; trim_law.takeover on every takeover cell; the engine does not move (16.15.0 / f4f6247). Since R11.71.0 THE /4 VENDOR WAVE (PhysicsR16 16.17.0 at the tip 3698c4d through the vendor-wave profile, DQ-VWP-1 .. 7 (a)): the engine moves to 16.17.0 and the kite ease on its own seat moves with it on every lane (the 16.17.0 clause above) -- every kite plan this service sends carries no ease seat and is eased by the engine by default where its decision solve saturates at the enforced limit (the least ease that holds the limit, bounded by the floor 0.88; the kite at the floor under the main rungs); the KITE ladder stays FULL, TWIST, REEF1, REEF2 on the main (basis.kite_ease served true, the floor 0.88 with its provenance; the kite at the floor under the main rungs); the KIND CHANGE in the per-cell fill law (a kite-authority cell whose kite rows are all outside the ranking is won by the next kind, KITE -> CODE -> WHITE, winner_basis kind_change with the leaf kind_change { from, to, cause, entered }); the kite ease read back on every KITE stage row (closure.controls.code.ease); the carrier gate admits the request key ease; the Law of Sailor Trim version 2 unchanged; the hydro labels on every record; every jib-and-main NUMBER byte-still; the kite NUMBERS move where the default ease closes or the floor binds (a declared movement, classified at the release)."},"calculate":{"description":"R10 legacy endpoint (unchanged, backward compat)"},"orc-convert":{"description":"ORC certificate converter — since R11.50.0 the default lane (no schema_version, \"v4.3\" or \"v5.0\") is the ruled single producer: the vendored @sailedge/physics-r16 adapter (vendored 16.8.0, the adapter unchanged since 16.4.2 — the CJR FHS cure + the APH ToD extraction; emits schema v5.0, discloses `producer` on every envelope, X-SailrScience-Orc-Mode names the emitted schema); explicit \"v3.1\" = the legacy R10.8.5 envelope (unchanged). Since R11.51.0 (W-ENT-1b B3) EVERY conversion requires the signed SailEdge license claim — Authorization: Bearer <Identity access token> whose entitlements carry product sailedge, verified statelessly against the Identity JWKS (typed refusals 401 slot_claim_required / slot_claim_invalid · 403 not_entitled · 503 slot_claim_unverifiable; X-SailrScience-Slot-Claim discloses verified;kid= or refused;code=); the static API token no longer authorizes a conversion."},"health":{"description":"This endpoint"},"auth-tier":{"description":"Tier password gate (unchanged)"}},"capabilities":{"cert_delta_grid":true,"rm_curve_binding_gate":true,"r16_rm_engine_endpoint":true,"r16_applicability_block":true,"r16_heel_limit_selector":true,"r16_rm_source_composed_label":true,"r16_force_balance_disclosure":true,"r16_successor_sail_state_carrier":true,"r16_kite_seat":true,"r16_kite_force_model_orc_spinnaker":true,"r16_kite_ladder":true,"kite_fill_fence":true,"stage_control_disclosure":true,"sailor_trim_law":true,"r15_standalone_engine":true,"induced_breadth_effective_span_law":true,"pipa_propeller_installation_drag":true,"cosphi_heel_corrected_wind_triangle":true,"foilaware_headsail_stations":true,"upsplit_powered_subbands":true,"fb_w2b2_rigfa_emission_retired":true,"optimal_pool_user_sail_exclusions":true,"edge_core_tier1_lean_shape":true,"optimal_fused_merge":true,"yaw_net_couple_rudder_law":true,"optimal_candidate_batched_merge":true,"optimal_server_timing_disclosure":true,"declared_sail_planform":true,"optimal_pool_inventory_enumeration":true,"ufill_feasibility_fill_law":true,"fb_w2b_freeboard_aft_refiling":true,"tier_independent_physics_solve":true,"w2_windage_wire_disclosure":true,"r11_7_3_tuning_profile_blend_override":true,"r11_7_2_tws_rebound_multiplier":true,"r11_7_1_aero_centroid_ce_alignment":true,"r11_7_downwind_force_blend":true,"r11_6_form_stability_gz_shape":true,"r12_unified_aero_endpoint":true,"r12_aero_decoupled_strategy":true,"r13_dsh_endpoint":true,"vintage_point_defaults":true,"engine_self_identification":true,"na_curve_crew_basis":false,"na_curve_crew_mass_displacement":true,"f8_orc_runtime_crew_physics":true,"depower_temperate_zone":true,"temperate_zone_seed":true,"r11_composite_point":true,"r11_edge_delta_grid_parity":true,"r11_native_edgeMap":true,"boat_v43_required":true,"boat_v43_validation":true,"campaign_presets":true,"campaign_scope_enforcement":true,"cell_provenance":true,"amber_scoring":true,"auth_tier":true,"orc_convert":true,"orc_convert_r16_producer":true,"orc_convert_slot_claim":true,"cohort_hei_compute":false,"orc_schema_v3_1":true,"orc_hei_forward_compat":true,"sanitize_nan":true,"cors":true,"bearer_auth":true,"request_boundary_hardening_r11_82_1":true,"r16_converter_classes_16_19_0":true,"r16_coefficients_source_disclosure":true,"r16_asymmetric_tack_rule":true,"r16_reef_profile_refusals":true,"r16_hsf_table_edition_2026":true,"r16_froude_support_labels":true,"code0_set_flying_eligible_every_cell":true,"r16_hydro_determinants_handback":true,"r16_selection_document":true,"r16_regime_compose":true,"r16_plan_grid":true,"optimal_pools_by_role":true,"optimal_stage_row_words":true,"optimal_baseline_free_score_law":true,"optimal_one_margin_three_holds":true,"r16_root_defaults_16_20_0":true,"r16_converter_r11_15_0":true,"r16_appendage_area_from_certificate_16_21_0":true,"r16_sailors_order_depower_law_16_22_0":true,"r16_orc_public_hydro_and_strip_appendages_16_22_0":true,"r16_closing_speed_law_16_22_0":true,"no_solve_available_typed_response":true,"closing_speed_delta_of_record":true,"r16_base_boat_curve_constant_16_22_1":true,"white_set_global_reef_seat_admitted":true,"r16_white_main_reef_in_orc_word_r_16_23_0":true,"r16_kite_set_global_reef_16_23_0":true,"r16_variable_solve":true,"r16_regime_defaults":true,"r16_request_identity_log":true,"r16_hydro_derived_set_once_per_request":true,"r16_stage_order_rows_mirrored":true,"r16_regime_defaults_shared_envelope":true,"r16_regime_windows":true,"r16_rm_profile_resolved_defaults":true,"r16_contested_anchor_pair":true,"r16_edge_engine_two_plan_law":true,"r16_column_guidance":true,"r16_kind_winners_typed_out":true,"r16_optimal_budget_guard":true,"compare_mode":false,"compat_legacy_envelope":false},"capability_info":{"cert_delta_grid":{"label":"Certificate-to-certificate comparison (cert_delta_grid)","description":"op: cert_delta_grid on calculate-r16 — the comparative configuration capability of the Option-D ruling (2026-08-24): separate baseline and candidate configuration documents each solved through the same pinned R16.4 composition root at the same wind, TWA, sea state, anchor and held-constant sailing plan; the speed delta is the serving lane’s own kernel edge-delta conversion between the two solves, preserving the ORC-anchor-plus-solved-delta construction with full publication-clamp evidence; reported in knots AND seconds per mile, raw and publication-bounded. An identity comparison publishes exactly flat, by converged dual solve. Response meta carries canonical sha-256 fingerprints of both documents, the engine model literal (R16-SA/x.y.z), SERVICE_VERSION and the complete cell accounting (computed / refused / blocked — typed refusals, no silent truncation; declared maxCells 56). The tuning plane is a typed rejection on every channel — tuning families, an allowlisted options bag, overlay/boat/state channels, and documents embedding their own rightingMomentCurve or naHeelOverlay; hydro (HEI) gain is DISABLED by ruling so candidate-side crew.hei_ratio never post-scales the certificate delta. Not an absolute free-speed solver. A deployment-blocking kernel-parity guard pins the conversion implementation and defaults against the R16 vendor twin.","epoch":"R16","since":"R11.52.0"},"rm_curve_binding_gate":{"label":"RM-curve cert-binding gate (the U4 NA-authority package, S2)","description":"A provided boat.rightingMomentCurve is gated at the ONE makeHandler pre-dispatch chokepoint on every endpoint (r11..r16) and every op (point / edge_delta_grid / optimal / optimal_merge) BEFORE any physics dispatch — the same any-of exact-token certificate-binding law as the naHeelOverlay gate (one binding grammar estate-wide; sailedge_boat_tuning v1.5.0 declares the curve-level boat_ref { orc_ref_no required, sail_no?, name? }; name never authorizes a match). The ruled disposition matrix (ADRD-R16-U4 §8, 2026-07-30): a valid bound match is retained silently (binding ADMITS a curve, it never alters physics); a binding mismatch or malformed boat_ref STRIPS the curve — the request runs pure physics with an additive diagnostic (rm_curve_rejected:cert_mismatch / :malformed_boat_ref); a bindingless legacy curve is accepted at Tier 3 ONLY, disclosed (rm_curve_bindingless_tier3_accepted), and stripped with a diagnostic at Tiers 1/2 (rm_curve_rejected:bindingless). The mutation is boat-field-firewalled: only boat.rightingMomentCurve (removal) and the diagnostic flag can move — battery-locked (rm-curve-binding-tests). Fail-closed, never a fallback; clients name certificates, the server verifies (the proportionate-governance identity architecture).","epoch":"cross","since":"R11.46.0"},"r16_rm_engine_endpoint":{"label":"R16 production engine (calculate-r16 — its own formal endpoint)","description":"The R16-SA RM-architecture successor of R15 — @sailedge/physics-r16, vendored @ 16.41.0 (engine head 8d201f2 -- R11.94.0 through the vendor-wave profile: the ORC Club certificates compose their windage on LOA-band defaults (W5: hbi_source / freeboard_source default_loa_band; a printed value never overridden) and the outside review v3 ten cures (AU-8); 16.40.1 / 3afa418 the served pin this wave replaces (R11.92.0 / R11.93.0); dated history: R11.92.0 through the vendor-wave profile: the kite set reef closure cured (RA-2 REL-2: the set closes to the ramped optimum under the soft boundary, never to the limit line); 16.40.0 / 9a3030f the served pin this wave replaces (R11.91.0); dated history: R11.91.0 through the vendor-wave profile: the kite-centre flip (P-AERO REL: the ORC kite centre of effort by the resolved tack configuration, the centreline asymmetric at 0.517 x ISP, the pole and symmetric families at 0.565 unchanged); 16.39.2 / ff11e25 the served pin this wave replaces (R11.90.0); dated history: R11.90.0 through the vendor-wave profile: the soft-ramp flip (RA-2 REL) with the explicit-closure and trial.join cures (16.39.1, RA-2 REL-1), the kite-floor lattice (16.39.2, JKF REL) and the RM profile contract; 16.38.0 / 86e0326 the served pin this wave replaces (R11.88.0 / R11.89.0); dated history: R11.88.0 through the vendor-wave profile: the deep-white flip (AU-5); 16.37.0 / 6065c6a the served pin this wave replaces (R11.87.0); dated history: THE FAST TRAIN R11.87.0 through the vendor-wave profile: the declared geometry class and the heel lane applied form factor (DG-1 / SL-W5 / AU-4a; no root default flips) -- no served value moves on a certificate-only boat, four presence leaves on every record (hydroState.liftSystem.sweep_declared_deg / sweep_basis, hydroState.heelResiduaryLaw, hydroState.formFactorApplied), a declared-geometry document moves its drag total and appendage decomposition by the strips allocation (sub-0.1 pct); 16.34.0 / 1cfe847 the served pin this wave replaces (R11.85.0); dated history: THE 16.34.0 WAVE R11.85.0 through the vendor-wave profile: the DSYHS appendage reference geometry (DS-G1: the rudder span 0.266 m, the lateral planes as the lift areas scaled to the subject span with the reference lateral AR, Whicker-Fehlner cos^4, the sweep default 0 deg) -- the solved leeway, the keel lift, the appendage drag, the induced term and drive_over_drag move on every heeled record; the rudder lift, the heel, the aero and the demand byte-still; 16.33.0 / 9b8f708 the served pin this wave replaces (R11.83.0 .. R11.84.0); dated history: THE 16.33.0 WAVE R11.83.0 through the vendor-wave profile: the three hydro root flips carried in one act -- 16.31.0 inducedDragLaw orc_system_draft_0_92 (ORC system draft, the heel multiplier), 16.32.0 sideforceCanoeDraft canoe_ladder (the one canoe draft of record; the determinants set gains the kind certificate_draft and the member effectiveBoat), 16.33.0 sideforceDemandFrame centreplane_normal (the demand squared as composed, normal to the centreplane) with F09 one route on Cw documents and the windage axial deferral words by mode; every solved record moves in drag and balance and the scores follow; the heel, the aero and the demand byte-still; 16.30.0 / 87ed10e the served pin this wave replaces (R11.82.0 .. R11.82.1); dated history: THE 16.30.0 WAVE R11.82.0 through the vendor-wave profile: 16.30.0 TD2-W6 at the tag v16.30.0: the kind-aware sail lookup (a repeated label resolves by the seat kind class; typed inabilities), the converter R11.16.0 unique sail ids (INFERNO and FOX 2.0 byte-still), the twelve basis and floors re-emitted under the no-jib catalog and the NET pick; no kernel movement; the served solve of a posted plan untouched; 16.29.0 / d0f6135 the served pin this wave replaces (R11.80.0 .. R11.81.0); dated history: THE 16.29.0 WAVE R11.80.0 through the vendor-wave profile: 16.28.0 AERO-S1-REL at cf2028f, aeroWindProfile orc_eq_7_1_at_sail_ce the root default: the served aero profiled by ORC VPP 2026 eq. 7.1 to each WHITE sail centre of effort, the reefed over-read cured, the kites byte-still; with 16.29.0 VS-S3, the variable solve serving layer src/serve/, unused until the K-2 cut posts its word; 16.27.0 / d0aadca the served pin this wave replaces (R11.78.0 .. R11.79.0); dated history: THE 16.27.0 WAVE R11.78.0 through the vendor-wave profile: REL-FLIP: THE ONE FLIP of three root keys with H -- heelMomentHydroArm orc_clr_depth (the hydro-aero heeling moment at the engine's own CLR depth on every heeled record; the H-1 leaves), windageInBalance composed (the signed axial windage composed EXACTLY ONCE into the net longitudinal balance: THE SERVED DRIVE SIDE IS THE NET DRIVE, the gross ratio drive_over_drag beside), whiteReefLaw orc_red_2026 (ORC's RED scheme on the jib set as the Sailor's order's third stage on a plan flying a headsail); every old word a valid word by key; 16.26.0 / ce0358f the served pin this wave replaces (R11.75.0 .. R11.77.0: OR-1 S7, the six hull / crew root defaults), the held waves at 16.23.0 / 0e02ecd, THE TWO DEPOWER LAWS OF THE SAILOR'S ORDER over 16.22.1 d8fc8f3 -- re-pinned 2026-10-16 by the operator's ruling on ADRD-MS-AD-2 DQ-AD2-1 (a): AP-S5 the main's reef in ORC's word r, AP-S6 the kite set's global reef, the editions /9; over 16.22.0 7891b1a (DQ-W74-7 (a): the base-boat curve a load-time constant, no physics leaf moves) — THE 16.22.0 WAVE R11.74.0 through the vendor-wave profile, the release of the APH remediation; 16.19.1 / fb2f98a the previous pin (THE ONE VENDOR WAVE R11.72.0; R11.73.0 on 16.21.1 / 36be75c served three hours on 2026-10-13 and reverted), 16.17.0 / 3698c4d (the /4 wave R11.71.0) and 16.15.0 / f4f6247 before it, dated history; 16.4.1 = the CJR converter FHS/J-overwrite cure, 2026-08-11; 16.4.2 = the APH ToD extraction release, 2026-08-22 — adapter-only waves, no engine-domain content moved, parity 0.000000000; 16.5.0 = the hydro-explainability force-balance release, 2026-09-14 — physics.forceBalance engine-wired on every composite point + the closure-lane emission and the HX-F1 side-force re-point: disclosure only, no solver numerics moved, parity 0.000000000; 16.6.0 = the NA-review remediation release, 2026-09-16 — the additive leaves the outside reviewer's first round asked for: the derived length basis, the term statuses, the base-curve arm, the equivalence words, the comparison re-base; no existing leaf moved, no solver numerics moved, parity 0.000000000 — see r16_force_balance_disclosure; 16.7.0 = the successor release, 2026-09-20 (served since R11.55.0) — the engine now CARRIES an opt-in successor sail-state contract behind the ENGINE option options.sailStateContract, beside the preserved legacy default: a request that does not select it evaluates exactly as before (the engine parity estate 0.000000000; this service's own 48-request A/B at the release — exact equality on every numeric leaf, release-identity metadata apart). ENGINE 16.7.0 WAS VENDORED at R11.55.0 with successor service selection UNAVAILABLE pending its own service-integration wave; 16.8.0 = the PA release, 2026-09-21 (served since R11.56.0 — PA-S1 + PA-S2, the prepared-candidate exports, additive; no solver numerics moved; this service's 48-request A/B exact on every numeric leaf); 16.9.0 = the declared-reef-profile release, 2026-09-24 (served since R11.60.0 — under the successor path a mainsail row's declared power_settings.reef1 | reef2 | reef3 { luff, foot, area } is honoured by the materializer in place of the legacy station row through the engine's ONE resolver, a partial declaration completed by the certificate width-station rule, typed refusals sail_state_reef_profile_invalid | _out_of_domain | _not_monotone | _underivable (an interior width recorded as zero is _underivable); the legacy path byte-identical, parity 0.000000000; this service's 48-request A/B exact on every numeric leaf); 16.10.0 = the capability-wave release, 2026-10-03 (served since R11.62.0 — the per-sail FLATTEN and TWIST value seats of candidate_request/2 (plan.flat / plan.twist { main, head }, each a number or the word 'solve') and the engine's stage solve under cs3 (the fixed-heel probe the method of record; the typed outcomes; six typed refusals before any solve); applied_state_record/2 on every cs3 record (controls.flat / controls.twist per sail with typed states, closure.solve, the headsail planform source; the /1 controls.flatten block retired to controls.plan_level_scalar); the headsail's certificate girths at the materializer; the ORC public drag form the number form's default; the unified seam's induced term scaled by the engaged flat and lift ratio. AT R11.62.0 THIS SERVICE SENT NONE OF THE NEW SEATS (its ladder carried the words reefState / furlState / twistMain / twistHead); SINCE R11.63.0 IT DERIVES THEM FROM THE FIVE-RUNG LADDER (the carrier row); a request carrying the retired key flatten is refused typed sail_state_vocabulary_superseded where 16.9.0 answered the typed inability sail_state_flatten_unavailable; the identity at the reference holds 308 / 308 on the engine's own golden, the legacy path byte-identical, parity 0.000000000; this service's 48-request A/B exact on every numeric leaf); 16.12.0 = THE DEFAULT-MOVE release, 2026-10-06 (served since R11.65.0 — THE BREAKING CHANGE, DECLARED: on the unified composition roots a request that names no aeroForceModel now solves its jib-and-main upwind aero on the ORC public composition orc_public_low_spanc — the 16.11.0 opt-in key's physics: the certificate's HBI datum on the sail heeling arm, the ORC CE forms, the pair's induced drag carried explicitly, the FLAT split from the construction; aeroForceModel 'unified' is the COMPARISON ARM, byte-identical to the 16.11.0 default; a plan the composition cannot be formed on falls back typed to unified with the disclosure upwindModelSource = root_default_fallback / fallback_reason (not a refusal); every composed record carries aero.diagnostics.forceModel.upwindModel / upwindModelSource / fallback_reason and the orcPublic leaf, mirrored at physics.qa.rawAero and the applied-state record's force_model; the ORC knobs options.orcDatumScope / options.orcInducedSplit act on every default solve that composes and an unknown value refuses typed orc_public_option_invalid. THIS SERVICE'S SERVED PHYSICS MOVES ON EVERY calculate-r16 LANE: the carrier-less point / Edge / Optimal through the moved default, and the cs3 carrier through the SAME root default, the server stating NO force model of its own since this release (DQ-V12-9 (c), re-cut 2026-10-07: an explicit key would REFUSE where the root default FALLS BACK -- a certificate without HBI composes on no lane and falls back typed to unified on every lane, disclosed); downwind and kite aero, the hull, the RM model and the kn-prior untouched. The measured increment on the engine (477 FYD Farr 40 cells; ours / FYD's): side 1.296 → 1.043, drive 0.813 → 0.999, heeling arm 0.888 → 1.020, moment 1.156 → 1.067, the free heel +1.73° → +0.19°. This service's 48-request A/B is NOT exact for the first time: every numeric movement CLASSIFIED (upwind physics on moved records only; 0 OTHER) and the 48 re-frozen at R11.65.0 as the new reference); 16.13.0 = THE KITE release, 2026-10-07 (served since R11.66.0 — the heel limit under a spinnaker is the engine's OWN documented basis: a plan whose code seat decodes ASYM / SYM / GENNAKER resolves 21.5° (basis orc_spinnaker_limiter_21_5, provenance orc_documented_spinnaker_limit — ORC VPP Documentation 2026 §5.2.3, a documented METHOD; the HARD form with the plan-wide ease) where 16.12.0 resolved the general 30°; CODE0 keeps the 25° policy; the precedence: a declared limit strictly lower → 25 (CODE0) → 21.5 (a spinnaker) → 30 (the general state); a declared 21.5 under a spinnaker TIES — identical physics, the spinnaker word (the App's KP-1a knob); a declared value above never raises. THE NUMBERS MOVE on every served kite-plan solve naming no strictly-lower declared limit — physics.heelLimit_deg 30 → 21.5 and physics.heelLimitBasis at its four mirrors on every kite-plan record, the heel capped at 21.5 and the plan-wide ease engaged where the free heel exceeded it (the engine's 52-cell Farr 40 kite census at FYD's speed: capped 5 → 9, cells above 21.5° 9 → 0) — a DECLARED default-path movement on kite-plan records; every jib-and-main (upwind) solve byte-still (the engine's parity 219 fixtures at 0.000000000); the upwind composition orc_public_low_spanc, its typed fallback and identity leaves, the kite aero tables and the datum scope UNCHANGED; this service states no heel limit of its own (the carrier's sailState.limits.heel_limit_declared_deg is its only limit seam, handed to the engine's channel). This service's 48-request A/B at this release: every jib-and-main member exact; the kite-plan members classified (the kite limit leaves; the kite-scope numbers), 0 OTHER); 16.14.0 = THE KITE-SEAT release, 2026-10-07 (served since R11.67.0 — THE CODE SEAT of candidate_request/3: request.flat.code and the NEW control key request.reef.code, each a number or the word 'solve' — FLAT on a kite as ORC's rotation-form algebra on the kite family's direct pair (ORC VPP Documentation 2026 §5.1.3; the profile spinnaker_flat/1; the floor ORC's flatmin 0.53) and REEF on a kite as ORC's continuous spinnaker reef (§5.1.3; the profile spinnaker_continuous_reef/1: the kite's EXPOSED area A_base × reef² rides the plan, the centre × reef is applied at the aero point; the floor 0.85 × A_default / A_base from the certificate's rig, SPL / TPS = J where unrecorded, for the spinnaker families and 0.91 for CODE0; a rig field needed and absent is spinnaker_reef_floor_underivable, the field named, never a silent 0.85); the stage solve on the code seat; the materializer STAMPS materialization.reef_row_code from the inventory row and the certificate's rig; the typed refusals BEFORE anything is built: reef_without_code_sail, reef_out_of_domain (the floor named, never clamped), spinnaker_reef_floor_underivable, flat_out_of_domain, reef_code_requires_materialized_stamp, two_controls_to_solve, and twist.code control_not_supported_for_sail (ORC has no twist on a spinnaker). EVERY cs3 record is applied_state_record/3: the schema word and four additive leaves on every record, jib-and-main records included at reference (controls.flat.code, controls.reef.code, deployment_as_evaluated.code.family_declared / family_evaluated) — a leaf-set movement with NO numeric movement on any jib-and-main record; every materialized code-seat plan's identity moves (the materializer's code rule legacy_compat/code_key/1 → /2); THE ENGINE'S SYM / GENNAKER → ASYM ALIAS IS RETIRED: a plan whose code sail's declared family is SYM or GENNAKER evaluates the r12 SYM / GENNAKER tables by family where 16.13.0 evaluated ASYM's (FYD's 28 symmetric Farr 40 cells: the mean |dHeel| vs FYD 1.325 → 1.052°), and THIS SERVICE'S OWN legacy aero-key alias is retired in the same release (DQ-KP5S2-7 (a)) — THE SYM / GENNAKER NUMBERS MOVE on every lane where such a plan is evaluated, a DECLARED movement classified at the release (numeric only on SYM / GENNAKER members); ASYM plans and every jib-and-main plan keep their physics (the engine's parity 219 fixtures at 0.000000000; its composition battery strips exactly the five record-edition leaves by path). THE SERVICE'S CARRIER GATE ADMITS the request key reef on the prescribed carriers since R11.67.0 (DQ-KP5S2-13 (a); the gate re-implements no vocabulary and types no seat), beside flat / twist as since R11.63.0; the served Optimal ladder, the policy, the precedence, the fill law and the walk do NOT move — no served rung sends reef.code; the ruled KITE ladder (DQ-KP5-11) and the Law of Sailor Trim ST-S1 are service policy code, THE NEXT PROMOTION (R11.68.0). The heel limit under a spinnaker (21.5, R11.66.0), the kite aero tables, the plan-wide ease where no seat is sent, the upwind composition orc_public_low_spanc and the datum scope UNCHANGED. This service's 48-request A/B at this release: every cs3 member moves on the record-edition leaves (class 1); code-seat members on the identity word (class 2); SYM / GENNAKER members numerically (class 3); every other member byte-still but for identity; 0 OTHER); 16.15.0 = THE SPINNAKER-SET release, 2026-10-08 (served since R11.67.0 — THE KITE FORCE MODEL OF RECORD: on every served kite plan (ASYM / SYM / GENNAKER) at the root default the ORC public spinnaker composition AS THE SET — ORC VPP Documentation 2026 Tables 5.8 (symmetric) / 5.9 (asymmetric on the centreline) / 5.10 (asymmetric on a pole), the tack from the certificate's ArtSprit, composed WITH Table 5.2's main across all angles and Table 5.5's jib where one flies, in ORC's collective form (the collective lift and drag, KPP, the downwind effective height of eq 5.44-5.45 with the kite's reef outside it, SHAPE and Power as the kite's effective area, the kite's centre 0.565 × ISP, the whole-set HBI datum, the reef composed per probe, the C_heel >= 0 clamp disclosed); the main is IN the set, so THE KITE NUMBERS MOVE on every lane (FYD's 52 Farr 40 kite cells at FYD's speed: the mean |dHeel| vs FYD 1.573 → 1.359°; capped 9 → 8 under the unchanged 21.5; the kite seat's reef closes all eight by the kite alone) — a DECLARED default-path movement classified at the release (numeric only on members whose record reads forceModel.downwindModel orc_public_spinnaker); every jib-and-main NUMBER byte-still (the engine's parity 219 at 0.000000000; its default-plan goldens 102 / 0). r12 IS THE COMPARISON ARM: an explicit options.downwindForceModel 'r12' keeps the 16.14.0 kite path byte for byte; a kite plan the composition cannot be formed on (ArtSprit absent on an asymmetric; CODE0; an incomplete geometry) falls the KITE ALONE back to r12 under the same ORC pair, disclosed (forceModel.downwindModelSource root_default_fallback, downwind_fallback_reason the field) — its numbers EQUAL the comparison arm's; an explicit key keeps the typed refusals orc_public_spinnaker_tack_undeclared / orc_public_spinnaker_family_unsupported / orc_public_spinnaker_geometry_incomplete / orc_public_spinnaker_strategy_unsupported. THE RECORD READS IT BACK: on kite records forceModel.downwindModel / downwindModelSource / downwind_fallback_reason, code.mode orc_public_direct, the datum scope all_sails and the orcPublic.spinnaker leaf (the table and the tack, the centre's source, the reef, heff, tf, CEH_main, the LSM source, the areas, SHAPE and Power as evaluated, the clamp, the blanketing word, the jib in the set); on EVERY record of the unified roots the options echo physics.qa.optsUsed.downwindForceModel reads orc_public_spinnaker with downwindForceModelSource root_default (the root's injection disclosed, not a model used — through 16.14.0 it read r12). The kite seat of 16.14.0 is carried whole: candidate_request/3's flat.code / reef.code, the stage solve on the code seat, applied_state_record/3, the join VERIFIES a disclosed code-seat solve (the 16.14.0 attempt's integrity 500 on the solve form is cured in the engine); the TPS word conditioned on the tack (absent_pole_boat_no_default on a pole boat; every floor number unchanged); the kite centre under the composition is ORC's 0.565 × ISP (the comparison arm keeps the girth triangle). The heel limit under a spinnaker (21.5), the upwind composition orc_public_low_spanc and the served Optimal ladder UNCHANGED (the KITE ladder + ST-S1 = A LATER PROMOTION (R11.68.0)). This service's 48-request A/B at this release: every member on the options echo; every cs3 member on the record-edition leaves; every kite member on the identity leaves and numerically under the set; a fallback member numerically byte-still; every jib-and-main member numerically byte-still; 0 OTHER). SINCE R11.56.0 THE SUCCESSOR IS SERVED through the wire carrier body.sailState (see r16_successor_sail_state_carrier: a prescribed POINT · a prescribed candidate SET · prescribed edge_delta_grid · the Optimal map under AUTONOMOUS-OPTIMAL with the ladder FULL, REEF1, REEF2, REEF2+TWIST). The raw engine option is NOT the carrier: a caller-supplied options.sailStateContract on this endpoint (or, on op:edge_delta_grid, edges[i].options.sailStateContract) STAYS REFUSED — HTTP 400, error.code sail_state_contract_not_enabled, error.reasons naming the location — whatever its value (cs1, cs2, cs3, an unknown word, legacy, null); it is never discarded, coerced, defaulted or forwarded to select an engine contract, and no applied-state record is served) — serving on ITS OWN endpoint per the RC-1 consumer adoption, the operator-approved default transition (RELEASE-R16-RC1_v1_0, 2026-07-29), and the U6 Heel-Confidence coordinated release (the U3 publish conversion; RELEASE-R16-16.1.0-U6_v1_0, 2026-07-30; 16.1.1 = the FIL toast patch, member-graded sentence, 2026-07-30; 16.2.0 = the U4 NA-authority package — the fused S3+S4 release, 2026-07-30; 16.3.0 = the heel-limit selector release — the per-point applicable reference heel limit, 2026-08-03; 16.4.0 = the coordinated F-1/F-5 promotion release, 2026-08-04 — F-1 continuous area reduction ratified as ruled model law behind the deny-by-default opt-in ENGINE seam enableContinuousAreaReduction: the serving default does not enable it and flag-absent solves are byte-identical; where enabled, a newly converged row means R16 found a reconstructed control state that balances heel at the ORC-rated target speed — not that the boat preserves that speed under the reduction; + the F-5 heelPath.rmSource provenance-label cure, the r16_rm_source_composed_label entry). THE SERVING DEFAULT on this endpoint is the kn_prior RM model on the canoe basis; options.rmModel \"cert\" through the same endpoint is the R15-parity physics (consumer-grain parity spot-proven; the ENGINE library default stays \"cert\" so the engine's 217,282-leaf parity estate remains the permanent, machine-checked R15-equivalence witness — the recorded transition-mechanics decision). Caller options always win. Responses carry the R16 identity natively (physics.model = R16-SA/x.y.z; meta.engine \"r16\"); point-lane dshProjection defaults on (the product profile, same as r13/r15). Same makeHandler scaffolding as r11..r15 — the prior endpoints' response shapes stay byte-identical (proven by the full governed suite). calculate-r15 remains live as the R16 parity twin and the rollback lane (the App's serving default has been calculate-r16 since the 2026-07-29 adoption).","epoch":"R16","since":"R11.43.0"},"r16_force_balance_disclosure":{"label":"Force-balance disclosure on every calculate-r16 point (R16 16.5.0 → 16.6.0 — physics.forceBalance; the NA-review additive leaves since R11.54.0)","description":"Since R11.53.0 (the hydro-explainability wave, W2 — vendoring @sailedge/physics-r16 16.5.0, engine head 860d25e) every calculate-r16 composite point carries the engine-wired block physics.forceBalance (schema force_balance/1) on core_point_response.physics: the ONE solved balance — heel (excess_Nm = heeling moment − righting moment, ≈ 0 on a free equilibrium; the flag-driven state word: equilibrium · equilibrium_interior · depowered_closed · depowered_floor_bound · saturated_unclosed · zero_moment · refused; the easing triple; the convergence disclosure); the lateral closure (demand_N · supplied_N · shortfall_N · leeway_deg · the lift split · lift_at_solved_leeway_N with its basis — never a capacity on a closed cell); the longitudinal DISCLOSURE (solved: false — imbalance_N = drive − drag at the certificate-anchored speed; never a residual, never a speed solve); and the NA confirmation set (the sailing displacement, LWL, beam, the two drafts, wetted areas, Fn, Ct, form factor, effective span, the DSYHS match ids + weights, the seven-term drag decomposition with the appendage residuary channel withheld pending its own ruling, RM at heel with its source word, GZ and GM with their bases, rudder, propeller). The service passes the block UNCHANGED — a top-level physics key rides the wholesale physics clone at every tier (byte-identical at tier 1 and tier 3, contract-tested) and onto every non-lean edge_delta_grid core cell; the explicit tier-1 lean edge shape strips it (the demo sees nothing new); the tier explainability surfaces and the cert_delta_grid summary cells do not carry it. Disclosure only: no solver numerics moved in 16.5.0 (the engine parity estate 0.000000000). The served physics.explainability.hydroState side-force leaves now read the demand-inverted closure lane (the HX-F1 cure) with additive NA leaves (shortfall, lift at solved leeway, the drafts, Ct, the upright wetted area, the match weights, the drag decomposition). Governing: RULING-R16-Hydro-Explainability-Force-Balance-DQ-HX-Rulings_v1_0-2026-09-14 + RELEASE-R16-16.5.0-Hydro-Explainability-Force-Balance_v1_0-2026-09-14. SINCE R11.54.0 (2026-09-16 — vendoring 16.6.0, engine head d40c4e8, the NA-review remediation release; RULING-R16-Hydro-Explainability-NA-Review-Remediation_DQ_RM_Rulings_v1_0/v1_1 + RELEASE-R16-16.6.0-NA-Review-Remediation_v1_0) the block also carries, ALL ADDITIVE (no 16.5.0 leaf moved — names, values or basis words): hydro.ims_l_m (populated only when the length scale is the IMS L — ORC's effective sailing length, never a hydrostatic waterline) with hydro.length_basis / fn_length_basis (ims_l_rated_length · declared_hydrostatic_lwl · estimated_lwl_from_loa · missing — DERIVED from which path of the read authority fired) and length_provenance; hydro.lwl_m / lwl_provenance retained byte-identical as deprecated aliases (lwl_m_status); drag_decomposition.term_status — one of ten words per term (composed · zero_by_physics · structurally_disabled · not_composed_legacy_lane · not_composed_no_lane · not_composed_no_geometry · not_composed_legacy_fallback · not_composed_non_finite · not_composed_input_absent · typed_refusal), derived from inputs the engine emits tier-invariantly (hydroState.heelFrictionInputs / appendageLaneState / waveAddedLaneState) and the lanes' own statuses and codes — never from the numeral 0 (a structural zero, an unavailable composition, a typed refusal and a calculated physical zero are different facts; the numeric terms stay for the closure identity); hydro.rm.base_at_heel_Nm = the served total minus the crew hiking supplement (an identity on served leaves, never a curve re-evaluation; the basis word states the F-4 mass channel stays inside) with gz_base_m and base_curve_mass_basis (the curve author's declared basis); hydro.rm.gz_word / gm_word on NEW leaves (gz = a righting-arm EQUIVALENT on the total RM incl. crew; gm = a GM-EQUIVALENT, the base curve's first-interval secant); hydro.rm.comparison_rebase {displacement_kg, gz_base_m, gm_m, basis: arithmetic_displacement_rebase_not_measurement_trim_hydrostatics} — the base-curve arm and the GM-equivalent normalized to the MEASUREMENT displacement, carrying on the wire that it is arithmetic and not measurement-trim hydrostatics (the crew-inclusive total is never re-based). The service passes every leaf UNCHANGED; the tier law as ruled 2026-09-16 (CLAIMS-FENCE v1_1 CF-A4): tier alone shall not alter physics — a tier may admit a separately authorized higher-authority physics input, its source and authority named on the disclosure and the face (the instance: a naval-architect-supplied righting-moment curve admitted by the engineering authority package — hydro.rm.source / source_word + hydroFidelity.inputs.rmCurve na_supplied); contract-tested on the recorded INFERNO document (the r16 battery).","epoch":"R16","since":"R11.53.0"},"r16_successor_sail_state_carrier":{"label":"The successor sail-state carrier on calculate-r16 (body.sailState, contract cs3 — THE RL EPIC IR-1 … IR-5; served since R11.56.0)","description":"Since R11.56.0 the successor sail-state contract is SERVED on calculate-r16 through the top-level wire carrier body.sailState { contract \"cs3\", planAuthority, request | candidates, limits? } — validated by the server's carrier gate before any physics (the typed refusal classes sail_state_contract_not_enabled · sail_state_carrier_invalid · sail_state_request_conflict · sail_state_feature_excluded, plus sail_state_selection_refused, sail_state_edge_response_size_exceeded, sail_state_optimal_response_size_exceeded and batch_sail_state_mismatch; every refusal HTTP 400 on the typed request-refusal envelope, meta.resultClass rejected, error.reasons naming every location; nothing coerced, defaulted, dropped or forwarded). Since R11.57.0 (the second promotion): the Edge op supplied bounds are typed at the gate (sail_state_carrier_invalid:body.bounds.* — integer concurrency in [1, 8], integer maxCells in [1, 400], finite positive maxRuntimeMs, integer maxEdges ≥ 1, the closed key list; a refusal, never a clamp); a mutilated batch envelope under a carrier-bearing merge is refused typed before any field is read (batch_sail_state_mismatch:batch:<i>:sail_state_shape | carried_selection_shape); and THE MERGE-REQUEST CEILING: a carrier-bearing optimal_merge request whose ACTUAL body exceeds 5,000,000 bytes is refused typed BEFORE any merge or solve work (sail_state_optimal_request_size_exceeded; the caller submits the documented merge-carrier form (meta, merge_carrier, sail_state, the catalog disclosures) rather than complete display envelopes and measures the complete serialized request against the ceiling before transmitting it; where necessary it partitions by cells — the reason names the cell dimension, :cells:<n> — and an irreducible single-cell request, :merged_single_cell, is an explicit limitation; details bytes / ceiling / op / cells / tier / subdividable; nothing trimmed) — the request-side twin of the 4,000,000-byte RESPONSE budget, which stays separate. THE SERVICE WORD COVERS ONLY BODIES THE PLATFORM DELIVERS: the served platform refuses request bodies over about 6 MB with 413 Request Entity Too Large BEFORE the function runs (measured 2026-09-23: a 5.5 MB body reaches the function, a 6.5 MB body does not), so a caller measures a merge request before transmitting it and posts fewer cells of batch records per merge above the ceiling; at the production geometry the tier-3 six-stage fused merge (about 7.06 MB) exceeds both the ceiling and the platform limit, while the tier-1 path (about 2.0 MB) is within both. The ingress problem is not closed by the service guard alone. The built rows: (1) a PRESCRIBED point evaluation (mode point; planAuthority PRESCRIBED; one request) — the engine evaluates exactly the sail state the caller fixes, the materialization record and the strict join disclosed on sail_state; (2) a PRESCRIBED candidate SET at one point (candidates[] instead of request; nothing selected — every trial served with its typed outcome); (3) PRESCRIBED evaluation across the Edge grid (op edge_delta_grid; both carrier forms; every configuration at every admitted cell against the unchanged legacy baseline; the 4,000,000-byte response guard names its remedy dimensions, nothing trimmed); (4) the Optimal map under planAuthority AUTONOMOUS-OPTIMAL (op optimal | optimal_merge): the server enumerates the pool and evaluates EACH plan's depower ladder FULL → FLATTEN → TWIST → REEF1 → REEF2 (since R11.63.0 the five-rung ladder: one word per control, flatten then twist introduced and carried once engaged; dated history: from R11.57.0 to R11.62.0 the interleaved six-stage ladder FULL, FULL+TWIST, REEF1, REEF1+TWIST, REEF2, REEF2+TWIST — twist MAX on both sails before EACH deeper reef, the operator doctrine word of 2026-09-23; the four-stage ladder FULL, REEF1, REEF2, REEF2+TWIST was served at R11.56.0; the stage definitions served on sail_state.basis.ladder_definitions), selects per plan under the operational policy ladder_first_unmodified_closure_then_least_eased_within_allowance/1 (since R11.58.0, the operator's E-3 ruling of 2026-09-24: unmodified closure first in ladder order; failing every stage, the least-eased closed stage is admissible when its retained-force factor is at or above the DECLARED ease_allowance 0.75 -- the engine's ratified powered / overpowered boundary transposed to the applied factor -- and is ranked with its ease disclosed (reasonCodes closed_with_residual_ease; the plan row's feasibility the policy's word, powered, with feasibility_basis.source policy_allowance; the engine's own class on the stage row); a closed eased stage below the allowance is returned for diagnosis apart (eligibility diagnostic, the claim disclosed, all_overpowered, feasibility overpowered); a cell is blocked only when no stage closed at all; the allowance is named on every envelope as sail_state.policy_parameters and basis.policy_parameters and compared in the merge's shared-basis check; the R11.56.0 / R11.57.0 policy ladder_first_unmodified_closure/1 (unmodified closure, no residual-ease allowance) stays registered, not adopted), applies the within-kind precedence per_kind_shallowest_stage_first/1, then the unchanged legacy fill and crossover law over the eligible states; every winner-like summary carries stage / selection / eligibility, every cell its plans[] and winner_claim (declared · disclosed · withheld · none); the batch merge carries merge_carrier and asserts one shared request basis. Since R11.59.0 (NS-3, THE DECLARED-LADDER CONTRACT; the operator's rulings DQ-NS3-1 .. 9 of 2026-09-24): the caller may declare WHICH REEF STATIONS the Optimal map may use -- sailState.reef_stations, a SET of distinct station words from the served table (REEF1, REEF2 on the served table; REEF3 only on a tree that serves it); FULL is implicit and always evaluated (a listed FULL is refused); the caller's order is immaterial and an empty set is lawful (the ladder FULL, FLATTEN, TWIST since R11.63.0; FULL, FULL+TWIST on the six-stage table of R11.57.0 .. R11.62.0). The server DERIVES the ladder (the served table filtered to the FULL-area rungs and the declared stations -- the control words and the doctrine order the server's), evaluates ONLY the derived stages (stage.ordinal and the account rows index the derived ladder; the precedence ranks by the served position), selects under the unchanged policy, allowance and precedence, and echoes the declaration on every envelope as sail_state.basis.ladder_declaration { reef_stations (as served), source caller_declared | server_default } beside sail_state.ladder and basis.ladder_definitions (the derived words and definitions). The typed refusals: a non-array (sail_state_carrier_invalid:sailState.reef_stations); a non-string member, an unknown word, an unserved station, a duplicate or FULL (sail_state_carrier_invalid:sailState.reef_stations[i]); the key on a point, set or edge carrier (sail_state_request_conflict:sailState.reef_stations -- those carriers prescribe the state); a merge whose envelopes and body disagree on the declaration (batch_sail_state_mismatch:batch:<i>:<the first differing basis key>, the ladder). The trim guidance reads the FIRST DECLARED reef station in place of the literal REEF1: a station other than REEF1 yields boundary reef_above_TWS_kt with the station named (the legacy reef1_above_TWS_kt entry kept byte-for-byte where REEF1 is first); with no reef declared the legacy trimGuidance array carries only the ease boundary; the station and its status ride sail_state.guidance { reef_station, status derived | not_derivable_no_reef_declared } on every Optimal envelope, the merged one included. The absent key is the served ladder, byte-identical to R11.58.0 but for the additive leaves. The reef SIZES are not a carrier field (an engine seam, the physics lane's own sprint). A caller's planAuthority is a DECLARATION, not authentication: who may call is decided by the bearer-token check, unchanged (the operator's [V-RL-8] word of 2026-09-23); the server sets the engine contract and authority itself; the raw engine option options.sailStateContract STAYS refused (sail_state_contract_not_enabled), never forwarded. A body that does NOT own sailState evaluates exactly as before on every route and op (this service's 48-request A/B at the release: exact on every numeric leaf, engine-identity metadata apart; the App's carrier-less Optimal map byte-identical). AppR10 sends no carrier today; its adoption is that lane's own act. Vendored engine at this release: @sailedge/physics-r16 16.10.0 (engine head 422b8ba — the capability-wave release; 16.9.0 / ac8dac8, the declared-reef-profile release, served R11.60.0 .. R11.61.0; 16.8.0 / 935e050, the PA release, served R11.56.0 .. R11.59.0). Since R11.60.0 (vendoring 16.9.0, THE DECLARED REEF PROFILE): a mainsail inventory row MAY declare power_settings.reef1 | reef2 | reef3 { luff, foot, area } (fractions of the full sail); under the carrier the materializer reads the declared row IN PLACE OF the legacy station row for that station through the engine's ONE resolver — a partial declaration (luff alone, height-first; area alone, area-first) completed by the certificate width-station rule (the main's E / MQW / MHW / MTW / MUW / MHB; an interior width recorded as zero is no datum); typed refusals sail_state_reef_profile_invalid | _out_of_domain | _not_monotone | _underivable; the served materialization record carries controls.reef.{ source, row, declaration, derivation } and the stamp reef_row. The legacy path is byte-identical (parity 0.000000000; no served boat declares a profile today). Since R11.61.0 (THE MS EPIC, THE CAPACITY CUT; the operator's rulings DQ-MS-1 .. 11 and THE ORDER LAW of 2026-10-01) the Optimal map evaluates fewer stages and resolves fewer baselines than R11.60.0, and says which: sail_state.evaluation_extent { stages \"ladder_order_to_selector_stop/1\", baseline \"first_batch_every_kind_then_where_evaluated/1\" } on sail_state and on basis (part of the shared basis: envelopes of different extents, or of none, never merge -- batch_sail_state_mismatch:batch:<i>:evaluation_extent). THE LAZY WALK: per cell and per non-fenced plan the ladder's stages are evaluated in the ladder's order, one at a time, the unchanged selector reading the trials after each; the walk stops at the selector's stop (the first admissible stage, a halt, or the completed ladder -- the fallback and none_admissible are decided on a completed walk only; the operational policy declares no evaluation budget, so the selector's search_truncated word has one cause here: the next stage has no trial yet). A stage the walk never reached is NOT evaluated: its stage row reads status null and outcome unevaluated (result_class, join_state, feasibility, solve and closure null), its account row unevaluated, and in the selector's own record candidate_id null with an_evaluation_was_supplied false; a refused materialization keeps its row (stage_unavailable where the walk passed it, not_visited_trial_exists past the stop). THE ORDER LAW makes the stop exact: the ladder descends in sail area (the reef station, then the furl) and, at one area, in power of shape (twist NORMAL before MAX), so the first admissible stage -- the first that closes with no residual ease -- is the largest-area, fullest-shape state that does (asserted on the served table at load). THE GUIDANCE STATION: where a non-fenced plan's FULL row is classed overpowered and the walk stopped short of the first reef station's own row (the stage the station word alone names; every served ladder that carries a reef carries it, after FULL), that one row is evaluated for the trim guidance (its account word not_visited_trial_exists), counted in evaluations.candidate and disclosed apart as evaluations.guidance_station; evaluations.guidance_solves stays 0 and no guidance entry moves. THE BASELINE WHERE EVALUATED: an unbatched request and the batch of index 0 resolve the baseline of every eligible kind (so a band question -- candidateBatch { index 0, size 1 } -- still receives them); a batch of index >= 1 resolves only the kinds of its own plans not fenced at that cell (a plan with no materialized stage names no kind) and names every other eligible kind baseline.perKind[kind] = { kind, resolved false, reason \"no_plan_of_kind_evaluated_in_this_batch\" } on the cell and in the merge carrier (null still means not eligible); the merge takes each kind from the batches that resolved it, with the typed refusals batch_baseline_mismatch (reasons batch_baseline_mismatch:batch:<i>:cell:<c>:kind:<K> | :context | :shape) and batch_baseline_unresolved (batch_baseline_unresolved:cell:<c>:kind:<K>); the merged baseline block of envelopes as served is byte-identical to the unbatched request's and no plan's score, status, feasibility, stage or reason moves (a plan's kind is a fact of its sails, never of the stage). THE RECORD TRIM: on op optimal and op optimal_merge under the carrier the service does not carry boat.hull_shape.selected_delft_hull.shape_curves nor boat.hull_shape.candidates[].shape_curves (the answer does not move with them: leaf-identical at three tiers on the governed fixtures and on two full maps); basis.boat_key is computed on the record without them, so a body with the curves and the same body without them give one boat_key and the same response but for one word: sail_state.diagnostics carries hull_shape_curves_not_carried when a curve block arrived (on a merge the word describes the merge request's own body); nothing else of hull_shape is removed. The winners, the scores, the selected stages, the claims, the baseline blocks of a whole map and the guidance are unchanged from R11.60.0 wherever R11.60.0 answered: what moves is which stages and which baselines are solved, the leaves that say so, and basis.boat_key once for a body that carries curves. One strictness narrows with the walk: a join failure at a stage the walk never reaches, which refused the whole request at R11.60.0, is no longer observed (that row reads unevaluated); where a stage is evaluated the check is unchanged. Envelopes made before this release carry no evaluation_extent and never merge with envelopes made after it: a map in flight across the deploy is re-run. The legacy lane (no carrier) and the point, set and edge ops are untouched; two assertions run at load (the served ladder's order; the selector's stopping word). Since R11.62.0 (vendoring 16.10.0, THE CAPABILITY WAVE; the capability wave's CONTRACT candidate_request/2): the engine accepts per-sail FLATTEN and TWIST value seats — plan.flat / plan.twist { main, head }, each a number or the word 'solve' (the engine then solves the least closing value of that one control under cs3; the fixed-heel probe the method of record; the typed outcomes closed_at_reference | solved_at_closure | exhausted_at_floor | exhausted_at_full_twist | control_not_engaged; six typed refusals before any solve) — and every cs3 record is applied_state_record/2 (controls.flat / controls.twist per sail with the typed states reference | applied_as_requested | not_engaged:<reason> | shape_not_served, the drag response and drive ratio per sail, closure.solve, heel_at_closure_deg, margin_to_limit_deg, materialization.head_planform_source, controls.reef.applied.area_source; the /1 controls.flatten block is retired, its scalar disclosure at controls.plan_level_scalar); the headsail's certificate girths ride the plan from the inventory row (widths_m, else orc.measurements, else the triangle, said). AT R11.62.0 THIS SERVICE SENT NONE OF THE NEW SEATS: its stage definitions carried the words reefState / furlState / twistMain / twistHead exactly as at R11.61.0, so the Optimal map, the prescribed point, the set and the edge ops answered as before on every numeric leaf (the ladder re-cut to the engine's per-sail seats followed as R11.63.0 -- the clause below). What a carrier caller saw move at R11.62.0: the record schema word and its new leaves; a request carrying the retired key flatten (any value) is refused typed sail_state_vocabulary_superseded where 16.9.0 answered the typed inability sail_state_flatten_unavailable. Carrier-less callers: nothing but the engine identity. Since R11.63.0 (DU-M3, THE FIVE-RUNG LADDER on the served engine 16.10.0; a service-only release; the operator's rulings DQ-M3-1 .. 10 of 2026-10-03, every row as recommended): the Optimal map's ladder is FULL, FLATTEN, TWIST, REEF1, REEF2 -- ONE WORD PER CONTROL on every served definition (basis.ladder_definitions: reefState, flatten off | on, twist off | on; the legacy twist words NORMAL on every rung), the per-sail value seats of candidate_request/2 derived by the server EQUAL BY CONSTRUCTION (the rung that introduces a control sends solve on both sails; a later rung carries the exhausted bound on both -- flat 0.53 and twist 1; off sends no seat), the stage rows carrying the engine's words (closure.solve { outcome, control, value, cheap_probes, full_solves }, closure.controls { flat, twist } { applied, state }, heel_at_closure_deg, margin_to_limit_deg, solve.drive_retained { main, head }), a control the engine reports not engaged read as a typed stage_unavailable (the row visible, the walk continues), and sail_state.guidance.controls -- ONE { flat, twist, reef } entry per core cell from the winner's selected stage (null where no winner; the merged envelope recomputes it). The prescribed carriers (point, set, edge) ADMIT the seats flat / twist in request and candidates[].request and pass them to the engine's own typed refusals (sail_state_control_value_malformed, flat_out_of_domain, twist_out_of_domain, twist_word_not_at_reference, two_controls_to_solve); the force model of every cs3 evaluation is the unified model, stated once by the server. The engine does not move (16.10.0 / 422b8ba); the policy, its allowance, the precedence, the fill law, the lazy walk and the declared-ladder contract do not move; the six-word interleaved ladder of R11.57.0 .. R11.62.0 (FULL, FULL+TWIST, REEF1, REEF1+TWIST, REEF2, REEF2+TWIST) is retired. Since R11.64.0 (DU-M4, THE TWO SEAMS UNDER THE CARRIER; the operator rulings DQ-M4-1 .. 10 of 2026-10-04): (1) the Edge op admits the BASELINE on the carrier -- sailState.baseline { request, baseline_id? }, ONE per request (the App chunks by band), materialized FIRST and ONCE (a baseline the materializer refuses rejects the whole request with the typed inability) and evaluated per admitted cell through the same successor leg as the candidates on a SECOND prepared working set under the legacy baseline bindings (the crew what-if stripped; the baseline tuning subset; the candidate-only inputs never consumed), so the Edge Map comparison law does not move; the legacy baseline forms planBaseline / baselineRegimes / baselineRegime beside it are class-4 conflicts; every Edge response echoes sail_state.baseline { form, baseline_id } (carrier | legacy), the per-cell baseline carries its sail_state, and stage_materialization appends the baseline row; (2) the three envelopes naHeelOverlay, boatDesignOverride and the selected-sail overlay (sailTuning.selectedSailTargetId with the upwind coefficient scalars, or the nested selectedSailOverlay) are ADMITTED beside the carrier on every carrier op (point, set, edge, optimal, optimal_merge) with the legacy semantics -- the tier-3 overlay gate threads the validated overlay to every evaluation (the candidates AND the Edge baseline; a rejected overlay is 200 with na_heel_overlay_rejected:<reason> in diagnostics; options.naHeelOverlay stays refused), the design override rides the candidate working set only (the engine applies it in the solve), the selected-sail overlay is applied to the materialized plan the engine consumes (the strict join reads the same plan on both sides; the Edge baseline never consumes it) -- and TYPED where the legacy was silent: the selected-sail family below wire tier 2 -> sail_state_feature_excluded:sailTuning.selectedSailOverlay:tier_below_2; the design override is ADMITTED at every tier, as the legacy applies it (DQ-M4-6 (a)'s tier-3 word STRUCK on [V-M4-9] by the operator's ruling of 2026-10-04 -- tier gates explainability, never physics; a non-object override is class 2 at body.boatDesignOverride). The engine does not move (16.10.0 / 422b8ba); the ladder, the policy, the precedence, the fill law and the walk do not move. Since R11.65.0 (THE 16.12.0 VENDOR WAVE, THE DEFAULT-MOVE WAVE; the operator rulings DQ-V12-1 .. 12 of 2026-10-06): the engine moves to PhysicsR16 16.12.0 (c8416b7) and THE SERVER'S OWN FORCE MODEL OF RECORD IS RETIRED: every cs3 evaluation runs under THE ENGINE'S SERVED DEFAULT exactly as every carrier-less lane does (DQ-V12-9 (c), re-cut 2026-10-07 from (a) -- an explicit key refuses orc_public_upwind_geometry_incomplete where the root default falls back; R11.63.0 .. R11.64.0 stated unified once, DQ-M3-1 (a), kept as dated history; unified is now the comparison arm); every cs3 record's physical_result.force_model.upwindModel reads orc_public_low_spanc with upwindModelSource root_default and the orcPublic leaf where the boat composes, and unified with upwindModelSource root_default_fallback and fallback_reason naming the missing field (HBI, for one) where it cannot; the ladder, the policy, the precedence, the fill law and the walk do not move; the NUMBERS on every evaluated stage record move with the aero model (a declared physics movement, classified at the release). Since R11.66.0 (THE 16.13.0 VENDOR WAVE, THE KITE WAVE; the operator rulings DQ-KP4-1 .. 10 of 2026-10-07): the engine moves to PhysicsR16 16.13.0 (13696d7) and the heel limit under a spinnaker moves with it on every cs3 evaluation exactly as on every carrier-less lane (the service states no heel limit of its own: sailState.limits.heel_limit_declared_deg is its only limit seam, handed to the engine's channel): a kite plan naming no strictly-lower declared limit now solves against 21.5° (basis orc_spinnaker_limiter_21_5) where R11.65.0 solved against the general 30°; a declared limit strictly lower binds as before; a declared 21.5 TIES — identical physics, the basis word orc_spinnaker_limiter_21_5 and the outcome not_binding_not_strictly_lower on the applied-state record (the App's KP-1a knob reads the spinnaker word since this release); the ladder, the policy, the precedence, the fill law and the walk do not move; the NUMBERS on every evaluated KITE-plan stage record move where the new limit caps (a declared default-path movement, classified at the release); every jib-and-main stage record byte-still. Since R11.67.0 (THE 16.15.0 VENDOR WAVE, THE KITE-SEAT WAVE ON THE SPINNAKER SET; KP-5-S2, re-run on 16.15.0; the operator rulings DQ-KP5S2-1 .. 14 of 2026-10-07/08 and DQ-V15-1 .. 10 of 2026-10-08): the engine moves to PhysicsR16 16.15.0 (f4f6247) and FOUR things move with it on the cs3 path, each attributable: (1) every cs3 record is applied_state_record/3 — the schema word and four additive leaves on EVERY record, jib-and-main records included at reference (controls.flat.code, controls.reef.code, deployment_as_evaluated.code.family_declared / family_evaluated): a leaf-set movement with NO numeric movement on any jib-and-main record; (2) every materialized code-seat plan's identity (the materializer's code rule legacy_compat/code_key/1 → /2 in materialization.mapping_rules; a plan without a code seat byte-identical but for the edition); (3) the SYM / GENNAKER physics: the engine's materializer no longer aliases SYM / GENNAKER to ASYM, and this service's own legacy aero-key alias (optimalRanking_r11.js mapCodeKey) is retired in the same release (DQ-KP5S2-7 (a)) so a symmetric kite's legacy BASELINE and its cs3 candidates evaluate ONE family — the SYM / GENNAKER NUMBERS MOVE on every lane where such a plan is evaluated (a declared movement, classified at the release: numeric only on SYM / GENNAKER members); ASYM plans keep their physics at 16.14.0 and move with the composition at 16.15.0 (movement 4). (4) THE KITE FORCE MODEL OF RECORD (16.15.0): every kite plan at the root default evaluates the ORC public spinnaker composition AS THE SET — the main in the set — so EVERY kite plan's NUMBERS MOVE on every lane (ASYM, SYM and GENNAKER; a declared movement classified at the release by the record's own leaf forceModel.downwindModel orc_public_spinnaker); r12 is the comparison arm by an explicit options.downwindForceModel; a kite the composition cannot be formed on falls back to r12 alone, disclosed, byte-identical to the arm; the options echo physics.qa.optsUsed.downwindForceModel reads orc_public_spinnaker / root_default on EVERY record; every jib-and-main NUMBER byte-still. THE CODE SEAT of candidate_request/3 is REACHABLE: the carrier gate admits the request key reef on the prescribed carriers (point, set, edge) since this release (DQ-KP5S2-13 (a): one token on the closed list, passed through VERBATIM to the engine's own typed refusals reef_without_code_sail, reef_out_of_domain with the floor named, spinnaker_reef_floor_underivable, reef_code_requires_materialized_stamp and two_controls_to_solve — the gate re-implements no vocabulary and types no seat), beside flat / twist as since R11.63.0; the carrier word cs3 is unchanged (the engine's contract id candidate_request/3 is the engine's own; the server sets options.sailStateContract = 'cs3' as today). The Optimal map's ladder, the policy, the precedence, the fill law and the walk do NOT move: no served rung sends reef.code — the ruled KITE ladder (DQ-KP5-11) and the Law of Sailor Trim ST-S1 are service policy code, THE NEXT PROMOTION (R11.68.0) on its own word. Since R11.68.0 (THE KITE LADDER + THE LAW OF SAILOR TRIM; a service-only release on the served 16.15.0; the operator rulings DQ-KL-1 .. 13 of 2026-10-08, every row (a)) the Optimal map under the carrier walks a ladder PER KIND -- WHITE FULL, FLATTEN, TWIST, REEF1, REEF2 unchanged (the declared-ladder contract filters it); KITE FULL, TWIST, KITE-REEF (the main's twist under the kite with the jib at reference, then the kite's own reef on the code seat: the one served rung that sends reef.code); CODE on WHITE -- each plan prepared from its own kind's table (pool.stages_prepared the sum of the kinds' lengths), the precedence per_kind_shallowest_stage_first/1 unchanged in stamp and reading the plan's OWN ordinal, sail_state.ladders and basis.ladders_definitions ADDITIVE beside the WHITE block the served App reads (sail_state.ladder / basis.ladder_definitions keep the WHITE kind's words); and THE LAW OF SAILOR TRIM decides each wind column (WHITE and KITE): the largest sufficient sail family holds, a smaller enters only where the one in hand is insufficient, no larger returns at a higher wind -- winner_basis sailor_trim and trim_law on a decided cell, the passed-over plan the runnerUp, sail_state.trim_law on every envelope. A KITE plan's stage rows carry closure.controls.code { flat, reef }; guidance.controls[].reef_code; the kite winner's reef line kite_reef_above_TWS_kt at the station KITE-REEF. The engine does not move (16.15.0 / f4f6247): every jib-and-main NUMBER byte-still; a kite plan's rung and score move with its ladder, classified at the release. Since R11.69.0 (THE INTERIM POLICY WAVE, a service-only release on the same 16.15.0; the operator's rulings of 2026-10-09) the kite ladder is FULL, TWIST, REEF1, REEF2 -- the main's rungs under the kite, the kite's own rung absent and disclosed (basis.kite_ease), the eased whole plan inadmissible for a kite (the kite kind's ease_allowance 1; an eased kite closure reads DIAGNOSTIC requires_residual_ease); THE LAW OF SAILOR TRIM decides each wind column unchanged; sail_state.ladders and basis.ladders_definitions ADDITIVE as before; no kite reef control is served (closure.controls.code.reef at reference on every kite row; guidance.controls[].reef_code reads it back on a kite winner, null on a white winner); the precedence stamp per_kind_shallowest_stage_first/1 unchanged. Since R11.70.0 (THE DECISIVE-MARGIN TAKEOVER -- the Law of Sailor Trim version 2; the operator's rulings DQ-UAT-S2-1 .. 6 of 2026-10-10, DQ-UAT-S2-1 (b) 0.15 kt; a service-only release on the served 16.15.0) the next smaller headsail takes over where its best sufficient member's score (the fill law's order within the family) beats the family in hand's by more than 0.15 kt (rule 1 bis; the WHITE kind only; no return as before; never a jump); sail_state.trim_law reads version 2 with decisive_margin_kt 0.15, decisive_margin_kinds [WHITE] and a takeovers count; every takeover cell carries trim_law.takeover { entered_by decisive_margin | insufficiency, from, to, margin_kt, size_family } -- the App's CHANGE DOWN word may read the wire instead of walking areas. Since R11.71.0 (THE /4 VENDOR WAVE, PhysicsR16 16.17.0 at the tip 3698c4d through the vendor-wave profile; the operator word of 2026-10-11): the prescribed carriers (point, set, edge) ADMIT the request key ease beside flat / twist / reef (the code seat of candidate_request/4: a number or the word solve, passed verbatim to the typed refusals of the engine; on a kite plan that sends no seat the default solve of the engine eases the kite as far as the limit needs, bounded by its floor 0.88, where its decision solve saturates at the limit, before any typed state); the Optimal map ladder, the policy, the precedence, the fill law and the walk do not move but for THE KIND CHANGE (a kite-authority cell whose kite rows are all outside the ranking is won by the next kind, KITE -> CODE -> WHITE; winner_basis kind_change with the leaf kind_change { from, to, cause, entered }); a KITE plan stage row reads the kite ease back (closure.controls.code.ease); the kite NUMBERS move with the engine on every seat-less kite cell the un-eased solve had typed or capped (a declared movement, classified at the release); every jib-and-main NUMBER byte-still; the Law of Sailor Trim version 2 unchanged.","epoch":"R16","since":"R11.56.0"},"r16_kite_seat":{"label":"The kite seat (R16 16.14.0, served since R11.67.0): FLAT and REEF as value controls on the code seat of candidate_request/3; the carrier gate admits reef and, since R11.71.0 (R71-S1), ease; the SYM / GENNAKER alias retired","description":"Since R11.67.0 (THE 16.15.0 VENDOR WAVE, THE KITE-SEAT WAVE ON THE SPINNAKER SET; KP-5-S2; the operator rulings DQ-KP5S2-1 .. 14 of 2026-10-07/08 and DQ-V15-1 .. 10 of 2026-10-08) the vendored engine is PhysicsR16 16.15.0 (f4f6247c41213a81462579c092bca530bb0bb735, THE SPINNAKER-SET release, carrying THE KITE-SEAT release 16.14.0 whole): under the carrier the engine accepts THE CODE SEAT of candidate_request/3 — request.flat.code and the NEW control key request.reef.code, each a number or the word 'solve' — FLAT on a kite as ORC's rotation-form algebra on the kite family's direct pair (ORC VPP Documentation 2026 §5.1.3; the profile spinnaker_flat/1; the floor ORC's flatmin 0.53) and REEF on a kite as ORC's continuous spinnaker reef (§5.1.3; the profile spinnaker_continuous_reef/1: the kite's exposed area A_base × reef² rides the plan as codeArea_m2, the centre × reef is applied at the aero point; the floor 0.85 × A_default / A_base from the certificate's rig — SPL / TPS = J where unrecorded — for the spinnaker families, 0.91 for CODE0; a rig field needed and absent is spinnaker_reef_floor_underivable, the field named, never a silent 0.85; a kite smaller than ORC's default area keeps its area, its floor above 1 disclosed); the stage solve on the code seat (the fixed-heel probe, the method of record); the materializer STAMPS materialization.reef_row_code { reef, area_base_m2, area_exposed_m2, ce_ratio, floor, floor_source, floor_inputs, profile } from the inventory row and the certificate's rig, recomposed from the base at every evaluation, never accumulated; every cs3 record is applied_state_record/3 (the schema word and four additive leaves on EVERY record, jib-and-main records included at reference: controls.flat.code, controls.reef.code, deployment_as_evaluated.code.family_declared / family_evaluated); the typed refusals BEFORE anything is built: reef_without_code_sail, reef_out_of_domain (the floor named, never clamped), spinnaker_reef_floor_underivable, flat_out_of_domain (at 0.53), reef_code_requires_materialized_stamp, two_controls_to_solve, and twist.code control_not_supported_for_sail — ORC has no twist on a spinnaker. THE SERVICE'S CARRIER GATE ADMITS the request key reef on the prescribed carriers (point, set, edge) since this release (DQ-KP5S2-13 (a): one token on the closed list, passed through VERBATIM to the engine's own typed refusals — the gate re-implements no vocabulary and types no seat), so a prescribed caller can send reef: { code } the day the wave lands; the carrier word cs3 is unchanged. THE RETIRED ALIAS: a plan whose code sail's declared family is SYM or GENNAKER evaluates the r12 SYM / GENNAKER tables by family where 16.13.0 evaluated ASYM's through the materializer's alias (the materializer's code rule legacy_compat/code_key/1 → /2), and THIS SERVICE'S OWN alias on the legacy aero key (optimalRanking_r11.js mapCodeKey: SYM / GENNAKER → ASYM) is RETIRED in the same release (DQ-KP5S2-7 (a)) so a SYM plan's legacy BASELINE and its cs3 candidates evaluate ONE family; the SYM / GENNAKER NUMBERS MOVE on every lane where such a plan is evaluated (a DECLARED movement, classified at the release: numeric only on SYM / GENNAKER members); every jib-and-main plan keeps its physics; ASYM plans move with the composition at 16.15.0 (the r16_kite_force_model_orc_spinnaker row); a plan without a code seat is byte-identical but for the record edition and the options echo. THE SERVED KITE LADDER IS A LATER PROMOTION (R11.68.0): the Optimal map's ladder is unchanged by this wave (FULL, FLATTEN, TWIST, REEF1, REEF2 on every plan, kites included — no served rung sends reef.code); the ruled KITE ladder of DQ-KP5-11 (FULL → the main's TWIST under the kite → the pool's CHANGE DOWN → KITE-REEF where no smaller kite exists; KITE-FLAT out) and the Law of Sailor Trim ST-S1 are service policy code, promoted on their own word. The heel limit under a spinnaker (21.5, R11.66.0), the plan-wide ease where no seat is sent, the default upwind model orc_public_low_spanc and every jib-and-main NUMBER do not move; the kite aero tables are the composition's since 16.15.0 (the r16_kite_force_model_orc_spinnaker row). Two 16.14.0 disclosures RESOLVED at 16.15.0: the kite centre of effort under the composition is ORC's 0.565 × ISP (the comparison arm keeps the record's girth triangle) ([V-KP5-12] closed); ORC's TPS = J default applies on a centreline configuration only — a pole boat without a recorded TPS reads TPS_source absent_pole_boat_no_default, every floor number unchanged ([V-KP5-13] closed). Since R11.71.0 (PhysicsR16 16.17.0 vendored; the reef seat RETIRED at the engine since 16.16.0, NR-S7, [V-R71-15]): request.reef.code on ANY plan is refused typed kite_reef_retired (the former word reef_without_code_sail on a plan without a code sail is dated history; the replacement named: the kite depowers on its EASE seat, which the engine solves by default on a seat-less kite plan where its decision solve saturates at the limit, bounded by the floor 0.88); the gate still passes reef verbatim to that refusal; FLAT on the code seat unchanged; the admitted key ease (R71-S1) rides beside it.","epoch":"R16","since":"R11.67.0"},"r16_kite_force_model_orc_spinnaker":{"label":"The kite force model of record (R16 16.15.0, served since R11.67.0): the ORC public spinnaker composition as the set on every kite plan at the root default; r12 the comparison arm by explicit option; a typed kite-only fallback; the kite numbers move","description":"16.15.0 = THE SPINNAKER-SET release, 2026-10-08 (served since R11.67.0 — THE KITE FORCE MODEL OF RECORD: on every served kite plan (ASYM / SYM / GENNAKER) at the root default the ORC public spinnaker composition AS THE SET — ORC VPP Documentation 2026 Tables 5.8 (symmetric) / 5.9 (asymmetric on the centreline) / 5.10 (asymmetric on a pole), the tack from the certificate's ArtSprit, composed WITH Table 5.2's main across all angles and Table 5.5's jib where one flies, in ORC's collective form (the collective lift and drag, KPP, the downwind effective height of eq 5.44-5.45 with the kite's reef outside it, SHAPE and Power as the kite's effective area, the kite's centre 0.565 × ISP, the whole-set HBI datum, the reef composed per probe, the C_heel >= 0 clamp disclosed); the main is IN the set, so THE KITE NUMBERS MOVE on every lane (FYD's 52 Farr 40 kite cells at FYD's speed: the mean |dHeel| vs FYD 1.573 → 1.359°; capped 9 → 8 under the unchanged 21.5; the kite seat's reef closes all eight by the kite alone) — a DECLARED default-path movement classified at the release (numeric only on members whose record reads forceModel.downwindModel orc_public_spinnaker); every jib-and-main NUMBER byte-still (the engine's parity 219 at 0.000000000; its default-plan goldens 102 / 0). r12 IS THE COMPARISON ARM: an explicit options.downwindForceModel 'r12' keeps the 16.14.0 kite path byte for byte; a kite plan the composition cannot be formed on (ArtSprit absent on an asymmetric; CODE0; an incomplete geometry) falls the KITE ALONE back to r12 under the same ORC pair, disclosed (forceModel.downwindModelSource root_default_fallback, downwind_fallback_reason the field) — its numbers EQUAL the comparison arm's; an explicit key keeps the typed refusals orc_public_spinnaker_tack_undeclared / orc_public_spinnaker_family_unsupported / orc_public_spinnaker_geometry_incomplete / orc_public_spinnaker_strategy_unsupported. THE RECORD READS IT BACK: on kite records forceModel.downwindModel / downwindModelSource / downwind_fallback_reason, code.mode orc_public_direct, the datum scope all_sails and the orcPublic.spinnaker leaf (the table and the tack, the centre's source, the reef, heff, tf, CEH_main, the LSM source, the areas, SHAPE and Power as evaluated, the clamp, the blanketing word, the jib in the set); on EVERY record of the unified roots the options echo physics.qa.optsUsed.downwindForceModel reads orc_public_spinnaker with downwindForceModelSource root_default (the root's injection disclosed, not a model used — through 16.14.0 it read r12). The kite seat of 16.14.0 is carried whole: candidate_request/3's flat.code / reef.code, the stage solve on the code seat, applied_state_record/3, the join VERIFIES a disclosed code-seat solve (the 16.14.0 attempt's integrity 500 on the solve form is cured in the engine); the TPS word conditioned on the tack (absent_pole_boat_no_default on a pole boat; every floor number unchanged); the kite centre under the composition is ORC's 0.565 × ISP (the comparison arm keeps the girth triangle). The heel limit under a spinnaker (21.5), the upwind composition orc_public_low_spanc and the served Optimal ladder UNCHANGED (the KITE ladder + ST-S1 = A LATER PROMOTION (R11.68.0)). This service's 48-request A/B at this release: every member on the options echo; every cs3 member on the record-edition leaves; every kite member on the identity leaves and numerically under the set; a fallback member numerically byte-still; every jib-and-main member numerically byte-still; 0 OTHER)","epoch":"R16","since":"R11.67.0"},"r16_kite_ladder":{"label":"The kite ladder (served since R11.68.0; the interim ladder since R11.69.0): the Optimal map walks a ladder PER KIND -- WHITE FULL, FLATTEN, TWIST, REEF1, REEF2 unchanged; KITE FULL, TWIST, REEF1, REEF2 on the main (the kite's own rung absent and disclosed; KITE-REEF ruled FALSE 2026-10-09); CODE on WHITE; sail_state.ladders additive","description":"Since R11.68.0 (THE KITE LADDER + THE LAW OF SAILOR TRIM -- the policy promotion on the served PhysicsR16 16.15.0; the operator rulings DQ-KL-1 .. 13 of 2026-10-08, every row (a); a service-only release, no vendor run) the served Optimal ladder is PER KIND in the ONE source: WHITE walks FULL, FLATTEN, TWIST, REEF1, REEF2 unchanged (the declared-ladder contract sailState.reef_stations filters it); KITE walks FULL, TWIST, KITE-REEF -- the MAIN's twist under the kite (twist = { main: solve }; the jib at reference), then ORC's continuous spinnaker reef on the kite's own seat (reef = { code: solve }, the floor from the certificate; the control word reef_code on the KITE definitions); KITE-FLAT is NOT a served rung (a value control a caller may still send on the prescribed carriers); CODE walks the WHITE table. The pool prepares each plan from its own kind's ladder (pool.stages_prepared = the sum of the kinds' lengths over the pool); the precedence per_kind_shallowest_stage_first/1 is unchanged in stamp and reads the plan's OWN ordinal; the pool's CHANGE DOWN to a smaller declared kite is the precedence's and the Law of Sailor Trim's doing, never a rung; KITE-REEF ranks only where no smaller kite is sufficient. A KITE plan's stage rows carry closure.controls.code { flat, reef } (the reef's area_exposed_m2 is what a consumer prints as the equivalent smaller kite; the App's words are its own: CHANGE DOWN, never \"reef the kite\"); sail_state.guidance.controls[].reef_code per core cell; a kite winner's reef line reads kite_reef_above_TWS_kt at the station KITE-REEF. THE WIRE: sail_state.ladders { WHITE, KITE, CODE } and basis.ladders_definitions ADDITIVE beside sail_state.ladder / basis.ladder_definitions (the WHITE kind's words, unchanged for the served App); every plan row's stages[] in its own kind's labels; the merge's shared basis compares the per-kind definitions. The engine does not move (16.15.0 / f4f6247); every jib-and-main NUMBER is byte-still; a kite plan's rung and score move with its ladder (a declared movement, classified at the release). Since R11.69.0 (THE INTERIM POLICY WAVE -- the operator's rulings of 2026-10-09: KITE-REEF ruled FALSE, a work-around for not applying REEF1 to the main; the kite ladder of record FULL, KITE-EASE, TWIST, REEF1, REEF2 with the kite's ease at the /4 seat of PhysicsR16 16.16.0; the ADRD-PLAN R11.69.0, DQ-R69-1 .. 8 (a)) the served KITE ladder is FULL, TWIST, REEF1, REEF2 on the MAIN (the WHITE ladder's words; the kite at full; reef_code off on every rung) -- the kite's own rung ABSENT and disclosed on basis.kite_ease { served false, floor 0.9 (an operator-supplied policy value), ease_allowance 1, basis, reason }; the kite kind selects under the operational policy with ease_allowance 1 (the fallback never selects an eased closure: an eased kite closure reads DIAGNOSTIC requires_residual_ease, and the Law of Sailor Trim ranks only the ranked -- CHANGE DOWN to a sufficient smaller inventory kite, else the kind change / overpowered); a kite winner's reef line reads its REEF1 row (reef1_above_TWS_kt) by the WHITE rule -- under a declaration the first DECLARED main station, since the KITE table is derived from the declaration like the WHITE table (its reef rungs are now the main's stations; R11.68.0 left it whole because it carried none); guidance.controls[].reef_code on a kite winner reads its selected row's code.reef back from the engine (the kite's own reef at reference on every served rung), null on a white winner; the kite rows' policy_allowance 1 on the record. The engine does not move (16.15.0 / f4f6247). Since R11.71.0 (THE /4 VENDOR WAVE: PhysicsR16 16.17.0, THE AUDIT REMEDIATION RELEASE, exported at the tip 3698c4d (= the release commit e3683cb + one words-only commit) through the vendor-wave profile; the ADRD-PLAN of 2026-10-10, DQ-VWP-1 .. 7 (a); the 16.16.0 attempt of 2026-10-10 HELD on the finding of this service -- the kite-ease seat gap -- and never served) the engine MOVES: the kite is eased on its own seat (KITE-EASE; the floor 0.88 with its provenance on the stamp materialization.ease_row_code) and never plan-wide; a kite plan sent WITHOUT an ease seat -- every kite plan this service sends -- SOLVES its own ease BY DEFAULT where its decision solve saturates at the 21.5 deg limit -- the least ease that holds the limit, bounded by the floor 0.88 (the record reads requested_source default on its ease control -- the materialization of a seat-less plan keeps its own requested_source absent; an unsaturated kite plan is not eased: state reference, requested_source absent); under the main rungs TWIST, REEF1, REEF2 the kite rides AT the floor (requested_source default_carried_floor); so a kite cell closes eased wherever an ease at or above the floor holds the limit; only where the floor cannot hold it does the record read the typed state no_admissible_kite_state (the physics solved AT the floor; the ease tried, 0.88, on the leaf as ease and in kite_state.ease_tried), carried on the inadmissible leaf of the plan row with physics.kite_state by name (ten members); basis.kite_ease is read from the vendored engine (served true); the kite ease is read back on every KITE stage row (closure.controls.code.ease); where every kite row of a kite-authority cell is outside the ranking the cell passes to the next kind (THE KIND CHANGE, KITE -> CODE -> WHITE; winner_basis kind_change with its leaf); the KITE ladder words FULL, TWIST, REEF1, REEF2 are kept until the operator rules the KITE-EASE rung word (S-4); the hydro labels made true on every record (sideforceFnClamped retired; the presence-only support labels), the set conservation delta and the datum on the composed records; every jib-and-main NUMBER byte-still; the kite NUMBERS move on every seat-less kite cell the un-eased solve had typed or capped -- a declared movement, classified at the release. Since R11.82.0 (DQ-UD-3 (a), RULED 2026-10-23 -- READING-MS-UD-1 sec. 6; the App's FINDING UAT-19 [V-UD-3] read a KITE-EASE rung into the served ladder): the served KITE ladder is FULL, TWIST, REEF1, REEF2 on the main and carries NO ease rung; the leaf basis.kite_ease (served true where the vendored bundle exports KITE_EASE_FLOOR_POLICY -- 16.30.0 does, floor 0.88) has its basis and reason prose RE-WORDED to AP-S6's law (PhysicsR16 16.23.0, served since R11.74.0): the kite's ease is the sailor's own trim OUTSIDE the Sailor's order (an explicit ease seat solves the ease alone); a seat-less kite plan closes by the SET's global reef (kite_set_global_reef/1) to the change-down trigger 0.88, then the inventory's smaller kite, then the set's reef to the floor, then the typed state; the pinned members (served, floor, ease_allowance, floor_source, provenance, profile, stamp) unchanged.","epoch":"R16","since":"R11.68.0"},"sailor_trim_law":{"label":"The Law of Sailor Trim (served since R11.68.0; version 3 since R11.74.0: the 0.15 kt margin on every sufficient cell over any smaller sufficient family, sufficiency read against the family's limit by 2 degrees, WHITE and KITE alike; version 2 since R11.70.0: the next smaller headsail takes over where it beats the one in hand by more than 0.15 kt): one column pass in the Optimal ranking -- the largest sufficient sail holds, a smaller sail enters where it is insufficient or where it is decisively faster, no return; winner_basis sailor_trim; trim_law on the cell (the takeover leaf on every takeover cell); sail_state.trim_law","description":"Version 3 since R11.74.0 (MS-SD-S1; the operator's RULING-MS-SD-1 DQ-SD-1 (a), -2 (a), -3 (b), -5 (a) and RULING-MS-SD-2 of 2026-10-13): the decisive-margin takeover runs on EVERY cell where the family in hand is sufficient (the entry cell included) against the best sufficient member over ALL smaller sufficient families (no jump bar); sufficiency reads the engine's limit -- a family closes below its limit by 2 degrees (closure.margin_to_limit_deg), else it is sufficient-at-the-limit and holds only where no smaller family closes below (the at_limit takeover); the KITE kind takes the margin; sail_state.trim_law gains sufficiency_limit_margin_deg. C6 (the ONE reviewer at the C2 pin, findings 1 and 2): THE CLOSURE -- on every cell the margin step and the at-limit hold rule are applied in turn until the family in hand satisfies both (a margin entry never rests on a family sufficient only at the limit while a smaller family closes below it; every move strictly smaller); THE CHAIN LEAF -- the cell's takeover leaf names the last step and carries steps [each step's own leaf, in order] where more than one fired. The version-2 text follows. Since R11.68.0 the Law of Sailor Trim (the operator's rulings DQ-ST-1 .. 10 of 2026-10-07, every row (a); DQ-KL-6 .. 8 (a) of 2026-10-08) runs in the service's Optimal ranking as ONE pure column pass after the per-cell fill law and before the guidance, on the monolithic path and on the merge alike (the merged map === the monolithic): per TWA column, TWS ascending, among the ranked selected states of the cell's authority kind -- WHITE and KITE in this release (CODE later) -- the largest size family holds while it has a sufficient member (its selected rung at or before TWIST, feasibility free or powered; equal declared areas are one family), a smaller family enters only where the one in hand is insufficient (a reef rung, or no sufficient member), and once a smaller family has entered no larger family is selected at any higher wind at that angle, whatever its score; the size is the declared area of the headsail (WHITE) or of the kite (KITE), never the label; at the lowest cell of a column the largest sufficient family is taken in hand and holds there too (a one-cell map is the identity whenever its pick is already in that family). Where the law's winner differs from the fill law's pick the cell reads winner_basis sailor_trim and trim_law { rule hold | no_return, held, passed_over, margin_kt, size_family { held_area_m2, passed_over_area_m2 } } with the passed-over plan disclosed as the runnerUp with its (possibly negative) margin, the authority kind's kindWinner the held plan; sail_state.trim_law { law sailor_trim, version 1, kinds, columns [{ twa, tws, cells }], cells_decided } on every envelope; basis unchanged (a ranking rule, not a request basis). The score decides within a family, never between sizes while the hold rule holds (the sailor sheets). Nothing is re-solved or re-scored; the score's answer is never hidden. Since R11.70.0 (THE DECISIVE-MARGIN TAKEOVER -- the operator's rulings DQ-UAT-S2-1 .. 6 of 2026-10-10 on the UAT-S2 ADRD-PLAN: DQ-UAT-S2-1 (b) 0.15 kt; a service-only release on the served PhysicsR16 16.15.0) the law is version 2 by rule 1 bis: while the family in hand is sufficient, the NEXT smaller family (the largest smaller) with a sufficient member takes over at the first cell where its best sufficient member's score (the fill law's order within the family) beats the family in hand's best sufficient member's by more than 0.15 kt -- the decisive-margin takeover, the WHITE kind only (the kite kind keeps version 1's walk until its own ruling); from that cell no return binds as before; never a jump over a sufficient family; rule 2's insufficiency takeover is unchanged. M = 0.15 kt is a LAW constant served on the wire as sail_state.trim_law.decisive_margin_kt (decisive_margin_kinds [WHITE]; never declarable per request); every takeover cell of every kind in force carries trim_law.takeover { entered_by decisive_margin | insufficiency, from, to, margin_kt, size_family { from_area_m2, to_area_m2 } } -- beside the five members on a re-cut cell, alone (winner_basis as the fill law wrote it) on a cell the law did not re-cut because the entering plan is the pick; sail_state.trim_law { law sailor_trim, version 2, kinds, decisive_margin_kt, decisive_margin_kinds, columns, cells_decided, takeovers } on every envelope. The engine does not move (16.15.0 / f4f6247); every jib-and-main NUMBER is byte-still; the WHITE winners of a map move only where the law lets the next smaller sail in (a declared movement, classified at the release on the Sitella and INFERNO maps).","epoch":"R16","since":"R11.68.0"},"kite_fill_fence":{"label":"The fill-gate fence (R11.74.0): a kite plan the engine's own asym fill ramp zeroes at a cell is excluded there (kite_below_fill_wind), never ranked or held; its declaration is disclosed against the applied ramp","description":"Since R11.74.0 (MS-SD-S3; the operator's RULING-MS-SD-2 DQ-SD-6 (a) of 2026-10-13; ADRD-MS-SD-1 section 10, MS-1 located): the engine's aero multiplies a kite's effective area by its asym fill ramp -- 0 at TWS at or below the sail's declared fill_TWS_kt (the wire boat's aero_schema.asym on the kite; the catalog's declaration, which the converter never writes), 1 from one knot above, linear between -- and discloses it on aero.diagnostics.codeAsym. A kite at ramp 0 produces the white plan's solve under a kite label; the service no longer ranks that record as a KITE plan: on every KITE plan the service reads the engine's fill_ramp off the FULL stage's record (no mirror of the ramp) and, at 0, EXCLUDES the plan at that cell with the reason kite_below_fill_wind (the fenced row keeps the stage rows the walk evaluated and carries fill_gate { fill_TWS_kt, weight_kg, projected_area_factor, fill_ramp, source }); 0 < ramp <= 1 is ranked with fill_gate on the row (ramp 1 is NOT fenced and NOT byte-still: its fill_gate is the S2 disclosure -- the C2 review's finding 3 read the earlier words 'ramp 1 or no block is byte-still' against the served row); a kite without the block is byte-still. The Law of Sailor Trim sees only kites that set.","epoch":"R16","since":"R11.74.0"},"stage_control_disclosure":{"label":"The solve disclosure (R11.74.0): the ranked row's and the winner's solve block carries the selected stage's stage_control, drive_retained, enforced_limit_deg, margin_to_limit_deg, at_limit and the legacy leaves named","description":"Since R11.74.0 (MS-SD-S2; the operator's RULING-MS-SD-1 DQ-SD-4 (a) of 2026-10-13; ADRD-MS-SD-1 section 1.5): the winner's solve block had carried the legacy root's leaves only (depowerFactor 1 on every cs3 cell, u null, saturated false) while the applied stage control lived on the stage rows and in the service's own trial rows unpublished. Now every scored plan row's solve (the winner summary copies it) carries, from its SELECTED stage row: stage_control { outcome, control, value } (the engine's closure.solve -- the control the stage solve engaged and the value it closed at), drive_retained { main, head }, enforced_limit_deg (the family's limit the engine enforced), margin_to_limit_deg (the engine's own leaf, else the limit less the heel at closure), at_limit (the margin under the trim law's 2 degrees), and legacy_leaves [depowerFactor, u, saturated] naming the legacy root's leaves, which stay for the readers that have them. Every evaluated stage row's closure carries enforced_limit_deg.","epoch":"R16","since":"R11.74.0"},"r16_heel_limit_selector":{"label":"Per-point heel-limit selector (R16 16.3.0)","description":"Every calculate-r16 solve selects its applicable reference heel limit from the EVALUATED per-point sail configuration — 30° general (the ORC VPP's documented high-heel limiter threshold) or a conservative 25° when the evaluated sail state is a headsail set flying (an R16 policy value, so labeled — not an ORC-documented number); since R11.66.0 (vendoring PhysicsR16 16.13.0, THE KITE release) 21.5° when the evaluated code seat is a spinnaker — ASYM, SYM or GENNAKER — ORC's documented maximum heel under spinnaker (ORC VPP Documentation 2026 §5.2.3; basis orc_spinnaker_limiter_21_5, provenance orc_documented_spinnaker_limit; the HARD form with the plan-wide ease; the precedence: a declared limit strictly lower → 25 (a headsail set flying) → 21.5 (a spinnaker) → 30 (the general state); through R11.65.0 a spinnaker resolved the general 30); an explicitly declared lower limit (tuningProfile.heel_limit_declared_deg — on the cs3 carrier sailState.limits.heel_limit_declared_deg) binds when strictly lower (a tie does not bind — the applicable basis word labels the record; a higher declaration never raises). Every response carries the pair physics.heelLimit_deg + physics.heelLimitBasis (orc_high_heel_limiter_30 / r16_hsf_policy_25 / orc_spinnaker_limiter_21_5 / designer_declared_lower_limit). The deprecated client heelLimit_deg scalar is no longer a serving authority — the engine reads it nowhere (the historical client 25 no longer caps the general state). An UNCLASSIFIABLE evaluated code-sail state refuses typed (heel_limit_sail_state_unclassified — the coded-rejection 400 contract, an input defect); a valid sailing state with no equilibrium within the applicable limit remains a SUCCESSFUL typed analysis result, never a request error and never a service failure. These are model limits, not sailing recommendations.","epoch":"R16","since":"R11.48.0"},"r16_rm_source_composed_label":{"label":"RM-curve provenance label cure (R16 16.4.0, F-5)","description":"The heelPath.rmSource label on the physics explainability surface (tier_explainability_response.point.physics.heelPath) is provenance-truthful: a righting-moment curve the kn_prior composition itself attached is labeled kn_prior_composed — through 16.3.0 such curves were mislabeled certificate_curve (the RELEASE-R16-16.2.0 §9/§10 chip, cured at 16.4.0: resolveRmSource reads the composition attachment; the engine's census-bounded wire golden re-mint recorded 24 label flips, only where the deep provenance is kn_prior_composed, 0 violations, ×2 byte-identical — solver rows BYTE-IDENTICAL, a label-only cure). Caller-provided curves keep certificate_curve (caller-wins); rated-RM-only boats keep certificate_rm_rated. Outward-visible on kn_prior solves only — the cert lane and the r11..r15 endpoints are untouched.","epoch":"R16","since":"R11.49.0"},"r16_applicability_block":{"label":"Canonical applicability block (R16 wire contract)","description":"Every calculate-r16 response carries `applicability` — the ONE canonical sailor-facing model-validity mapping (summarizeApplicability, the RB-1 consumer-contract layer): supported / confidence_limited / not_available_from_certificate / analysis_unavailable, in plain language. Whitelists fail closed — an unknown internal state can never present as supported. These are model-validity states for advisory performance analytics (the proportionate-governance protocol, 2026-07-29). Since 16.1.0 (the U6 Heel-Confidence release) the FOUR-ARM severity law governs the kn_prior lane: a schema-valid certificate with a finite, bounded calculation PUBLISHES its real numbers — soft model-confidence limitations (calibration-reference divergence, above-window load, bounded cap saturation, unresolved reference association) aggregate to confidence_limited (the sailor surface titles it 'Stability confidence: Low'; since 16.1.1 the MEMBER-GRADED soft class carries the operator-ruled self-titled sentence 'Stability confidence: Low. DSYHS hull library match is limited.' while non-member soft classes keep the stable sentence), and genuine computational failures still publish no numbers. No sailor-facing sentence claims certificate history or boat-identity adjudication — a model-reference comparison is a confidence signal, never a validity test. The r11..r15 endpoints never set the key — their envelopes are byte-identical (the conditional envelope lift in makeHandler).","epoch":"R16","since":"R11.43.0"},"r15_standalone_engine":{"label":"R15 standalone physics engine (calculate-r15 — its own formal endpoint)","description":"The clean-room standalone extraction of the SailrScience physics estate — @sailedge/physics-r15, generation R15-SA — serving on ITS OWN endpoint per the operator's formal-endpoint ruling (AMENDMENT-R15-E4-DECIDE-Formal-Endpoint-2026-07-21: never conflated with a prior version; the App selects engines by endpoint). Same physics law as calculate-r13 at the current legacy pin, proven by construction rather than asserted: the engine is extracted file-by-file under fail-loud gates (statelessness · no-bulk-copy · version lint), byte-parity-proven at engine grain (219-fixture corpus, 200,000+ physics leaves at drift 0.000000000, explainability byte-exact under a deny-by-default 100%-classified surface manifest) AND at wire grain (the MS-grain harness: the full post-auth composition chain legacy-vs-R15, byte-identical except the ruled truthful identity slots), with 14 module-grain equivalence batteries + a composition coherence property, re-proven at every legacy re-base checkpoint. Responses carry the R15 identity natively (physics.model = R15-SA/x.y.z; meta.engine 'r15'). Tier payloads are assembled by the X1 explainability layer over a tier-free core (kernel tier-invariance is a proven standing property). The engine ships as a committed esbuild CJS bundle of the pure-ESM library (the runtime require(esm) limitation, probed live before any traffic — r15-probe). Model documentation: the R15 MODEL-BOOK (hydro + aero/kernel volumes, due-diligence edition, gap register + claims fences) in the R15 governance corpus. calculate-r13 remains permanently legacy-vendored (vintage-comparative surface).","epoch":"R15","since":"R11.42.0"},"induced_breadth_effective_span_law":{"label":"Induced-drag coefficient breadth (⑤, PSC-C — the last NAR-2 gap)","description":"Physics 11.37.0 (ADRD-Physics-IB-Induced-Breadth-2026-07-21 §5 — FIVE FYD consults answered same-day: the breadth method + constants, the seam mapping, the receipts round, and the post-R1 final rulings; operator GO; zero tuning — every constant FYD's). The projection-mode induced-drag effective span is no longer a corpus-wide constant: AR_eff(TWA) = AR_nom·kind_mult·f_TWA, with AR_nom = clamp(2.5 + 0.05·P + 0.03·CE − 0.40·overlap, 2.0, 6.0) from cert inputs only (P; the solved plan's area-weighted composite CE; overlap = clamp(LP/J − 1, 0, 1) off the flying headsail's declared LP_m with the rated rig.HLP fallback, disclosed), kind multipliers white 1.00 / code 0.90 / kite 0.80 (±0.05), a raised-cosine point-of-sail modifier (1.25 upwind ≤60° → 0.85 off-wind ≥120°), and span efficiency e = 0.90 (±0.05) surviving. Declared AR values win verbatim — the ruled law replaces only the fallback. THE SEAM (replace, never sum; drive axis only): the implicit induced share of the direct force tables is replaced by the corrected projection induced estimate — off-wind family tables at F_table_ind 0.30 (±0.10), the R12U unified upwind tables at F_ind_upwind 0.08 (±0.04 — re-ruled to the MEASURED corpus balance after FYD's initial 0.20 over-closed upwind), guarded per cell by BOTH ruled limiters (overshoot cap 1.10 ±0.05; decrease floor γ_min 0.90 ±0.05 in the capped-scale flag-only form — cells below the floor are disclosed structural remainder, never silently repaired). kInduced_mult survives as declared per-sail refinement in the ruled order; keel-side induced stays orthogonal. Disclosure at every tier: tier_explainability_response.point.inducedBreadth (windage/cosphi/propellerInstallation sibling) — the full AR law, inputs, constants, sensitivity lanes, and per-sail seam state. SHIPPED AS THE RULED DOCUMENTED EXCEPTION (FYD P3, recommended): off-wind well-posed residual median closure 39.7% (0.277 → 0.167) — short of the 60% accept gate, inside FYD's own predicted 40–50% band; heel green (max 0.111°, hero window clean); upwind balanced (max Δε +0.014). The 120°-high-TWS residual class is published as STRUCTURAL REMAINDER pending targeted experiments; residual map filed (EVIDENCE-IB-Receipts-FINAL-2026-07-21.json). No automatic ⑥ — this closes the NAR-2 physics-completion sequence: ① windage · ② yaw/rudder · ③ cos φ · ④ PIPA · ⑤ induced breadth, ALL SHIPPED.","epoch":"cross","since":"R11.41.0"},"pipa_propeller_installation_drag":{"label":"Propeller-installation drag (PIPA, PSC-C ④)","description":"Physics 11.36.0 (ADRD-Physics-PIPA-Propeller-Installation-Drag-2026-07-20 §5 — FYD method consult answered 2026-07-20, coefficients micro-consult answered 2026-07-21, the lane's sixth same-day round-trip; operator GO). The certificate's propeller record (PIPA/PRD/PBW, installation class, propeller type — carried since v4.3, consumed nowhere until now) composes as its OWN sixth channel in the authoritative hydro-drag stack (\"separate channel, like windage on aero\" — PIR-2), strictly downstream of the heel solve so heel receipts are byte-stable BY ARCHITECTURE (WAT-1). Ruled algebra verbatim (PCR-1..4, dated FYD provenance): viscous D = ½·ρ·(C_D_strut·PBW + C_D_blade_folded·PIPA·PRD)·V² with dimensionless per-component C_D (strut 0.030, blade folded 0.005; ±20% lanes) × a universal PoS gate (raised cosine TWA 60→120 with upwind floor S_floor 0.10 — materiality lives inside the coefficient, the term applies at every point of sail) × CE amplification M_CE = 1 + α·0.20·(CE/10 m) on the viscous share only, + speed-dependent form/hinge loss F₀·(V/V_ref 6 kt)² (strut 12 N + folded hinge 8·0.25 N; ±25% lanes). Blade state is the STATIC under-sail law (forced_blade_state = folded for folding installations — no rpm/advance-ratio machinery in a sailing solve); the strut-immersion correction f(β,φ) is a disclosed deferral, NOT applied. Ruled coverage is strict: strut+folding installations only (the governed corpus is 3/3); other classes refuse typed (propeller_installation_class_unruled + re-ruling flag). No-PIPA certs compose byte-identically with a typed absence (propeller_terms_absent + polar_provenance_undeclared note — the ORC polar may embed ORC's own allowance; never a silent zero). The ORC-polar anchor NEVER moves — the term completes the composed-drag ledger toward the anchor (PIR-3: filed wetted area excludes the installation; no double count). Disclosure at every tier: tier_explainability_response.point.propellerInstallation (sibling of windage/cosphi, C3-F3 pattern) — basis orc_formulation_reconstruction, all coefficients, gates, blade state, sensitivity lanes, and per-cell breakdown exposed verbatim. Acceptance receipts on the production lattice: off-wind fraction_closed well-posed median 10.5% inside FYD's [10%,30%] band; upwind Δε +1.7–4.7% near-uniform (the ruled healthy signature); residual-map handoff artifact filed for ⑤ induced breadth (its own consult, own GO).","epoch":"cross","since":"R11.40.0"},"cosphi_heel_corrected_wind_triangle":{"label":"Heel-corrected wind triangle (E9 cos φ, PSC-C ③)","description":"Physics 11.35.0 (ADRD-Physics-E9-CosPhi-Heel-Corrected-Wind-Triangle-2026-07-20 §5, FYD method consult SENT AND ANSWERED same day; operator GO). The apparent-wind triangle is no longer heel-blind: each sail's apparent wind is evaluated in ITS OWN heeled plane via the FYD-ruled per-sail CE-height local transform (rotate the hull-frame AW vector about the fore-aft axis by φ; existing coefficient tables consumed unchanged, indexed by the LOCAL AWA/AWS — blanket A·cosφ fenced). The composition root closes the aero(φ) ↔ φ(aero) coupling with a fixed-point iteration (0.1° heel tolerance, relaxation α ∈ [0.5,1] with adaptive damping + a bracketed-root fallback for saturation-knee cells, max ~12 evaluations; unconverged = typed refusal cosphi_heel_iteration_unconverged, deny-by-default). DEPOWER-AT-CAP reads the CONVERGED PROJECTED moment and heel (project-first / ease-second — FYD: the unprojected moment misplaces the depower threshold). Windage exposed areas ALSO heel-project (beam-axis silhouettes ×cosφ — the ruled W1 extension; disclosure force.heel_projection); hull heeled-profile drag is NOT re-projected (hydro owns heeled geometry) and induced drag flows from the projected lift with no separate scaling — channel-isolation locks verify first-order superposition (measured ≤0.03% of net). Disclosures: out.cosphi (φ*, iterations, method, trace, fences) on the tier explainability surface at every tier (point + per-cell edge, the C3-F3 carry discipline) + aero.diagnostics.heelProjection (per-sail local triangles; the hull-frame triangle stays the windage input — the anti-double-count fence). φ = 0 is byte-identical BY CONSTRUCTION. Recalibration-class wave: every heeling cell moves by design (goldens re-based with .pre_cosphi_11_34.bak priors + numeric delta record; production-lattice receipts: 0 refusals, mean 1.6 iterations, solve cost ×0.90).","epoch":"cross","since":"R11.39.0"},"foilaware_headsail_stations":{"label":"Foil-aware headsail stations (NP-Q4, planform lane)","description":"Physics 11.34.0 (ADRD-Physics-NPQ4-FoilAware-Headsail-Stations-2026-07-20, operator GO \"GO E6 NP-Q4\" — the planform ADRD's deferred NP-Q4). The foil-aware planform adjustment (CL/CD0/k-induced multipliers, previously MAIN-only) now applies to the HEADSAIL slot from its own station stack — chords [LP, GL(¼), GM(½), GU(¾), GT(⅞), HB] over the luff, station canon per contract. Stations resolve through the CONTRIBUTOR AUTHORITY (canonical widths_m → WP-4 declared flat girths → rated orc.measurements) — the identical three-source reach as the CE lane, so the coefficient adjustment fires exactly where CE stations fire; the MAIN station source was upgraded to the same authority (flat-key and rated-only mains come alive). No new constants (the FOIL_AWARE table is shape-generic); fail-open disclosed (incomplete girth set ⇒ neutral 1.0 multipliers, method \"fallback\" — girths are NEVER invented); additive headFoil + per-sail head foil diagnostics. MEASURED at vendor: governed-corpus numerics byte-identical (fixture plans carry no head dims); the adjustment engages on App-lane requests carrying complete head girths (fresh-cert rated jibs, North cut-sheet wardrobe).","epoch":"cross","since":"R11.38.0"},"upsplit_powered_subbands":{"label":"op:optimal/point/edge powered sub-split (U-PSPLIT, crossover SR-3)","description":"Physics 11.33.0 (ADRD-Physics-UPSPLIT-Powered-Subsplit-Zone-Penetration-2026-07-20, operator GO 2026-07-20 — executing crossover ADRD §9 SR-3's commissioned unit). The feasibility classifier's POWERED class carries its structural sub-split ADDITIVELY inside feasibility_basis, present ONLY on powered cells: powered_band = \"cap_hold\" (saturated — holding the heel cap within ease authority, u in [u_min, 1]) or \"zone_entry\" (unsaturated — temperate zone engaged, easing before the cap), plus two continuous shading channels — cap_ease_used = (1−u)/(1−u_min) clamped to [0,1] (0 = knife-edge at the cap, 1 = the overpowered boundary) and zone_penetration (the o1 zone block's own moment-space measure, presence-only, null when the block is absent). ZERO new constants — every anchor is already-ratified law (u_min 0.75 SR-1, the saturation knee u = 1, the zone geometry). THE THREE-CLASS feasibility LAW IS UNCHANGED: nothing ranks, gates, or solves off these fields (explainability only; free/overpowered basis blocks byte-identical); the fields flow through the ranking/response shapers' verbatim basis passthrough. Overlay-immune by construction (moment-space, crossover §3.7).","epoch":"cross","since":"R11.37.0"},"fb_w2b2_rigfa_emission_retired":{"label":"rig.FA emission retired (FB W-2b② / PS-5)","description":"Physics 11.32.0 (ADRD-Converter-Freeboard-Extraction-Generic-Crew-VCG-2026-07-11_v1_4 §6.3 M3, operator GO 2026-07-20 — the §6.2 C3 date fence waived and the FleetEdge no-objection satisfied by operator ruling: FleetEdge reports no rig.FA use). Fresh ORC conversions no longer emit rig.FA; the sole freeboard-aft filing is hull.freeboard_aft_m + hull.freeboard_aft_source (introduced alongside at 11.25.0 under the W-2b① deprecation window, byte-equal). The provenance flat-path map stamps hull.freeboard_aft_m instead of rig.FA; the raw certificate token remains under orc_cert.fields.FA. ACCEPT-EITHER IS THE TERMINAL VALIDATOR STATE: stored pre-11.32.0 boats carry rig.FA forever and keep validating — no validator ever requires hull.freeboard_aft_m unconditionally. Closes W-2b; the fb_w2b_freeboard_aft_refiling entry below records the introduce side.","epoch":"cross","since":"R11.36.0"},"optimal_pool_user_sail_exclusions":{"label":"op:optimal user sail-exclusion pool channel (E18)","description":"The boat's declared per-sail optimalEligible === false flags exclude sails from the op:optimal candidate pool at inventory admission — before permutation, dedup, and the cap (ADRD-ModelService-Optimal-User-Sail-Exclusion-Pool-Channel-2026-07-20, E18-Q1..Q6). The DECLARED primary main is always eligible (App R4 mirror): its flag is ignored for admission and disclosed. Applied exclusions and ignored flags are pool-scoped disclosures on candidateCatalogDisclosures (userExcludedSails / userExclusionIgnoredSails, PRESENCE-ONLY so unflagged boats stay byte-identical to R11.34.0); the stateless merge and fused-solve lanes enumerate the same filtered pool from the same posted boat by construction, and hold batch envelopes to it (batch_pool_mismatch / batch_disclosure_mismatch). Exclusion, enumeration omission, and batch slice remain three distinct disclosure classes. No new wire key, no new op — the channel rides the boat document the App already posts; the App-side disclosed-not-applied banner (UC-R6) retires by condition on this disclosure echo.","epoch":"cross","since":"R11.35.0"},"edge_core_tier1_lean_shape":{"label":"op:edge_delta Tier-1 lean core wire (CB-2 U2 payload trim)","description":"An op:edge_delta_grid request that EXPLICITLY declares tier 1 receives lean core cells: baseline/candidate aero+physics+solveContext trimmed (baseline keeps the heel_eq_deg classifier carve-out; candidate delta blocks — the grid-face authority — ride in full), disclosed presence-only via core meta.coreCellShape \"tier1_lean\". Tier >= 2 and tier-undeclared responses are byte-identical to the pre-U2 shape; the tier explainability surface is untouched at every tier. Tier gates explainability, never physics — the solve is identical at every tier; serialization only.","epoch":"cross","since":"R11.34.0"},"optimal_fused_merge":{"label":"op:optimal_merge fused final-batch solve (W2-a)","description":"Fan-out efficiency Wave 2 (ADRD-ModelService-Optimal-FanOut-Efficiency-2026-07-20 §6, operator GO \"lighten the api workload\"). ADDITIVE key on op:optimal_merge: solveBatch {index, size} — the merge request SOLVES that batch itself through the same handleOptimal path a standalone candidateBatch request uses, appends it to the posted batches, and merges. One request replaces batch+merge per row (−1 round trip and one fewer batch-envelope upload per row); byte-identity BY CONSTRUCTION and gated (fused vs monolithic vs 3-hop, plain + intent-ON, governed suite). Malformed solveBatch is a declared error (invalid_solveBatch); the coverage law holds the fused envelope to the same standard as posted ones (duplicate index declared). No new dispatch branch — rides the already-routed, endpoint-locked merge op (the R11.31.0 lesson applied structurally). The 3-hop path stays byte-stable for older clients.","epoch":"cross","since":"R11.33.0"},"yaw_net_couple_rudder_law":{"label":"Net-couple yaw/rudder balance law (downwind yaw D1+D2)","description":"Physics 11.30.0 (ADRD-Physics-Downwind-Yaw-Rudder-Balance-2026-07-19, D1+D2 RATIFIED 2026-07-20). computeRudder v5: the rudder demand reacts the NET of two opposing couples — the lee-turning side lever |side|·(CE_x−CLR_x) (the former v4 law's only term) MINUS the classic heeled-CE weather-helm couple |drive|·CE_ht·sin(heel). Both couples, helm direction (lee_correcting/weather_correcting) and the drive-couple basis are disclosed in rudder diagnostics; missing drive/CE_ht inputs are disclosed, never silently zero-good. D2: a heel solve pinned at its cap ambers heel_capped_posture (annotate, never block). Kills the v4 over-demand that flagged the entire 110–120° kite band past the model's own 15° stall threshold (sweep: 6/24 polar points → 0/24; repro 135°×14 12.8°→5.85°; upwind weather helm survives). Speed/heel/aero solve untouched — rudder is a diagnostic lane; goldens re-based rudder-fields-only with record. External helm-angle validation (METHODS not numbers) stays a recorded OPEN item. Wire note: the LAW is live since R11.32.0; the couple-breakdown fields on sidecar_physics.rudderRaw (yawMomentSide/DriveHeel, helmDirection, basis, heelCapped) completed at R11.32.1 (resolved path) and R11.32.2 (geometry-blocked path); status reasons rode from .0.","epoch":"cross","since":"R11.32.0"},"optimal_candidate_batched_merge":{"label":"op:optimal candidate-batched requests + stateless server merge (GR-Q1/GR-Q3)","description":"The reliability wave's wire law (ADRD-ModelService-Optimal-Granular-Request-Ranges-2026-07-19, GR-Q1..Q4 RATIFIED; batch size 16 ratified CB-Q4). optimalPolicy.candidateBatch {index, size} makes a request solve a complete TWA column for ONE ordered slice of the enumerated candidate pool (validated hard — no silent third state; an index past the last batch is a declared error); the batch envelope carries its identity on meta.candidateBatch and its scored per-cell results in merge_carrier. The NEW op:optimal_merge unions the posted batch envelopes and applies the fill/ranking law exactly once per cell through the same code path as a monolithic request — monolithic-vs-merged rankings are byte-identical (governed gate optimal-batched-merge-tests.js). Disclosures stay pool-scoped and single-emission: omissions/fences never resurrect across batches and never double. App-side merge (dead client ranker) and server-internal split (no gateway relief) stay rejected. Monolithic requests are byte-identical to R11.30.0.","epoch":"cross","since":"R11.31.1"},"optimal_server_timing_disclosure":{"label":"op:optimal server timing disclosure (CB-1 D-4)","description":"Every op:optimal envelope discloses its own server timing at meta.serverTiming: wall_ms (handler wall-clock, transport excluded) + coldStart (this invocation paid the function instance's first-load cost). Additive telemetry, no behavior change — commissioned so a 504 episode carries its own evidence and the 2026-07-19 cold-vs-warm measurement gap (32 s acceptance rows vs 6 s same-shape probe rows) has a wire instrument. ADRD-ModelService-Candidate-Batched-Optimal-Chunking-2026-07-19 (CB-Q3 ratified).","epoch":"cross","since":"R11.30.0"},"declared_sail_planform":{"label":"Declared-sail planform + declared rudder geometry","description":"Physics 11.29.0 (ADRD-Physics-Declared-Sail-Planform-North-Package-2026-07-19, operator GO). F1: headsail girth codes (HHB/HUW/HTW/HHW/HQW) map into canonical station widths at both seams (converter widths_m emit + contributor builder, incl. WP-4 declared flat keys and rated orc.measurements) — rated jib stacks were dark to the aero. F2: the GT/GU ¾-vs-⅞ station inversion between producer and consumers fixed at the consumers per the boat contract (PATCH-BOAT-V4X-001; live on fresh-cert mains via foilAware — main CE/foil index corrected, goldens re-based with record). F3: head + kite station-widths centroid branches (declared data only, never invented; kites SFL@z0/SHW@z0.5/point head). Declared rudder geometry: rudder_family + area/AR/x manifest entries (Boat Tuning tier 2) re-wired through projectHydroAndRudderTuning into the resolver — supersedes the 2026-06-17 inert-flat-fields decision WITH RECORD per its own restoration clause; undeclared boats byte-identical.","epoch":"cross","since":"R11.29.0"},"optimal_pool_inventory_enumeration":{"label":"op:optimal pool = inventory enumeration + intended-use filter","description":"The candidate pool ENUMERATES the rated inventory — full permutation (EVERY eligible main × each headsail, + × each off-wind sail since R11.44.0 — the U-B mains-permutation ruling, ADRD-AppR10-OpOptimal-UAT-MainChoice-And-Chunking-2026-07-29: alternate mains COMPETE, the former main_not_preferred omission is retired, the declared primary main enumerates first; no template classifier, no family regexes: the INFERNO S1.5 SYM defect class is structurally dead). Every omission is DISCLOSED (omittedSails, permutationCapApplied + omittedCandidateKeys when the explicit safety-rail cap bites; the DEFAULT cap equals the ceiling — the default request never truncates the pool). Labels/keys are plan-derived. NEW optimalPolicy.followIntendedUse (default false — full math): admission-only per-cell intent filter, OFF-WIND sails only, law-anchored generous bands (UPWIND ≤90 · REACH 55–140 · DOWNWIND ≥120, published on meta.intendedUseFilter), fail-open on undeclared use, every exclusion disclosed intended_use_filtered. Operator-ratified CODE taxonomy amendment: conditional upwind admission windows — HR55 floor 60° at TWS ≤12 kt (55° under 8 kt), CODE0 floor 65° at TWS ≤10 kt, HR75 pure reacher 75°; kite floors unchanged (ASYM 90, SYM 120). MS-FE-1 (R11.73.1, 2026-10-18; ADRD-MS-FE-1, DQ-FE-1 .. 5 (a); the engine DQ-AP-7 row; ORC VPP Documentation 2026 sec. 5.2.5): a HEADSAIL SET FLYING -- a row the certificate marks Flying = Yes, dimensions.set_flying true, the converter typing CODE0 -- is eligible at EVERY cell (no floor, no window) and is never intended_use_filtered by the family word REACH (a word the owner declares on the row is honoured); the windows above bind only the App-typed keys WITHOUT the word; admission is the whole of the change -- the authority below 110 stays WHITE and the CODE winner is disclosed in kindWinners. ADRD-ModelService-Optimal-Pool-Inventory-Enumeration-2026-07-19.","epoch":"cross","since":"R11.28.0"},"ufill_feasibility_fill_law":{"label":"Feasibility-gated optimal fill law + trim guidance (U-FILL)","description":"The Wind Regime Version Lift's MS unit (crossover ADRD lane; SPEC-Skipper-Crossover-Regime-Map v0.2 §3/§4). Physics 11.27.0 classifies every composite solve at the composition root (feasibility_classification/1: overpowered ⇔ saturated ∧ u < u_min, u_min 0.75 RATIFIED at the 2026-07-19 SPEC review — the status travels on every basis block) and republishes decision-solve heel_saturated_at_cap (UF-F1 repair). op:optimal now applies the fill law per cell within the kind authority: eligible → feasible (overpowered never ranks; refusals disclosed feasibility_unresolved) → within-kind rank → WINNER with margin_class (honesty band 0.05 kt, ratified same review) + handling tie-break inside the band only; all_overpowered cells disclose and print the least-overpowered plan. Reef/twist trim variants are fenced from ranking typed (trim_variant_not_rankable — the F2 law, server-side) and reappear only as derived TRIM_GUIDANCE boundaries (ease_above/reef1_above per TWA column, reef variants solved never ranked). Cross-kind stays undecidable (OA-R3). ADRD-ModelService-UFILL-Fill-Law-Trim-Guidance-2026-07-19.","epoch":"cross","since":"R11.26.0"},"fb_w2b_freeboard_aft_refiling":{"label":"Freeboard-aft re-filing (FB W-2b①)","description":"The ORC converter (orc-convert, v4.3 lane) emits hull.freeboard_aft_m + hull.freeboard_aft_source ('orc_cert_fa', or a disclosed-absence token — never a silent null) ALONGSIDE the mis-filed rig.FA, which ships byte-identical under an OPEN deprecation window. FA is freeboard aft — a hull quantity the original extraction filed under rig. Retirement of rig.FA is W-2b②/PS-5 only, App-sequenced (accept-either validators first; not before 2026-08-01; operator GO). This wave also vendors the PSC-R7 C3 closure admissibility surface (closureCalibrationQuality_r13) HEADLESS — no wire imports it; the closure law goes live only at its own future MS ADRD (crossKind flip). ADRD-Converter-Freeboard-Extraction-Generic-Crew-VCG-2026-07-11_v1_4 §6.","epoch":"cross","since":"R11.25.0"},"tier_independent_physics_solve":{"label":"Tier-independence runtime attestation (DB-1)","description":"The deployed bundle self-attests, on /api/health, that the physics solve is tier-independent ON A DOCUMENT WITHOUT A SEPARATELY AUTHORIZED HIGHER-AUTHORITY PHYSICS INPUT (the ruled tier law, 2026-09-16 — CLAIMS-FENCE v1_1 CF-A4: tier alone shall not alter physics; a tier may admit such an input, named on the disclosure and the face — the instance: a naval-architect-supplied righting-moment curve admitted by the engineering authority package; the attestation's governed fixture carries none, so it proves the rule and is silent by construction on the instance — AMENDMENT-ModelService-DB1-Tier-Independence-Attestation-Scope-Note_v1_0_2026-09-16; the instance is the calculate-r16 battery's own contract leg on the recorded INFERNO document): the point composition chain (binder → compute → response shaping, the same computePointEnvelope the wire serves) is solved at tiers 1 and 3 on the governed Sitella 90/8 fixture, free (heelLimit 25) AND saturated (heelLimit 8, clamp binding asserted), and the envelopes are byte-compared after stripping only the 7 measured tier-gated diagnostic containers. Result publishes at attestations.tier_independent_physics_solve — memoized per warm instance, ok:false disclosed with per-tier signatures, never silently omitted. Automates the 2026-07-18 manual tier-law confirmation; runtime layer over the Physics build-time lock. ADRD-ModelService-DB1-Tier-Independence-Health-Attestation-2026-07-18.","epoch":"cross","since":"R11.24.0"},"w2_windage_wire_disclosure":{"label":"Windage wire disclosure (C3-F3)","description":"The W2 windage disclosure block (out.windage) publishes on the tier explainability surface at tier_explainability_response.point.windage and per-cell on the edge explainability map (baseline + candidates) — at EVERY tier, byte-identically. Composed blocks carry basis \"orc_formulation_reconstruction\" (the claims fence) + W1 force block verbatim + W2-R4/R5 typed deferrals; boats the single producer has not reached carry composed:false with a typed refusal. Core layers stay windage-free. ADRD-ModelService-C3F3-Windage-Wire-Disclosure-2026-07-18.","epoch":"cross","since":"R11.23.0"},"r11_7_3_tuning_profile_blend_override":{"label":"Tuning-profile blend override","description":"Optional per-boat override channel at tuningProfile.downwindBlend.* for the AD-DWB-13 family-level constants + blend window; family defaults apply when absent (ORC-baseline principle). SPEC v1.6 §6.2.","epoch":"R11","since":"R11.7.3"},"r11_7_2_tws_rebound_multiplier":{"label":"TWS rebound multiplier","description":"AWS-gated rebound multiplier for ASYM C_heel in the AWA 110–125° band (smoothstep shoulders), AWS ≥ 5.5 m/s ramp, K_REBOUND_MAX 1.50.","epoch":"R11","since":"R11.7.2"},"r11_7_1_aero_centroid_ce_alignment":{"label":"Aero centroid CE alignment","description":"aeroPoint per-sail CE_ht / CE_x resolved via the centroid model (Physics-aligned), not flat lookup.","epoch":"R11","since":"R11.7.1"},"r11_7_downwind_force_blend":{"label":"Downwind force blend","description":"Direct (C_drive, C_heel) coefficients per sail family for AWA > 90° with AWS rebound (AD-DWB-13); CODE0 guarded < AWA 100°.","epoch":"R11","since":"R11.7.0"},"r11_6_form_stability_gz_shape":{"label":"Form-stability GZ shape","description":"k(λ) from LWL/BWL drives the RM curve shape (NA-calibrated).","epoch":"R11","since":"R11.6"},"r12_unified_aero_endpoint":{"label":"Unified aero endpoint (calculate-r12)","description":"Side-by-side endpoint on the same pipeline as calculate-r11, defaulting the upwind force model to unified (DESIGN-R12U aero decoupling).","epoch":"R12","since":"R11.5.2"},"r12_aero_decoupled_strategy":{"label":"Decoupled aero strategy","description":"R12 unified aero rides a vendored strategy module; R11 default path untouched (override via options.aeroForceModel | plan.aeroForceModel).","epoch":"R12","since":"R11.5.2"},"r13_dsh_endpoint":{"label":"R13-DSH endpoint (calculate-r13)","description":"First-class R13 interface on its own composition root (compositePoint_r13): point-lane dshProjection defaults to on — residual-gated convex projection with derived-geometry enrichment (two-basis rule). The PRODUCT point lane since Phase 2 (App PROD targets it); vintage-comparative surface alongside calculate-r11/r12 for UAT and research.","epoch":"R13","since":"R11.13.0"},"vintage_point_defaults":{"label":"Vintage-pure point defaults (r11/r12)","description":"Phase 3 of the R13 interface decoupling: calculate-r11 and calculate-r12 point defaults are dshProjection \"shadow\" — defaulting callers get pure-vintage published numbers (r11 = R11, r12 = R12-OD epoch_2, the MPAE paper physics) with R13-DSH shadow observability retained. calculate-r13 and public-point stay default \"on\" (the shipped product). Callers keep full per-request control via plan/options.dshProjection.","epoch":"cross","since":"R11.14.0"},"engine_self_identification":{"label":"Engine self-identification (meta.engine)","description":"Point / edge_delta_grid / optimal success envelopes declare the composition root that served them via meta.engine (r11 | r12 | r13), so callers can verify which engine ran a request rather than inferring it from the endpoint URL. Additive; the vintage-pure lanes stay equivalent modulo this identity field. ADRD-App-R13-DSH-Default-Engine-Selector-2026-07-07.","epoch":"cross","since":"R11.14.0"},"na_curve_crew_basis":{"label":"NA RM-curve crew basis (RETIRED by F-8)","description":"RETIRED (false) as of R11.18.0: the D-3 crew_basis engagement path rested on the falsified premise that rated RM is crew-inclusive at rated crew. Under F-8 (ADRD-Physics-Crew-RM-Basis-Correction-Full-Retune-F8-2026-07-11 v1.1, rulings R-6/R-7) the hiking reference is crew_hiked_in_base (default 0 on both RM bases -- neither ORC rated RM nor NA hydrostatic curves carry hiking), so the FULL sailed crew's rail moment engages and config differentials are preserved automatically. Legacy crew_basis declarations still parse but no longer feed the engagement. Key retained (additive-only contract); value false states the behavior is gone.","epoch":"cross","since":"R11.16.0"},"f8_orc_runtime_crew_physics":{"label":"F-8 ORC-runtime crew physics","description":"RM_total = base RM + F-4 mass channel (delta-only, every lane) + crew hiking term m_hike*g*arm*cos(heel)*P(cell), with m_hike = full sailed crew (crew_hiked_in_base = 0 on both RM bases -- ORC eq 4.28 runtime treatment), the family crew arm from ORC VPP eq 4.30/4.31 (+declared CEXT; crew_arm_m NA override), and an ORC-consistent heel-gated position law that persists downwind (no family TWA fade; crew_ftwa_* corners engage only when explicitly declared as NA config). Drag lanes run on the sailing-displacement basis (NA-declared mass_basis else DSPM + rated crew, disclosed via _sailingDisplacementBasis). Upwind unified C_heel band rebuilt x1.4642 under RM-consistency closure (no FYD heel targets in the family layer). ADRD-Physics-Crew-RM-Basis-Correction-Full-Retune-F8-2026-07-11 v1.1 (RATIFIED, R-1..R-8).","epoch":"cross","since":"R11.18.0"},"depower_temperate_zone":{"label":"Depower temperate zone (D-16)","description":"Per-boat Boat Tuning knob heel_temperate_zone_deg: the heel band, SYMMETRIC about the heel limit (ease from L-T/2, fully engaged by L+T/2), over which the modeled crew progressively depowers instead of hitting a wall. C1 moment-space soft-min on the overpower ratio u = RM(L)/M_heel with knee half-width w = (T/2)*RM'(L)/RM(L) from the boat's own RM gradient; coincides exactly with the prior law when free and when deeply overpowered. Ships at kernel family default 0 (zone disabled, byte-identical); a non-zero default is a separate, dated, re-calibrated act (DD-6/DD-7). Explainability: heel.temperateZone {u, w, d, penetration} emitted only when engaged. ADRD-Depower-Temperate-Zone-2026-07-14 (DD-1..DD-8 ratified; O1 selected 2026-07-15, FYD-data tie-break).","epoch":"cross","since":"R11.20.0"},"temperate_zone_seed":{"label":"Temperate-zone per-boat seed","description":"Dedicated endpoint (temperate-zone-seed-r11) returning the per-boat default heel_temperate_zone_deg: T = clamp(0, 10, 2*w_target/g), MEASURED from the boat's own righting-moment gradient at its heel limit L (g = RM'(L)/RM(L)), which is cell/aero-independent and deterministic (FINDING-TemperateZone-Seed-Determinism-T2). w_target = 0.026 (ratified, T-3); the seed reproduces the accepted Sitella T=4.90. The hull-shape predictor was REJECTED -- the seed is measured, not inferred. A boat that never presses fails to a DISCLOSED 0 (never a silent guess). Kernel family default stays 0 (byte-identical); this is an App/profile-layer seed the App writes into tuningProfile at hull-select when unset. ADRD-Depower-TemperateZone-PerBoat-Default-From-HullSelection-2026-07-18 (T-4.5). RETIRED FROM THE SERVED DEFAULT at R11.72.0 (2026-10-12, MS-TZS-1, the operator GO; THE ONE VENDOR WAVE, leg C): the endpoint answers the DISCLOSED ZERO for every valid request -- engaged false, reason seed_retired, seed_deg 0, a retired block carrying the ruling and the record; the App applies a seed only when engaged is true with seed_deg above 0, so the knob heel_temperate_zone_deg falls to the registry default 0 and stays with the sailor on the Boat tab; the kernel default 0 is the served default (the RBH-S1c READING of 2026-10-11: the seed was computed at the App limit 25 against a fence the engine runs at 30, and the zone eased the winner, never the saturated baseline; the engine lane [V-CL-12] concurs; the legacy helper is no longer called).","epoch":"cross","since":"R11.20.2"},"na_curve_crew_mass_displacement":{"label":"NA RM-curve crew mass in displacement (F-4)","description":"An NA-provided rightingMomentCurve may declare provenance.mass_basis { displacement_kg, crew_in_displacement_kg, crew_vcg_above_boat_vcg_m }; a sailed-crew delta measured against the crew IN the curve's displacement then changes the RIGHTING MOMENT at EVERY heel angle via dRM = dm * [ RM/m_curve - g*h*sin(heel) ] -- the delta mass carrying its own righting arm. This is the crew-mass channel: previously a crew delta was moment-only (the hiking supplement, transverse and F_crew-attenuated to zero downwind), so crew mass had no effect at deep angles. Orthogonal to the supplement (vertical vs transverse components of the same delta mass); mass_basis is DISTINCT from crew_basis (hiking reference) and must not be conflated. All three fields required together; undeclared curves and no-curve boats are byte-identical to prior behavior. ADRD-Physics-Crew-Mass-Displacement-F4-2026-07-11.","epoch":"cross","since":"R11.17.0"},"r11_composite_point":{"label":"Composite point (UC1)","description":"Decomposed aero → kernel → heel pipeline behind mode: \"point\".","epoch":"R11"},"r11_edge_delta_grid_parity":{"label":"Edge delta grid (UC2)","description":"S5 native edge map with tuning, amber scoring, and provenance; op: \"edge_delta_grid\".","epoch":"R11"},"r11_native_edgeMap":{"label":"Native EdgeMap orchestration","description":"Edge grids computed by the R11 EdgeMapService, not the R10 legacy path.","epoch":"R11"},"boat_v43_required":{"label":"Boat schema v4.3 required","description":"calculate-r11/r12 require the v4.3 complete-boat payload.","epoch":"R11"},"boat_v43_validation":{"label":"Boat v4.3 validation","description":"Hard payload validation (assertCompleteBoatV43) before compute; declared errors, no silent coercion.","epoch":"R11"},"campaign_presets":{"label":"Campaign presets","description":"Named campaign tuning presets resolved server-side.","epoch":"R11"},"campaign_scope_enforcement":{"label":"Campaign scope enforcement","description":"Schema-aero bounds apply to edge campaigns only, never the baseline.","epoch":"R11"},"cell_provenance":{"label":"Cell provenance","description":"Per-cell provenance markers on edge grids.","epoch":"R11"},"amber_scoring":{"label":"Amber scoring","description":"Edge cells carry amber instability scoring + public mask.","epoch":"R11"},"auth_tier":{"label":"Tier auth gate","description":"Tier password gate endpoint (unchanged from R10).","epoch":"R10"},"orc_convert":{"label":"ORC certificate converter","description":"ORC HTML → BOATS JSON. Since R11.50.0 the default lane (no schema_version, or \"v4.3\" / \"v5.0\") is the ruled single producer — the @sailedge/physics-r16 adapter — emitting schema v5.0 (see orc_convert_r16_producer); the explicit \"v3.1\" legacy envelope is unchanged.","epoch":"R11"},"orc_convert_r16_producer":{"label":"ORC converter = the ruled single producer (R16 adapter, vendored 16.15.0 — APH ToD extraction + the CJR FHS cure; the adapter unchanged since 16.4.2)","description":"The orc-convert default lane converts through the vendored @sailedge/physics-r16 ORC adapter (vendored 16.41.0, engine head 8d201f2 -- R11.94.0 (16.40.1 / 3afa418 the served pin this wave replaces, R11.92.0 / R11.93.0); dated history: R11.92.0 (16.40.0 / 9a3030f the served pin this wave replaces, R11.91.0); dated history: R11.91.0 (16.39.2 / ff11e25 the served pin this wave replaces, R11.90.0); dated history: R11.90.0 (16.38.0 / 86e0326 the served pin this wave replaces, R11.88.0 / R11.89.0); dated history: R11.88.0 (16.37.0 / 6065c6a the served pin this wave replaces, R11.87.0); dated history: THE FAST TRAIN R11.87.0 (16.34.0 / 1cfe847 the served pin this wave replaces, R11.85.0); dated history: THE 16.34.0 WAVE R11.85.0 (16.33.0 / 9b8f708 the served pin this wave replaces, R11.83.0 .. R11.84.0); dated history: THE 16.33.0 WAVE R11.83.0 (16.30.0 / 87ed10e the served pin this wave replaces, R11.82.0 .. R11.82.1); dated history: THE 16.30.0 WAVE R11.82.0 (16.29.0 / d0f6135 the served pin this wave replaces, R11.80.0 .. R11.81.0); dated history: THE 16.29.0 WAVE R11.80.0 (16.27.0 / d0aadca the served pin this wave replaces, R11.78.0 .. R11.79.0); dated history: THE 16.27.0 WAVE R11.78.0 (16.26.0 / ce0358f the served pin this wave replaces, R11.75.0 .. R11.77.0; the held waves 16.23.0 / 0e02ecd, re-pinned 2026-10-16 from 16.22.1 / d8fc8f3, ADRD-MS-AD-2 DQ-AD2-1 (a), and before that from 16.22.0 / 7891b1a, DQ-W74-7 (a)) — 16.19.1 / fb2f98a the previous pin (16.17.0 / 3698c4d before it), dated history — the adapter MOVED at 16.16.0 (the converter lift NR-S4 (g): the symmetric spinnaker's SMG / SF to dimensions.widths_m GM / GL where positive, rig.SFJ with its provenance; D-PPC-1: FleetEdge's intake gate re-mints on the engine lane's HANDOFF); the adapter bytes were unchanged from 16.4.2 to 16.15.0; converter wire identity R11.8.0; schema v5.0) — the adapter FleetEdge's certificate intake pins as the only producer of normalized certificate corpora. It carries the CJR FHS/J-overwrite cure (16.4.1: a foretriangle row can no longer null or replace a real rig J) and the APH ToD extraction (16.4.2; the operator's 2026-08-18 ruling R1–R5): the printed page-1 \"APH ToD:\" / \"APH:\" value into orc.rating.aph_tod_sec_per_nm, witnessed by the Single-Number \"All purpose\" ToD row, the APHT relation as validation only — never APHD, never aph_tot_factor, never 600÷APHT as the source; the ToT factor retained as its own typed value; three typed null postures (aph_not_published_on_certificate · aph_not_extracted · source_truncated); the orc.rating.aph provenance block (source sha1, label, location, witness result, APHT relation, extraction version); the top-level rating compat (aph_tod_s_per_nm, aph_tot_factor, aph_null_posture, cdl_m). The retired legacy adapter (@sailedge/physics 11.38.0, which emitted aph_tod_sec_per_nm null by design) no longer serves the default lane. Every minted envelope discloses its producer (`producer`) beside the single-producer gate disclosure; the X-SailrScience-Orc-Mode header names the EMITTED schema (v5.0). Consumer of record: the SailEdge App's certificate upload (the Boat tab's ORC Rating card leads with APH in s/NM, GPH beside it as the legacy reference).","epoch":"R16","since":"R11.50.0"},"orc_convert_slot_claim":{"label":"orc-convert requires the signed SailEdge license claim (W-ENT-1b B3)","description":"Since R11.51.0 every conversion (the default producer lane AND the explicit v3.1 legacy envelope) requires Authorization: Bearer <Identity access token> — the signed slot claim: EdDSA-verified STATELESSLY against the Identity JWKS (https://id.sailr.science/.well-known/jwks.json; kid as a hint, iss sailr-identity, aud sailrscience, exp), whose entitlements projection must carry product sailedge (a live license slot or the org license). Typed refusals: 401 slot_claim_required (no Bearer) · 401 slot_claim_invalid (signature/expiry/iss/aud/malformed) · 403 not_entitled (valid token, no sailedge) · 503 slot_claim_unverifiable (no key source reachable — fail-closed, never open). The X-SailrScience-Slot-Claim header discloses verified;kid=<kid> or refused;code=<code>. The static SAILRSCIENCE_API_TOKEN no longer authorizes a conversion (it is public-by-design in the App config). The authed rate tier keys by the claim's account (sub); refusals ride the per-IP unauthed tier. Stateless: ModelService reads no slot state. Governing: ModelService/project/ADRD-ModelService-Orc-Convert-Slot-Claim-W-ENT-1b-B3-2026-08-22.md over DECIDE-Identity_W-ENT-1b D-ENT-9 (R-B3 closed). Since R11.82.1 (ADRD-MS-CR-1 D-7): an IP already over its unauthed refusal quota is answered 429 rate_limited before any key work (a peek of the window, recording nothing); forced JWKS refreshes on an unknown kid coalesce on one in-flight fetch and happen at most once per 60 s per instance (the rotation overlap preserved).","epoch":"R16","since":"R11.51.0"},"cohort_hei_compute":{"label":"Cohort HEI compute (RETIRED)","description":"RETIRED (false) as of R11.44.0 (the operator-ratified Cohort Study drop, AUDIT-SailEdge-Cohort-Study-Keep-Or-Drop-2026-07-29): the bounded NA cohort study concluded without adoption; the batch cohort-hei endpoint is withdrawn. The FleetEdge product owns fleet-scale cohort analytics with its own independent machinery. Key retained (additive-only contract); value false states the behavior is gone. Boat documents carrying last-known hydro.hei blocks remain readable client-side.","epoch":"R11","since":"R11.5.2"},"orc_schema_v3_1":{"label":"ORC schema v3.1 (legacy lane)","description":"Explicit legacy ORC conversion lane kept for backward compatibility.","epoch":"R11"},"orc_hei_forward_compat":{"label":"ORC HEI forward compatibility","description":"Converter emits HEI-forward-compatible fields for downstream cohort use.","epoch":"R11"},"sanitize_nan":{"label":"NaN sanitization","description":"Response payloads are NaN-guarded (ported from R10 calculate.js hardening).","epoch":"R10"},"cors":{"label":"CORS origin control","description":"Allow-listed origins with Vary: Origin (ported from R10 hardening). Since R11.82.1 (ADRD-MS-CR-1 D-8): an origin NOT on SAILRSCIENCE_ALLOWED_ORIGINS receives no Access-Control-Allow-Origin header on the preflight or on the response (the request is still answered; the browser enforces); a listed origin is echoed with Vary: Origin; * only when the list is unset or *; the former first-entry fallback is retired. The list itself is the site environment.","epoch":"R10"},"bearer_auth":{"label":"Bearer auth (optional)","description":"Optional bearer-token authentication on compute endpoints.","epoch":"R10"},"request_boundary_hardening_r11_82_1":{"label":"Request-boundary hardening (R11.82.1 HOTFIX)","description":"Since R11.82.1 (ADRD-MS-CR-1, the outside code review of 2026-10-23, the operator ruling of 2026-10-24): the static publish root is the allowlisted public/ directory -- the landing page, two favicons and deploy_manifest.json; the functions, the vendored engine, the release tooling and the docs are no longer served as static assets (D-1); the hull-catalog and temperate-zone-seed endpoints enforce 60 per minute per IP (the limiter categories hull_catalog and temperate_zone_seed, env-tunable), the sixty-first request answered 429 with Retry-After (D-6). The CORS and ORC claim-budget cures of the same hotfix are described on their own rows (cors; orc_convert_slot_claim).","epoch":"cross","since":"R11.82.1"},"compare_mode":{"label":"Compare mode (removed)","description":"R10-era compare mode is removed from calculate-r11; flag stays declared false.","epoch":"R10"},"r16_converter_classes_16_19_0":{"label":"The 16.19.0 converter classes (SC-S3; served since R11.72.0)","description":"Since R11.72.0 (THE ONE VENDOR WAVE, PhysicsR16 16.19.0 at 8f1186e -- THE FINAL PHYSICS RELEASE OF THE CYCLE; the engine NOTICE of 2026-10-11 18:18 EDT) the vendored ORC converter (R11.14.0) writes the seven converter classes of the SC-S3 REQUEST on every converted inventory row: the inner-headsail SETTING (dimensions.flying / tack_setting / set_inner on every HEADSAILS-group row), the inner ROLE (inner_role), staysail_type MOVED to STAYSAIL with intended_use INNER on identified staysail rows, spinnaker_girth_ratio (dimensions.mid_girth_to_foot_ratio and its _source on every row), the asymmetric intended_use MOVED by the ruled ratio (REACH below 0.85, DOWNWIND at and above), the nominal AWA leaves nominal_awa_deg / nominal_awa_source / nominal_awa_basis on EVERY inventory row (the class-7 contract line of DQ-CL-15 (a): a characterization for the owner, the loft and the App starting value -- the engine solve reads NONE of them), stiffness_class on asymmetrics (below 0.85 MEDIUM, else SOFT -- a label, inert on the served forces) and the symmetric girths extended to the asymmetric path (into the width slots only where positive). The service passes the conversion through whole (no allowlist over the inventory); the pools by role (SC3-S1) ride THIS release as leg E (the row optimal_pools_by_role): a role-typed staysail takes its seat from these words.","epoch":"R16","since":"R11.72.0"},"r16_coefficients_source_disclosure":{"label":"The coefficient-source and rudder-coupling disclosure words (served since R11.72.0)","description":"Since R11.72.0 (PhysicsR16 16.19.0) every record carries aero.diagnostics.coefficientsSource in { projection_path_bypassed (every family with a served force took its pair from an ORC composition -- the served default on every materialized plan: the aggregates aero.diagnostics.CL / CD / CDi / CDp and the per-sail realized.* are then the bypassed projection path numbers, not the served forces), projection_path (the unified arm, the base kernel, the typed fallbacks), projection_path_partially_bypassed (the split record) } and physics.forceBalance.hydro.rudder.coupling in { on, uncoupled (the served default: the angle served, not threaded), off_ce_x_lane_blocked, off_rudder_geometry_missing, off_no_finite_angle }. Words beside the served numbers; no value moves (the engine NOTICE section 1.3).","epoch":"R16","since":"R11.72.0"},"r16_asymmetric_tack_rule":{"label":"The asymmetric tack rule by the recorded fields (served since R11.72.0)","description":"Since R11.72.0 (PhysicsR16 16.19.0; DQ-CL-19 (a), CL-S4) an asymmetric kite plan of a boat whose certificate records TPS follows the RECORDED FIELDS per the ORC text: TPS recorded and ArtSprit not Yes -> the CENTRELINE (Table 5.9; SPLc = 0.9 x TPS, the full ISP, the Head Angle Corrector on TPS); TPS recorded and Yes -> the pole with SPL = TPS (Table 5.10; RS 108.5); SPL without TPS -> the pole (RS 209.3 b); neither -> the centreline with TPS = J; ArtSprit absent is read as No and DISCLOSED (the refusal orc_public_spinnaker_tack_undeclared retired by name). Before 16.19.0 every sprit boat read No and took the pole table. The tack leaf aero.diagnostics.forceModel.orcPublic.spinnaker.tack carries tack, table, source, rule, rule_id (orc_rs_2026_108_5_209_3_ims_f7_3/1), artSprit, artSprit_source, spl_equals_tps. The consumer sentence (CF-5): an asymmetric flown from a sprit is rated on the ORC centreline table (Table 5.9); from a pole, on the pole table (Table 5.10) -- the certificate recorded fields decide. Of the App catalog FOX 2.0 and ZEUS move; INFERNO (pole-only) does not.","epoch":"R16","since":"R11.72.0"},"r16_reef_profile_refusals":{"label":"The declared reef profile: the band is ADVISORY, the refusal only where the cut cannot be computed, per station (16.19.1; served since R11.72.0)","description":"Since R11.72.0 (PhysicsR16 16.19.1 -- the RP-S1 patch on 16.19.0, the operator ruling of 2026-10-12: DQ-RP-1 (a) per station, DQ-RP-2 (d) the band is advisory) a mainsail declared reef (power_settings.reef1 / reef2 / reef3: luff, foot, area) resolves PER STATION: the asked station returns its own row or its own typed word, a resolved row carrying the siblings words presence-only (reef_siblings_refused / reef_siblings_advisory). The band h / P in [0.10, 0.50] of P is the engine REASONABLENESS band and it is ADVISORY: a declared station outside it is MATERIALIZED AS DECLARED (the explicit form by its declared row; a derived form by its cut wherever the engine can compute it) with the typed advisory word sail_state_reef_profile_outside_reasonableness_band on the row (code, station, field, h_over_P, band, detail; materialization.reef_advisory), which the service serves on the stage row for the App to show amber -- the operator law of 2026-10-05: a gated sail is an advisory, fulfil the sailor plan, amber it, show the gate. The typed refusal sail_state_reef_profile_out_of_domain stands ONLY where the cut cannot be computed -- a derived form outside the COMPUTABLE band [0.03, 0.97] of P (the foot guard and its mirror at the head), the refusal naming the computable band and the reasonableness band -- never an explicit declaration for reasonableness alone; main_orc_width_station_zero (an interior declared width station of 0) is declined as before. On 16.19.0 (never served) the band was the domain and the declared set was refused whole: the App catalog default block (reef1 luff 0.92 = h / P 0.08) lost both reef rungs -- the R11.72.0 P1 STOP of 2026-10-12.","epoch":"R16","since":"R11.72.0"},"r16_hsf_table_edition_2026":{"label":"The 2026 HSF table on Code 0 records and the heel pair at the knots (16.18.0, folded; served since R11.72.0)","description":"Since R11.72.0 the 16.18.0 classes are served, folded into the 16.19.0 vendor (DQ-CL-14 (a)): on Code 0 records (a kite plan whose kite is a CODE0 family) the set HSF branch coefficients come from ORC VPP Documentation 2026 p. 52 Table 5.11 (the knots 0.500 / 0.523 / 0.572 / 0.675 / 0.800 / 0.850) instead of the vendored 2023 Table 5.9; the leaf orcPublic.spinnaker.table_edition reads 2026 and the identity leaves name it; the refusal orc_public_option_invalid on hsfTableEdition; every other record keeps its bytes. The heel pair physics.explainability.hydroState.sideforceHeelClamped / sideforceHeelRange is ABSENT where the raw heel lies exactly at a knot of the heel table and PRESENT only where the raw heel lies strictly inside a band (the 16.18.0 NOTICE).","epoch":"R16","since":"R11.72.0"},"r16_froude_support_labels":{"label":"The Froude-support labels only beyond the support (served since R11.72.0)","description":"Since R11.72.0 (PhysicsR16 16.19.0; CL-S4, [V-LT-11]) the Froude-support labels physics.explainability.hydroState.sideforceFnExtrapolated / sideforceFnSupport / sideforceFnSupport_source, the status suffix _fn_extrapolated (the reason dsh_heel_regression_fn_extrapolated) and the fidelity tier fire ONLY where the record Froude number lies STRICTLY beyond the heel regression support [0.15, 0.45]; a record exactly at a knot carries none (on 16.17.0 it did). A WHITE or CODE plan moved only by the loss of that word is a declared label movement (the PREREG gate v1_7 classes it).","epoch":"R16","since":"R11.72.0"},"optimal_pools_by_role":{"label":"op:optimal pools by ROLE (MS-SC3-S1; served since R11.72.0, leg E)","description":"Since R11.72.0 (leg E, MS-SC3-S1 683b6b8; the operator rulings DQ-SC3-1 .. 5 of 2026-10-11, every row (a), and the resume of 2026-10-12) the op:optimal candidate catalog reads the 16.19.0 converter role words (inner_role: spinnaker_staysail / genoa_staysail / inner_jib / unidentified) on STAYSAIL-typed rows: a seat-role staysail never heads a white plan nor the white baseline; the spinnaker staysail rides inside every kite plan and the genoa staysail inside every Code plan (the pool cap 32 stops binding on FOX 2.0 at 26 plans); the role read fails open -- a boat without the words is byte-identical on the wire EXCEPT the exact tie between two ranked plans whose mains differ, which the fill law resolves to the DECLARED primary main (D-6; the governed boat moves a runner-up on six production-geometry members, never a winner); head_role on a plan row and candidateCatalogDisclosures.poolsByRole are presence-only (emitted only where a role word exists); the carried rows of a batch envelope ship without head_role / primary_main and the merge re-joins them from its own catalog. Named SC3-S1 in the SailEdge App NOTICE (E18). Since R11.84.0 (BM-2; the App's FINDING of 2026-10-25) op:candidate_catalog serves the same block, presence-only, at core_candidate_catalog_response.disclosures.poolsByRole (absent there through R11.83.0). Since R11.85.0 (BM-3; the App's REQUEST of 2026-10-25 and its operator's rulings in this lane): pools_by_role/2 -- beside the staysail seats, a kite and a Code over every white jib, and a kite ALONE for every kite on every boat, all appended after the earlier enumeration (so a pool's former plans keep their order and the cap names what it omits); poolsByRole.refused_combinations [{ sails, word }] names each combination still not generated (a seat staysail as a white head, a staysail under the other family, a Code alone).","epoch":"cross","since":"R11.72.0"},"optimal_stage_row_words":{"label":"op:optimal stage rows carry the engine words, presence-only (DQ-W9-1; served since R11.72.0)","description":"Since R11.72.0 (DQ-W9-1 (a), the operator ruling of 2026-10-12, served with PhysicsR16 16.19.1) a stage row of a successor plan (plans[].stages[]) carries the engine words PRESENCE-ONLY, mirrored verbatim from the materialized entry and never re-derived: on a stage whose status is materialization_refused the typed inability (code, station, field, h_over_P, band, reasonableness_band, detail as the engine wrote them); on a materialized stage the reef-profile advisory (reef_advisory: sail_state_reef_profile_outside_reasonableness_band with station, field, h_over_P, band, detail) and the siblings words (reef_siblings_refused, reef_siblings_advisory) where the engine returns them. A stage without them is byte-identical to its R11.71.0 form; the plan row, the winner and the ranking do not move (an advisory never changes resultStatus or the fill law); the App reads the stage row to show the rung amber and the gate. The merge path carries the stage rows whole.","epoch":"R16","since":"R11.72.0"},"optimal_baseline_free_score_law":{"label":"op:optimal THE BASELINE-FREE SCORE LAW (MS-BF-1, leg D; served since R11.74.0)","description":"Since R11.74.0 (leg D, MS-BF-1 fd60265; the ADRD-PLAN-MS-BF-1 as RULED, DQ-UC-1 (a), DQ-BF-1 .. 6 (a); RULING-MS-BF-2 of 2026-10-12; cut into the 16.21.1 wave R11.73.0 that was served three hours on 2026-10-13 and reverted, re-based onto the served tree as the R11.74.0 candidate C1 and served by THIS release) every ranked plan row and winner-like row of op:optimal scores the certificate polar at the cell times the square root of the record OWN drive over drag minus one (score_basis polar_referenced/1; ratio_source force_balance_longitudinal on the successor root, forces_drive_N_over_dragBoat_N on the legacy root; capped a boolean, the x1.10 publication cap kept; since R11.77.1 -- ADRD-MS-RF-1 D-2, DQ-RF-2 / -3 / -7 (a), the operator's rulings of 2026-10-20 -- the cap's SCOPE is the what-ifs only: publication_cap_scope what_ifs_only/1 on every scored row; a certificate plan's row (certificate_plan true on the catalog) serves its evaluation UNCAPPED as the number with cap_exempt certificate_plan presence-only and no edge_speed_capped reason; a what-if keeps the fence; the ranking follows the numbers; since R11.79.0 -- B-79-1, the reviewer at R11.77.1's pin -- the scope word and cap_exempt on the winner-like summaries (winner, runnerUp, alternates, kindWinners) and the successor plans rows too, presence-only, the record's own): NO Base plan is solved or read on any path (meta.rankingMode within_kind_polar_referenced; meta.baselineSolves 0; baseline.perKind {} with baseline.law polar_referenced/1 on every cell; sail_state.evaluations.baseline 0 and evaluation_extent.baseline none_polar_referenced/1 under the carrier; the retired reason codes no_eligible_baseline_for_kind, baseline_solve_failed, edge_ratio_clamped, edge_delta_unavailable; the old mode word refused unsupported_optimalPolicy_rankingMode). THE BALANCE GUARD on every decided cell reads the engine anchor_balance (balance_guard { class, residual_fraction, tolerance_fraction, word, amber }): balanced -> untouched; a deficit -> amber with the class word; an engine without the block -> amber balance_not_disclosed (never served: the vendored engine carries the block on every record); the number is never withheld (the advisory law of 2026-10-05). THE DEPOWER WORD: this service sends NONE on any lane (DQ-W74-2 (a), DQ-AD-1 (a); the 16.21.1 wave's pin of force_scale on the Optimal lane is NOT carried): every engine call takes the engine default, the Law of the Sailor's order at 16.22.0; the join verifies under the order on every catalog boat ([V-AD-1], read on the 16.22.0 engine in process before this release). The App reads score_basis, balance and balance_guard on the face ([V-BF-11]).","epoch":"cross","since":"R11.74.0"},"optimal_one_margin_three_holds":{"label":"op:optimal ONE MARGIN, THREE HOLDS (MS-LP-S1; served since R11.74.0)","description":"Since R11.74.0 (leg LP-S1, MS-LP-S1 fc81dcc; RULING-MS-LP-1 DQ-LP-1 (d), -2 .. -5 (a); RULING-MS-LP-6 (a); DQ-SC3S1-1 (b) of 2026-10-12; re-based as the R11.74.0 candidate C1) the ranking of op:optimal applies ONE margin -- the decisive margin of the Law of Sailor Trim, 0.15 kt, asserted at load against the gate stamp, the comparison STRICT (a lead of exactly 0.15 holds) -- and THREE holds BEFORE the fill law, each a pure pre-pass over the admitted rows: THE MAIN-SEAT HOLD holds a twin main (the same head and code, another main) behind the declared primary main unless the twin leads by more than M: the held row reads eligibility deferred_twin_main with deferred_margin_kt the shortfall to M (round3, >= 0); THE STAGE PRECEDENCE WITH THE MARGIN holds a deeper admitted closure of a kind behind its shallowest admitted stage unless it leads the best shallower by more than M (deferred_reefed with deferred_margin_kt); THE FAMILY HOLD is the trim law (version 3 since R11.74.0, MS-SD-S1: the sailor_trim_law row). The stamp sail_state.precedence reads per_kind_shallowest_stage_first_with_margin / version 2 / margin_kt 0.15 on every envelope; deferred_margin_kt is PRESENCE-ONLY (never on a ranked row); the carried rows of a batch envelope ship without it and the merge re-derives it. On FOX 2.0 the twelve twin cells return to the declared primary M-2 (the third decimal no longer decides). The App shows the two words and the shortfall ([V-LP-4]); the operator UAT on FOX 2.0 after this release ([V-LP-5]).","epoch":"cross","since":"R11.74.0"},"r16_root_defaults_16_20_0":{"label":"The six root keys flipped at 16.20.0 (three standing, three superseded at 16.22.0; served since R11.74.0 inside 16.22.0)","description":"Since R11.74.0 (PhysicsR16 16.20.0 at e19f53d3, THE ONE DECLARED DEFAULT-PATH MOVEMENT -- the engine NOTICE of 2026-10-12 19:09 EDT, sections 2 / 3 -- vendored inside 16.22.0 by this release) a request that names NO key gets the engine words on every served solve. Of the SIX keys flipped at 16.20.0 THREE STAND at 16.22.0: aeroSpanFactor orc_kheff (the upwind composition effective height by the ORC kheff span factor on every white-plan solve: CE_ht_m, the collective coefficients, the drive, side and heeling moment; on a kite plan span_factor.applied false, spinnaker_heff_angle_independent_orc_vpp_2026_sec_5_4_4), windageInBalance composed (the signed axial windage composed ONCE into the longitudinal balance: drive_net_N, drive_net_basis net_longitudinal_aero), hullMatchBeam certificate_waterline_estimate (the DSYHS hull match on the waterline beam estimated from the certificate sink; the block hull_match_beam and the pair match_beam_m / match_beam_basis on every record); and THREE WERE SUPERSEDED by the APH remediation at 16.22.0: depowerLaw orc_order -> sailors_order (the row r16_sailors_order_depower_law_16_22_0), appendageDrag composed_inferred -> orc_strip_2026 and hydroBase dsyhs_split -> orc_public_2013 (the row r16_orc_public_hydro_and_strip_appendages_16_22_0). THE IDENTITY OF THE BALANCE anchor_balance { class, residual_N, residual_fraction, tolerance_fraction, tolerance_source } on EVERY record (the class balanced / surplus / deficit / deficit_unreachable / unknown). THIS SERVICE EXPOSES NONE OF THE KEYS ON ITS WIRE and names NONE on its own engine calls (DQ-W73-3 / -8 (a); DQ-AD-9 (a)): every call takes the engine defaults as ruled; the comparison words are never named. The hydro subtree, every white-plan aero number and the hull drag move on every record relative to the served 16.19.1.","epoch":"R16","since":"R11.74.0"},"r16_converter_r11_15_0":{"label":"The vendored ORC converter R11.15.0 (16.20.0; unchanged through 16.22.0; served since R11.74.0)","description":"Since R11.74.0 (PhysicsR16 16.20.0, the engine S5; unchanged at 16.21.0, 16.21.1 and 16.22.0 -- the twelve D-PPC-1 producer files 11 / 12 at the 16.22.0 release, the offender exactly src/version.js) the orc-convert default lane writes on every FRESH conversion rating.time_allowances (the printed time-allowance table as leaves, extraction_version time_allowances_v1_2026-10-12, the typed postures), rating.aph_check (the printed APH reproduced by the ORC rule within 0.1 s/NM; the computed APH as a product number DROPPED), rating.all_purpose_course_s_per_nm_by_tws (the consumer seven-value row) and hydro_features.lsm0_m / lsm0_source (the engine prefers LSM0 as the match length); provenance.inputs.converter_version and producer.converter_version read R11.15.0 (R11.14.0 before). A frozen conversion moves only when re-converted. A D-PPC-1 producer act: the FleetEdge intake gate re-mints on the engine lane HANDOFF.","epoch":"R16","since":"R11.74.0"},"r16_appendage_area_from_certificate_16_21_0":{"label":"The appendage area from the certificate (16.21.0) and the base matcher under the projection word (16.21.1); served since R11.74.0 inside 16.22.0","description":"Since R11.74.0 (PhysicsR16 16.21.0 at 76ae0733, AC-S3; the 16.21.1 patch at 36be75c4, PB-S1 -- the engine NOTICEs of 2026-10-13; vendored inside 16.22.0) the appendage wetted AREA the hull drag composes is THE RESIDUAL THE CERTIFICATE ITSELF LEAVES at its measurement condition (appendageAreaSource certificate_wsa_residual, the root default): the certificate total wetted surface minus the Keuning and Sonnenberg canoe surface on the certificate own length (LSM0) and estimated waterline beam, only Cb and Cm from the matched DSYHS parents, the split by the series standard proportions; the record carries the block appendage_area_residual (the measurement condition, the match of record, the regression inputs and per-donor rows, the first pass and the iteration, the trim and the sailing canoe surface) and the band residual_band_m2 { lo, hi, series } with the term band appendage_N_band; the 16.20.0 bias word appendage_area_estimate_bias was NEVER served -- it rides the comparison arm dsh_reference_ratio only; a crew override scales the sailing area by the trim factor ONCE (wetted_area_trim_scaling.area_basis). THE TYPED UNAVAILABLE FORM where the residual cannot form: appendage_area_source carries the typed word, appendage_area_residual.unavailable_reason names the cause, the band bounds null, the split base legacy_split_unavailable, the lane on the reference_bounded tier -- none on the catalog boats by their inputs. 16.21.1 (DQ-R7-2 (a)): the upright base hydro match takes the solve projection word -- ONE donor set per hull on every path; a record moves if and only if the convex projection ADMITS its hull at its SAILING displacement: INFERNO (the Farr 40 at 5,885 kg; the donors 61/60/25/28/49/29) is admitted and every INFERNO record moves; AZULITO, FOX 2.0, ZEUS are not admitted; the served record carries the donors and their weights, no match-source word ([V-PB-3], an engine row). The appendage DRAG law on that area moved again at 16.22.0 (ORC's strip method on the thinner fin; the row r16_orc_public_hydro_and_strip_appendages_16_22_0). This service exposes neither key (DQ-W73-8); every call takes the engine defaults as ruled.","epoch":"R16","since":"R11.74.0"},"r16_sailors_order_depower_law_16_22_0":{"label":"THE LAW OF THE SAILOR'S ORDER -- the depower law of record on every saturated solve (PhysicsR16 16.22.0, R-CB-6; served since R11.74.0)","description":"Since R11.74.0 (PhysicsR16 16.22.0 at 7891b1a, THE RELEASE OF THE APH REMEDIATION -- the engine NOTICE of 2026-10-15; the corporate RULING of the Law of the APH; R-CB-6 on the claims fence) the depower law of record on every saturated decision solve under the applied-state contract cs3 is THE LAW OF THE SAILOR'S ORDER (depowerLaw sailors_order, the root default; this service sends no word): the FLAT solved on the flying sails; where it exhausts at its floor, the TWIST on the flying sails with the flat at its floor (declined, typed, where a sail's twist word is not NORMAL: the sailor's own twist stands); where the twist exhausts at full twist, THE SET's REEF (ORC's rfm form on the white set as flown, reef { set: g }, the floor 0.50 the operator's word; controls.reef.set presence-only); where that exhausts, the force scale at ITS floor 0.55 with the TYPED state force_scale_floor_bound_saturated (physics.status.code with prior_code and the reason appended; physics.force_scale_floor_state { code, force_scale, floor, order, order_outcome, published_heel_basis, balance_class_beside }; the heel channel typed with published_heel_basis the_declared_limit_held_by_construction_not_a_free_heel) -- a reader tells a typed record from the pre-flip shape by the presence of physics.depowerAtLimit (order sailors_order; the stage rows; the outcome closed_by_flat / closed_by_twist / closed_by_reef / exhausted_at_floor; the fallback); the applied-state record's seventh edition applied_state_record/7 (controls.flat.*, controls.twist.*, controls.reef.set presence-only; the accounts controls.reef_set / controls.reef_code). ON A KITE PLAN the kite's Sailor's order: the ease to its floor 0.88; where it exhausts, the CHANGE DOWN as a typed hand-off naming the pool's next-smaller own-family kite (depowerAtLimit.outcome change_down_handed_off -- the Optimal lane's typed arm reads it beside no_admissible_kite_state and the pool's own evaluation of the named kite is the re-solve, MS-AD S3), else the engine's own REEF from ORC's certificate floor (the consumer-facing seat reef { code: r | solve } under candidate_request/7; reef_row_code; the plan's codeArea_m2 the COMBINED exposed area; the ease CARRIED at its floor under an engaged reef); the eight typed refusals (reef_without_code_sail, kite_reef_without_ease_stamp, kite_reef_floor_declaration_invalid, kite_reef_floor_underivable, kite_reef_floor_at_or_above_reference, reef_out_of_domain, reef_code_beside_white_seat, two_controls_to_solve); the join's three recomposition checks (code_reef_solve_recomposition, main_reef_solve_recomposition, set_reef_solve_recomposition) on every join record -- the join verifies under the order on every catalog boat ([V-AD-1], read on the 16.22.0 engine in process before this release). The comparison arm by the explicit word depowerLaw force_scale is byte-identical to the 16-21-x path and is NEVER named on this service's wire (DQ-AD-9 (a)). The stage-row words ride the op:optimal stage rows presence-only and the typed floor state is a typed stage the selector passes over (MS-AD S3). The materializer carries the kite's ease floor as a value seat beside any white control on a kite plan ([V-AP-118]); the engine reads that seat as its own. Since R11.74.0 (ADRD-MS-AD-1 S3) THE LADDER READS THE ORDER: the Optimal stage row carries depower_at_limit_outcome, force_scale_floor_state, reef_set_applied and reef_code_applied presence-only, mirrored from the raw record; the typed arm names the kite's change-down hand-off (reason change_down_handed_off with hand_off { next_kite, area_m2, family, basis } -- the next smaller own-family kite, a pool member evaluated as its own plan); the typed floor state is a typed stage_unavailable for the selector (the walk continues to the next rung); a kite record closed by the engine's own reef is admissible and ranked; no rung moves.","epoch":"R16","since":"R11.74.0"},"r16_orc_public_hydro_and_strip_appendages_16_22_0":{"label":"The ORC public 2013 hydro composition the default; ORC's appendage strip method on the thinner fin (PhysicsR16 16.22.0; served since R11.74.0)","description":"Since R11.74.0 (PhysicsR16 16.22.0 at 7891b1a; the S3-B7 flip as the release candidate under the RULING AP-S3-B7-R; the engine NOTICEs of 2026-10-15) the default hydro composition of every served record is ORC's public 2013 form (hydroBase orc_public_2013: the certificate's appendage residual, the waterline-estimate match beam, aeroSpanFactor orc_kheff; hydro_base.friction_reference_length_fraction 0.85 -- the 0.7 leaf cured, no physics number moved by that cure; the hydro drag of every record, drag_decomposition, hydro_base and the three mirrors); the appendage drag by ORC VPP 2026 sec. 6.1.2's strip method on the engine's own inferred keel and rudder, the lift term from the engine's own lift shares (appendageDrag orc_strip_2026; the disclosure appendage_law, appendage_strips -- five strips per foil -- and appendage_lift at every hydro mirror) on the thinner race fin (appendageThickness race_fin_0_10: t/c 0.10 / 0.10 on the inferred tiers, the base riding the canoe volume; appendage_thickness { word, keel_tc, rudder_tc, basis, supplied, geometry_tier, keel_applied, rudder_applied } on the decomposition and the base at every mirror); the net-drive balance class on every record (anchor_balance.class balanced / surplus / deficit / deficit_unreachable / unknown). The opt-in keys heelDrag orc_heeled_forms (ORC sec. 6.4's heeled forms) and baseBoat orc_2026_base_point are NOT flipped and NOT exposed; the comparison arm's three words (depowerLaw force_scale, appendageDrag composed_inferred, appendageThickness dsyhs_standard) reproduce the 16-21-x physics byte for byte and are never named on this wire (DQ-AD-9 (a)). THE DECLARED-ADDED presence-only leaves a consumer tolerates: orcPublic.geometry.IG_basis, orcPublic.sources.head_luff_factor, controls.reef_set, the reef / combined parts under orcPublic.geometry / orcPublic.spinnaker, the S3-B2 / B3 / B4 disclosure families under their words. The engine's own calibration reading on the flipped defaults is disclosed in its NOTICE (inside the net-drive band 38 / 30 / 56 of 72 on SITELLA / FOX 2.0 / INFERNO; the absolute bar of its DQ-AP-5 (a) not met at this release, the release opened on the operator's own re-ruling of the gate); this service's bar step (regime-band-vpp bar.json; the toolkit's P2c) reads the four calibration boats AS SERVED before any lift, and the lift waits on the operator's reading of that map (the corporate RULING of the Law of the APH, section 5).","epoch":"R16","since":"R11.74.0"},"r16_closing_speed_law_16_22_0":{"label":"THE LAW OF THE CLOSING SPEED as vendored (PhysicsR16 16.22.0, R-CB-7; op:point; served since R11.74.0)","description":"Since R11.74.0 (PhysicsR16 16.22.0 at 7891b1a; R-CB-7 THE LAW OF THE CLOSING SPEED on the claims fence; the AP-S4 NOTICE of 2026-10-15 with Addenda 1 .. 3; the RULINGs AP-S4-0 / AP-S4-R / AP-S4-B-R) the vendored engine solves, on op:point, the ONE speed at which a plan that DEPARTS from the as-rated plan closes its net drive against its drag with the heel closed under the depower law of record at the trial speed -- the same deterministic evaluation with speed the unknown instead of the residual; the anchored record (the evaluation AT the polar speed with its anchor_balance beside, CF-4) is kept and served as before. THE BLOCK physics.speed_solve { law ap_s4_closing_speed_solve/2, status solved | not_solved | not_closed, reason, polar_BS_kt, solved_BS_kt, speed_delta_kt (solved minus polar, positive = FASTER), seconds_per_nm_delta (3600 / solved minus 3600 / polar, positive = SLOWER), iterations, trials, residual_N, residual_fraction, tolerance_fraction 0.001, heel_at_closure_deg, heel_state_at_closure, depower_at_closure, bracket { scans }, anchored, drive_basis, departure { rule ap_s4_departure_detection/2, departed, detected, forced, carried, not_applied, as_rated_plan_named, headsail_changed, main_changed, code_sail_changed }, sign_convention } and the top-level mirror physics.speed_delta_kt (a number where solved; null where not). THE TRIGGER: a control word off its reference, a value seat off its reference, the word solve on any control, or a member of the request's asRatedPlan { mainSailId, headSailId, codeSailId } differing from the plan's own id (a sail departure); a full-power plan with no as-rated plan named is its own as-rated plan (no block, no mirror key); the materializer's carried kite ease floor is no departure ([V-AP-118]). THE WORDS: speedSolve off (the library default: no detection, no block, the record before this law byte for byte -- every battery, golden and ladder rung evaluates under it), detect (the departure detected on the plan; the solve where departed), force (the solve whether or not departed; departure.forced true); an unknown word and a malformed as-rated plan are refused typed under either word (speed_solve_option_invalid, speed_solve_as_rated_plan_malformed). THE TYPED LAW: a typed anchored record -> not_solved with anchored_record_typed:<code>; no admissible root inside the bracket cap -> not_closed; an untyped engine error at a trial -> not_solved trial_evaluation_failed; the mirror null in each case. A plan's own delta against the POLAR carries the as-rated plan's calibration residual, never the user's change alone (the four-hull reading of the AP-S4 NOTICE Addendum 3); THE DELTA OF RECORD is the difference of two closing speeds, the changed plan's and the as-rated plan's -- this service's own use of the law (the injection detect on the request's plan, force on the as-rated plan, the closing_speed block at tier 1) is the row closing_speed_delta_of_record (MS-AD S2, this release). The NA-ratified non-balance statement (this kernel does not solve speed equilibrium; the boat speed anchored to the ORC polar) is SUPERSEDED for departed plans and kept for the as-rated plan ([V-AP-111]; the disclosure to the NA reviewer the operator's own). An evaluation, never a prediction (CF-1).","epoch":"R16","since":"R11.74.0"},"no_solve_available_typed_response":{"label":"\"No solve available\" -- the typed 200 class on every cs3 lane where the service cannot verify a join (served since R11.74.0)","description":"Since R11.74.0 (ADRD-MS-AD-1 S1 as ruled 2026-10-15; DQ-AD-2 (a); DQ-AD-3 the operator's own words): a join the service cannot verify is a TYPED INABILITY, never a server error -- HTTP 200 with solve_status no_solve_available. The point lane serves meta.resultClass no_solve_available, the reason word sail_state_join_not_verified:<state>, core_point_response.physics as a stub { status { code no_solve_available, reason, detail, failing }, tier, withheld true } with NO numeric physics leaf, the join's own account on sail_state.join, and words { user \"No solve available\", of_record \"No solve available: the evaluation could not close this plan at this cell. No number is served for a plan the evaluation could not verify.\" }. The Optimal lane serves the plan row with eligibility excluded, reason no_solve_available, detail and no_solve { ordinal, rung, join, words } (the map served, the ranking and the trim law over the plans that solved); the set lane serves the member trial with status no_solve_available (the record kept, response and facts null, the reason and the words); the Edge lane serves the cell candidate (or the carrier baseline) with status invalid [no_solve_available, the join word], sail_state.status no_solve_available and the delta a miss. Before R11.74.0 the class was HTTP 500 sail_state_join_not_verified with serviceIntegrityFailure (RF-W4 Act 1 / IR-2 / IR-4 / IR-5), now retired by replacement. A genuine exception stays the 500 class. The App prints the user word and hides the numbers ([V-AD-7]).","epoch":"R16","since":"R11.74.0"},"closing_speed_delta_of_record":{"label":"THE DELTA OF RECORD -- the closing speed handed back on the wire at Tier 1 (R-CB-7; op:point; served since R11.74.0)","description":"Since R11.74.0 (ADRD-MS-AD-1 S2 as ruled 2026-10-15; DQ-AD-4 \"Service computes the Delta at Tier 1.\" and the three-figure user sentence; DQ-AD-5 (a); DQ-AD-6 (a); R-CB-7 THE LAW OF THE CLOSING SPEED): on op:point the service injects the served word speedSolve detect on the user's plan (the D-4 form of the righting-moment seam: the library default off is never production law; a caller's options.speedSolve is refused typed sail_state_input_not_admitted:options.speedSolve on every cs3 lane), solves the AS-RATED plan's own closing speed by a second call under force through the same leg and the same strict join (the as-rated request: the asRatedPlan ids where sent -- sailState.request.asRatedPlan { mainSailId?, headSailId?, codeSailId? }, typed by the service before the engine and echoed in requestEcho.asRatedPlan -- else the request's own plan at reference, every control word at reference, no value seat; an in-process memo keyed by the boat, the cell, the as-rated ids, the options and the engine's model version answers a warm instance's repeat, hit / miss disclosed), and serves at tier 1 and above: physics.speed_solve (the engine's block on the user's plan, where the evaluation applied a departure; trials[] at tier 3 only), as_rated_speed_solve (the forced block, the same tiering) and the top-level closing_speed { law r_cb_7_delta_of_record/1, status solved | not_departed | no_solve_available, changed { solved_BS_kt, status, reason }, as_rated { solved_BS_kt, status, reason, plan, source request_plan_at_reference | asRatedPlan, memo }, delta_kt round3 (positive = faster), seconds_per_nm_delta round2 (Convention A: positive = slower), polar_BS_kt, polar_relative { changed_delta_kt, as_rated_delta_kt, note }, words { of_record: the R-CB-7 sentence verbatim, user: \"Closing speed <changed> kt; as rated <as-rated> kt; delta <delta> kt. An evaluation at this cell, never a prediction.\" } }. A plan with no applied departure reads not_departed with the deltas 0 by construction and no second call; either block not solved reads no_solve_available with the engine's reason and no delta (\"no delta where either plan cannot close\"). The Optimal, Edge and set lanes carry no speed block (the engine's inert default; every rung and golden byte-still). An evaluation at this cell, never a prediction.","epoch":"R16","since":"R11.74.0"},"r16_base_boat_curve_constant_16_22_1":{"label":"THE POINT RELEASE 16.22.1 -- the ORC base boat's residuary curve a load-time constant of the engine; a full point solve 157 -> 29 ms; no physics leaf moves (PhysicsR16 16.22.1 d8fc8f36; served since R11.74.0)","description":"Since R11.74.0 (PhysicsR16 16.22.1 at d8fc8f36, THE POINT RELEASE over 16.22.0 7891b1a -- the engine NOTICE of 2026-10-16 with its Addendum 2, main published 05:59 EDT; the operator's ruling of 2026-10-16 on DQ-W74-7 (a), the wave re-pinned before its smoke): the ORC base boat's residuary curve (the Delft parents collapsed to ORC's base point -- a pure function of the matcher's prepared systems and the constant kernel; no boat, no speed, no heel enters it) and its ORC-2026 composition are deep-frozen CONSTANTS derived once at module load, read at the one call site, COPIED at the disclosure boundary so no frozen object escapes into a served record; from AP-S0 to 16.22.0 they were derived again inside every hydro computation (about eight derivations per point on the served form). A full point solve on the served form 157 -> 29 ms (INFERNO 157.9 -> 30.7, SITELLA 157.3 -> 27.8, FOX 2.0 156.6 -> 29.4; about 81 % removed); the closing-speed solve on a departed plan adds ~3 .. 5 trials of the new cost. NOT moved: any physics leaf (parity 219 fixtures against 16.21.2, 764,422 leaves, 0 drift; the default-plan goldens at 0; the kite census byte-still), any option word or default, any fence word, any declared-added class; the side-car seat the Infra lane's FINDING proposed was NOT built (the engine lane's ruling DQ-HC-1 (b)): this service threads nothing, holds no cache, changes no request. The only served movement: the two version leaves on every record (physics.rm_residual_budget.pins.engine_version and ...f7_prior_identity.m2_matcher_engine_version read 16.22.1). The 16.22.0 capability rows stand as the laws' dated history (the laws were introduced at 16.22.0; 16.22.1 adds no class).","epoch":"R16","since":"R11.74.0"},"white_set_global_reef_seat_admitted":{"label":"The white set's global reef seat reef { set: g } admitted (PhysicsR16 16.22.0 candidate_request/7; served since R11.74.0)","description":"Since R11.74.0 (ADRD-MS-AD-1 S4 as ruled 2026-10-15; PhysicsR16 16.22.0 AP-S2a-B): the consumer seat reef { set: g } -- ORC's rfm form on the white set as flown, g a number in [0.50, 1] or the word solve where the engine admits it -- is admitted through the gate on the prescribing carriers; the gate types the seat's SHAPE alone (a plain object whose members are among main / set / code, each a finite number or solve) and every DOMAIN word stays the engine's and passes verbatim (reef_set_beside_main_seat, reef_set_not_on_a_code_plan, reef_word_not_at_reference, reef_out_of_domain, reef_without_code_sail); the engine applies it (the applied-state record's controls.reef.set.applied; the materialization record's controls.reef_set carries the request's account) and the Optimal stage rows read it back as reef_set_applied presence-only beside reef_code_applied (the kite's own reef seat reef { code } as before). The seat map names reef -> set, main on a WHITE or CODE plan and reef -> code on a KITE plan; the Optimal ladder adds NO rung (principle 5). The words the App prints are the App lane's ([V-AP-44]).","epoch":"R16","since":"R11.74.0"},"r16_white_main_reef_in_orc_word_r_16_23_0":{"label":"THE MAIN'S REEF IN ORC'S WORD r -- the Sailor's order's third stage reefs the MAINSAIL alone (PhysicsR16 16.23.0 AP-S5; served since R11.74.0)","description":"Since R11.74.0 (PhysicsR16 16.23.0 at 0e02ecd2 -- the engine NOTICE of 2026-10-16 and the AP-S5 NOTICE with its addenda; the operator's ruling on ADRD-MS-AD-2 DQ-AD2-1 .. 9 (a); the wave re-pinned from 16.22.1 before its smoke): on a WHITE plan the Sailor's order's third stage reefs the MAINSAIL alone in ORC's word r -- the area fraction kept (the main's luff and foot x g where g = sqrt(r), its area x r; ORC Manager 2026's printed reef, read at the primary source) -- where 16.22.x reefed the whole white set in FYD's form; the record's controls.reef.main.applied is r with g_applied beside where the seat is engaged; the stage row reads control reef, member main, value r, g, floor r 0.25 (the physics floor g 0.50 unmoved), floor_g, floor_source, word, law; the disclosure depowerAtLimit.white_reef_law orc_main_2026 rides only where a white reef stage ran (never on the pre-stage bail-out of a station-reefed main, never on a kite record); no controls.reef.set rides such a record. The consumer seat reef { main: r | solve } takes the same word (the domain [0.25, 1]; reef_out_of_domain names floor 0.25, floor_g 0.5, word orc_area_fraction). The engine's key whiteReefLaw (orc_main_2026 the root default; fyd_set_global the comparison arm, byte-identical to the 16.22.x third stage) is NOT exposed on this wire (DQ-AD2-2 (a): a caller's word is refused typed). The served frequency is rare (no ladder rung reaches the reef stage at the general fence: the flat or the twist closes); the Optimal stage rows mirror reef_main_applied presence-only (the sailor's number r) beside reef_set_applied / reef_code_applied; the App prints r with g beside; a reef is a word of the record and is never read back as a curve.","epoch":"R16","since":"R11.74.0"},"r16_kite_set_global_reef_16_23_0":{"label":"THE KITE SET'S GLOBAL REEF -- the kite's Sailor's order depowers the SET as flown (PhysicsR16 16.23.0 AP-S6; candidate_request/9; served since R11.74.0)","description":"Since R11.74.0 (PhysicsR16 16.23.0 at 0e02ecd2 -- the engine NOTICE of 2026-10-16 and the AP-S6 NOTICE with its addenda; the operator's ruling on ADRD-MS-AD-2 DQ-AD2-1 .. 9 (a)): on a SPINNAKER plan (ASYM / SYM) the Sailor's order's depower is THE KITE SET'S GLOBAL REEF -- one factor g on the whole set as flown (the main's luff and foot x g, its area x g^2; a flying head likewise with its foot kept; the kite's exposed area x g^2 and its centre x g; ORC's linear factor, the word orc_linear_factor; ORC's reef on a kite set read at the primary source) from full to the change-down trigger 0.88, then the inventory's smaller kite as the typed hand-off (change_down_handed_off; the pool's own evaluation of that kite is the re-solve), then the set's reef continued to the kite's floor, then the typed state (no_admissible_kite_state with the reason kite_set_reef_exhausted_at_floor; kite_state.set_reef_tried; ease_tried { ease 1, outcome not_tried_under_the_set_order }); the kite's ease is the sailor's own trim, outside the order (the explicit ease seat solves the ease alone, byte-identical to 16.22.1; where it exhausts the record stands typed at the floor). R-CB-6's kite rungs, the operator's ratified words at this release, verbatim: \"On a spinnaker plan the Sailor's order depowers the SET: one factor on the whole set as flown -- ORC's reef on a kite set -- from full to the change-down trigger, then the inventory's smaller kite, then the set's reef to the kite's floor; the kite's ease is the sailor's own trim, outside the order.\" The record: controls.reef.set the order's by default (word orc_linear_factor, kite { sail_id, family, area_base_m2, area_exposed_m2 }, segment, floor_provenance, orc_floor; on a first-segment closure the floor is the trigger 0.88 with the kite's floor beside as orc_floor), controls.ease.code at its reference, the kite_ease leaf absent, aero.easeAlgebra.code with ease 1 and the set parts on set-closed records, physics.stageSolve { control reef, requested_source default }, physics.depowerAtLimit { kind kite, kite_reef_law orc_set_global, the rows reef/set to the trigger, change_down, reef/set to the floor; the outcomes closed_by_reef | change_down_handed_off | reef_exhausted_at_floor | reef_stage_unavailable_floor | reef_stage_unavailable_floor_at_or_above_the_trigger }; the editions candidate_request/9 and applied_state_record/9 on every record. The consumer seat reef { set: g | solve } on an ASYM / SYM plan is admitted through the gate (the gate types the shape alone; the engine's refusals verbatim: reef_out_of_domain at the kite's floor, ease_beside_set_reef_seat, kite_reef_without_ease_stamp, reef_set_not_on_a_code_plan on a Code 0; the witness row A-15 of the adoption battery). The served KITE ladder walks the set order on its FULL rung (the engine's default on a seat-less plan) before the pool's change-down and adds NO rung (DQ-AD2-3 (a); the station rungs keep the engine's pre-AP-S6 form); the Optimal lane's typed arm reads the new words (the leaf's ease is the engine's own 1 under the set order; kite_state gains set_reef_tried) and the stage rows read reef_set_applied on set-closed kite rows. The engine's key kiteReefLaw (orc_set_global the root default; kite_alone the comparison arm, the 16.22.1 kite rungs byte for byte) is NOT exposed on this wire (DQ-AD2-2 (a)). Every saturated kite cell moves against 16.22.1 (the heel, the aero, the balance, the words); the free kite cells, the Code 0 (its HSF law untouched) and the parity corpus are byte-still.","epoch":"R16","since":"R11.74.0"},"code0_set_flying_eligible_every_cell":{"label":"op:optimal: a headsail set flying is eligible wherever the certificate carries it (MS-FE-1; served since R11.73.1)","description":"Since R11.73.1 (MS-FE-1, 2026-10-18; ADRD-MS-FE-1_The-Intended-Use-Fence_HSF-Eligible-Wherever-The-Certificate-Carries-It, the operator rulings DQ-FE-1 .. 5 of 2026-10-18 every row (a); the engine lane DQ-AP-7 row of 2026-10-13; ORC VPP Documentation 2026 sec. 5.2.5) a row the certificate marks Flying = Yes -- dimensions.set_flying true on the served document, the converter typing CODE0 -- is a HEADSAIL SET FLYING: eligible at EVERY cell of the Optimal grid (the CODE kind gains a baseline plan and a ranked winner at the cells below its former floor; kindWinners.CODE appears where it read absent) and never intended_use_filtered by the family word under followIntendedUse (an owner-declared word on the row is honoured as before). The declared class code0_set_flying_eligible_every_cell: the cell winner moves ONLY under followIntendedUse above 140 degrees, where the family word REACH fenced a set-flying row before this release (the admission alone crowns no new winner: a CODE0-keyed row was already admitted above its 75-degree floor, and a cell whose CODE authority had no eligible member resolves by the kind change as before); below 110 the WHITE authority is unchanged and the Code 0 number is disclosed, never crowned. No ratified constant, scoring law, feasibility law or kind law moves; the App-typed CODE0 / HR55 / HR75 keys without the word keep the admission windows. Boats without a set-flying row are byte-identical (the class is EMPTY on INFERNO, SITELLA and ZEUS; FOX 2.0 carries the two served rows A3-H and MH0-2).","epoch":"cross","since":"R11.73.1"},"r16_hydro_determinants_handback":{"label":"The hydro hand-back threaded on every op at the chokepoint (MS-G4; PROPOSED for the >= 16.24.0 wave)","description":"Since R11.75.0 (MS-G4, 2026-10-18; SPRINT-MS-G4 v1_0; ADRD-MS-PS-2 DQ-PS-12 .. 17 (a): P-A on every op; B-PM-3 / [V-PM-11] the drop site): a posted body.sidecar_physics.hydro_determinants -- the set hydro_determinants/1 a prior response carried at core_point_response.physics.sidecar_physics.hydro_determinants (emitted under options.hydroDeterminants on) -- is injected into the engine's arguments on EVERY engine call of the request, at the handler's per-request engine fences (the one chokepoint every lane of every op shares: point, set, the edge lanes, cert, optimal, the merge's fused solve, plan_grid, regime_compose; candidate_catalog makes no engine call), where the arguments carry no engine-bound set of their own; the engine VERIFIES the set (its identity key, its content hash, its derivation words, its engine version -- the engine's contract, never re-implemented by the service) and seeds its derivation from it (source handback, stats.derived 0) or refuses it typed (refused { code hydro_determinants_handback_refused, reason }) and derives. The counters ride every op envelope as meta.sidecar_physics { accepted, threaded true, engine_calls (every attempt), handed, handback_accepted, refused, refusal_reasons, thrown, unobserved } whenever a hand-back was posted; the verdicts accepted / refused are READ from the engine's return and are visible only where the engine emits the set (options.hydroDeterminants on) -- a return without a set counts unobserved; with no hand-back posted nothing on any envelope moves. On cert_delta_grid one posted set meets two documents: the foreign one's solves read refused by identity key (a per-document form is a row for the wave). THE WORDS LAW: the engine accepts a set only where its derivation words equal the call's; the point lanes default dshProjection on where the map lanes do not (B-PM-10, ruled for the wave), so until the wave a point-born default set is refused derivation_words on the map lanes and the App births the map lanes' set with dshProjection off. Before this row the served wire DROPPED the posted set before the adapter on every lane (the vendored converter physicsBoatToCompositePoint carries no sidecar_physics; the optimal lanes pass the service's own envelope) -- the pack's V5w record read derived; from the e3 edition it reads handback and the manifest's service fact handback_threaded_on_wire is true. Locked by hand-back-tests.js HB-1 .. HB-6 on the preview tree (the successor point, the successor edge, op:optimal batched at the exact solve count, op:plan_grid legacy at the exact count); cert, the legacy edge, the prescribed set, the merge's fused solve and the carrier forms are threaded at the same chokepoint and unlocked by fixture. Since R11.82.0 (DQ-HS1-MS-2 (a), RULED 2026-10-23 -- NOTE-MS-HS1-1 F-HS1-1: the e4 pack of 2026-10-23 read the gate refusing body.sidecar_physics beside the cs3 carrier on op:optimal / op:optimal_merge, sail_state_carrier_invalid, while this thread stood behind it): sidecar_physics is ADMITTED beside the carrier on op:optimal and op:optimal_merge too (OPTIMAL_TOP_LEVEL_KEYS), so the hand-back threads on the App's carrier form of the Optimal ops -- EVERY op on the wire now; a posted sidecar_physics.calibration_anchor on those two ops is refused typed sidecar_calibration_anchor_not_on_this_op (K-2 S2-4's scope is op:point and op:plan_grid), never discarded. S4-8 (DQ-HS4-MS-2 (a)): the request's first DERIVED set rides once at meta.sidecar_physics.derived under hydroDeterminants 'on' whenever a call derived (r16_hydro_derived_set_once_per_request). Locked by hand-back-tests.js HB-10 / HB-11 / HB-12 .. HB-14.","epoch":"R16","since":"R11.75.0"},"r16_selection_document":{"label":"The selection document: optimalPolicy.selection { sail_ids } on candidate_catalog / plan_grid / regime_compose (MS-G6; PROPOSED for the >= 16.24.0 wave)","description":"Since R11.75.0 (MS-G6, 2026-10-18; SPRINT-MS-G6 v1_0; the App lane's VM-S3b \"best of your selection -- as if I carried only these sails\"): optimalPolicy.selection { sail_ids: [...] } on op:candidate_catalog, op:plan_grid and op:regime_compose derives THE SELECTION DOCUMENT -- the resolved document with boat.sails.inventory restricted to the named ids -- and everything downstream of the document reads it: the catalog (the pool enumerated over the selection's sails: the catalog of that policy IS the selection), the kind authority per cell (a selection without kites reads no KITE authority, as a boat without kites would), the pools by role, the disclosures, the fill law, the holds, the trim law, the guidance, the crossovers. THE LAW: the composition under a selection EQUALS op:optimal monolithic over the filtered document posted directly (selection-tests.js SD-2). The identities: boat_ref stays the document's; catalogKey covers the selection (its sorted ids beside the pool's keys); basis_key does NOT (a plan's solve never reads the other sails), so the full pool's plan_grid records are reusable under a selection -- one catalog call + one compose, no solves (SD-3). The refusals, typed 200: selection_sail_unknown { sail_ids } (an id the document does not carry), selection_without_main (the selection enumerates no main); the 400 invalid_optimalPolicy_selection for the shape; on op:optimal and op:optimal_merge the word is REFUSED typed 400 selection_not_on_this_op (DQ-PS-21: op:optimal stays as it stands; never silently ignored). meta.selection { sail_ids, applied } on every response under the word. THE PLAN-LEVEL FORM (MS-G8, 2026-10-19; SPRINT-MS-G8 v1_0; the App's DQ-PR-4 (a)): optimalPolicy.selection { candidate_keys: [...] } on the same three ops, EXCLUSIVE with sail_ids -- the POOL restricted to the named plans in catalog order, the document NOT filtered (a plan subset is not a sail subset: the kind authority, the pools by role and the disclosures read the whole wardrobe as op:optimal's do); catalogKey covers the sorted keys (plan_not_in_catalog and compose_incomplete read against that pool), basis_key unchanged (the full pool's records reusable, no solve); the ranking is drawn from the subset only and equals the full composition at every cell whose full ranking lies in the subset (plan-selection-tests.js PS-2); the refusals typed 200 selection_plan_unknown { candidate_keys } and selection_without_plans, the 400 invalid_optimalPolicy_selection for the shape or both words at once; meta.selection { candidate_keys, applied }; the word rides the carrier forms as sail_ids does. Whether the engine's hydro set born on the full document seeds a solve over the selection document is the engine's key contract, read by SD-7 ([V-G6-1]).","epoch":"R16","since":"R11.75.0"},"r16_regime_compose":{"label":"op:regime_compose on calculate-r16: the composition over the one-plan records (MS-G5; PROPOSED for the >= 16.24.0 wave)","description":"ADRD-MS-PG-4 (R11.77.0; DQ-PG4-2 / -3 (a), the operator's ratified as recommended of 2026-10-20; SPRINT-MS-PG4-WAVE): THE POOL'S ANCHOR PLANS ON THE COMPOSE -- meta.compose.capped_cells { count, cells[] } names the cells whose WINNER record carries capped true; meta.compose.anchor_plans { resolved, unresolved, cells[i] } names per grid cell the anchor plan of the cell's RATED kind: the pool's CERTIFICATE plan (every sail orc-carrying) whose sail plan equals the baseline carrier of the baseline block's baselineKind (the declared main, the largest eligible declared sail of the kind, the seat staysail as the head of a kite / Code carrier where one exists -- PhysicsR16 NOTICE -08: the as-rated plan, the ladder's first rung), with ITS OWN posted record's words { candidateKey, kind, score_kt, BS_edge_kt, capped, balance }; where no such plan can be formed { candidateKey: null, reason: no_certificate_plan_of_rated_kind }, where it is outside the (G8-filtered) pool { reason: anchor_plan_not_in_pool } -- never a guess (the catalog's anchors_under_the_default_cap/1 law, DQ-PG4-6 / -7 / -8 (a), carries every such plan under the service's default cap for any grid inside its canonical sweep; under a caller's explicit cap the typed reason is the honest word); since R11.79.0 (ADRD-MS-RF-1 D-1; DQ-RF-1 (a), the operator's ratified as recommended of 2026-10-21) the anchor is the certificate's BEST plan of the rated kind at the cell -- anchor_rule certificate_best_of_rated_kind_at_cell/1 on the block and on every row: among the pool's certificate plans whose record at the cell is of the rated kind, the first the cell's ranking places (winner, runnerUp, alternates, kindWinners), else the ranking's own law over those plans alone as the population (under the carrier the population law itself -- the main-seat hold, the stage precedence, the halt law, the ranked or diagnostic gate -- over the certificate plans only, never the served cell's population-wide deferrals; then the comparator, the status gate and the fill law with its feasible / overpowered / unresolved partition and the handling tie-break), anchor_source served_order | ranking_law_over_certificate_plans presence-only on a resolved row, the typed reason anchor_not_ranked where none of them is ranked; the baseline carrier's certificate plan named above (the R11.77.0 anchor) rides beside as baseline_carrier_key, presence-only (null where outside the pool); anchor_plan_not_in_pool where no certificate plan of the kind is in the pool; under the variable solve this is the plan posted for the calibration (DQ-RF-6 (a)); nothing on core_optimal_response (the equality law stands). slim_record/2 ACCEPTED by the record's word slim2 (one form per pool; mixed refused compose_record_form_mismatch { expected_form }): a slim2 plan entry carries plan_records { form slim_record/2, policy_id, ladder, cells[n] } beside its cells (absent or wrong: compose_record_incomplete { missing: [plan_records] }); the cells' stages (the lean rungs, the selected rung's closure and order words) and selection_summary are RE-HYDRATED from the header before the merge, so the composition over slim2 records EQUALS the composition over slim/1 records on core_optimal_response, sail_state and crossovers (and the full composition on the ranking, the trim law, the guidance and the crossovers, as slim/1 does); meta.compose.record_form slim_record/2. | PG-3 (SPRINT-MS-PG3 v1_0, 2026-10-19; ADRD-MS-PG-3 DQ-PG3-3 .. 5 (a); since R11.76.0): THE FORM BY THE WORD -- a record carrying record_form slim is a slim_record/1 (the plan_grid projection); the pool form is the FIRST record form; a record of the other form is REFUSED typed compose_record_form_mismatch { expected_form, record_form, candidateKey, cellIndex } (the carrier-words axis keeps expected); a slim record whose selection is null without the selection_summary KEY is compose_record_incomplete { missing: [selection_summary] }; meta.compose.form reads slim by the word (and still by the absence of solve on the older slim), meta.compose.record_form slim_record/1 | full, meta.compose.ceiling_bytes. THE CEILING: the request bytes against compose_request_ceiling_bytes BEFORE any pool work -- REFUSED typed HTTP 200 compose_request_over_ceiling { request_bytes, ceiling_bytes, plans, per_plan_mean, fits_about } (reachable only for bodies the platform let through; above the platform limit the 413 is the platform own). THE WINNER DISCLOSURES (D-5; the App REQUEST -19 / NOTICE -18 / NOTICE -20 / REQUEST -22; PhysicsR16 NOTICE -04): presence-only on every solved row and copied to the published winner / plan-row summaries -- solve.longitudinal { drive_windage_truncation, drive_net_basis, ratio_source } from the record force balance (the drive side word: axial_windage_composed | axial_windage_not_composed | axial_windage_not_produced; the served 16.26.0 root default windageInBalance reported reads not_composed on every row -- FINDING CLC-modelservice-physicsr16-20261019-07) and order_closure { outcome, flat_applied, twist_applied, reef_applied } where the engine order closed the rung (physics.depowerAtLimit.outcome; the controls the order planted, read from the applied-state record); winner.solve.stage_control KEPT. The slim record keeps both (they ride solve). | Since R11.75.0 (MS-G5, 2026-10-19; SPRINT-MS-G5 v1_0; ADRD-MS-PS-2 DQ-PS-20 (a) the cross-plan ranking on the facade, DQ-PS-21 (a) op:optimal kept for its other callers): op:regime_compose { boat | boat_ref, catalogKey?, envGrid, options, optimalPolicy?, plans: [ { candidateKey, cells: [ the op:plan_grid records ] } ] } composes the regime map from the one-plan records the App collected: the handler rebuilds the pool from the document, requires every pool candidate once with one record per grid cell at its cell, turns each record back into its carrier row (env, BS_edge_kt and BS_edge_uncapped_kt stripped), rebuilds each cell's baseline authority block as the Optimal handler's own buildCellPreview does, synthesizes ONE batch envelope of the whole pool and hands it to handleOptimalMerge -- the SAME union, fill law, head-role re-join, bounded REEF1 guidance solves and crossovers op:optimal_merge runs; no second ranking code. THE LAW: the composition over every plan's records EQUALS op:optimal monolithic on the same document, grid and policy (core_optimal_response, crossovers, the explainability layer with the boundary aside -- the boundary names the compose and its one synthetic batch) and EQUALS op:optimal_merge over the App's batches (regime-compose-tests.js RC-1 / RC-2 / RC-4) -- for records of the LEGACY form of op:plan_grid solved under THIS body's basis: every record carries the basis_key op:plan_grid stamps (the engine identity, the resolved policy, the options, the state, the trim, the aero options, the tuning families) and a record under another basis is refused typed compose_basis_mismatch (G5-A1); THE CARRIER FORM (MS-G7, 2026-10-19; SPRINT-MS-G7 v1_0): a compose posted under the successor carrier (sailState) composes CARRIER-FORM plan_grid records through the merge's successor path -- the union ranking over the whole pool (the main-seat hold and the stage precedence re-decide the held words ranked / deferred_*; no_admissible_stage, fenced, halted and diagnostic are kept; deferred_margin_kt re-derived; selection_summary rebuilt from selection) -- EQUAL to op:optimal monolithic under the carrier and to op:optimal_merge under the carrier over any partition ON core_optimal_response (the boundary aside) AND crossovers (carrier-compose-tests.js CC-2); the served sail_state block is the merge's re-derivation (the ladder, the ladders per kind, the guidance with the controls per cell, the trim law, the basis the merge checks) with the counts the records carry (plans, stages prepared, the selection tallies) and the counts they do not carry NULL, named in not_carried and counts_source (pool.sets_prepared / not_materialized, evaluations.candidate / baseline / guidance_station, selection.stage_unavailable; G7-A1: never served as 0). The form is checked by the five carrier words (eligibility, stage, stages, selection, inadmissible): under a carrier compose every record must carry them, under a legacy compose none may -- a mix is refused typed 200 compose_record_form_mismatch { expected: carrier | legacy, candidateKey, cellIndex, words } (G5-A1's 400 regime_compose_carrier_records_not_served is retired); the basis_key covers the carrier's declaration, so carrier and legacy records of one plan never share a basis. The selection word rides the carrier forms as on the legacy ops (CC-4). The refusals, typed 200 ok false: compose_incomplete { missing } (the regime map is the whole pool's; a smaller pool is optimalPolicy.maxCandidates, never a partial), compose_duplicate_plan, plan_not_in_catalog, compose_grid_mismatch { candidateKey, cellIndex } (TWS / TWA / BS and the reference height, absent = 10 m), compose_basis_mismatch, boat_ref_unknown, catalog_stale; the 400 invalid_regime_compose_request for the shape (no plans; a plan without cells; a candidateBatch); the carrier (sailState) SERVED since MS-G7 (the 400 regime_compose_carrier_not_served retired). THE SLIM FORM (MS-G6; G6-A1): a record posted without its disclosure members (solve, balance, feasibility_basis, feasibility_refusal, ratio_source, label, intent) composes to the SAME RANKING as the full form -- every record, slim or full, MUST carry the ranking's own inputs candidateKey, kind, score_kt, resultStatus, clampCount and handling_penalty (the tie-break reads clampCount, the honesty band prefers the lowest handling_penalty; a record without them is refused typed 200 compose_record_incomplete { candidateKey, cellIndex, missing, required }, never ranked under a default); the tie-break's seat primary_main is stamped by the compose from its own catalog, never read from the record -- every cell's winner, runnerUp, alternates and kindWinners by candidateKey and score_kt, the authority, the crossovers -- while the disclosure members of the published summaries read null; meta.compose.form reads slim where any record lacks solve, else full (selection-tests.js SD-5 / SD-5b: the slim records measured about half of the full on FOX 2.0 -- the disclosure members are about half of a record; the per-record basis_key and score_basis are per-call constants, a later lift). The response is op:optimal_merge's envelope with meta.op regime_compose and meta.compose { boat_ref, catalogKey, basis_key, form, plans, pool, cells, records, request_bytes } (and meta.selection under the selection word); the hand-back threaded to the guidance solves at the chokepoint (r16_hydro_determinants_handback). The document key and the catalog key are op:plan_grid's (the same in-process store). Since R11.78.0 (PG4-3c; the ONE reviewer at R11.77.0's pin, findings 1, 2 and 5, carried on the operator's word): the slim2 header plan_records is validated per cell BEFORE the re-hydration -- a malformed header (a null or empty cell, a ladder absent or with a null row, a null stage row, a selected block absent where a selected rung exists, the selector summary absent, a null account row, a duplicate ordinal) is refused typed compose_record_incomplete { candidateKey, cellIndex, missing: [plan_records.cells[i]...] }, never composed thinner ok:true, never a thrown error; the plan-wide ladder (an account citing a rung the cell's own rows do not carry) is admitted, named. Since R11.78.0 (ADRD-MS-RV-2 D-3 / D-4 on DQ-RV2-2 (c); the App's FINDING CLC-appr10-modelservice-20261020-06 A-1 / A-2): the anchor row of meta.compose.anchor_plans.cells[i] carries its plan's record's BS_edge_uncapped_kt / score_uncapped_kt beside the capped words and its balance block { class, residual_N, residual_fraction, tolerance_fraction, source } read from the engine's anchor_balance (the service had read the retired name baseline_balance: null on every form before R11.78.0).","epoch":"R16","since":"R11.75.0"},"r16_plan_grid":{"label":"op:plan_grid and op:candidate_catalog on calculate-r16: the one-plan-per-call form of the Optimal map (MS-G3; PROPOSED for the >= 16.24.0 wave)","description":"ADRD-MS-PG-4 (R11.77.0; DQ-PG4-1 / -3 / -4 (a), the operator's ratified as recommended of 2026-10-20; SPRINT-MS-PG4-WAVE): THE ANCHOR PLANS GUARANTEED UNDER THE DEFAULT CAP (D-1 as re-cut by DQ-PG4-6 (a), refined by DQ-PG4-7 (a) and scoped by DQ-PG4-8 (a), the operator's rulings of 2026-10-20: the certificate-first partition capped a sailor's what-if sail out of every pool whose certificate plans alone fill the cap; hoisting the anchors to the head of every pool re-partitioned every batched or capped request; an unscoped guarantee re-ordered every explicitly capped request) -- op:candidate_catalog, op:plan_grid, op:regime_compose and op:optimal keep the deduped pool in its ENUMERATION ORDER (pool_order anchors_under_the_default_cap/1 on the disclosures and the meta) and guarantee the pool's ANCHOR PLANS under the SERVICE'S DEFAULT CAP: the anchors are the union of the per-cell baseline carriers (the primary certificate main with the largest eligible certificate sail of the rated kind, the staysail seats where they exist: the plans op:regime_compose's anchor_plan names per cell) over a fixed canonical wind sweep of 13 TWS x 13 TWA, so the set is wind-independent (INFERNO: its three certificate plans; FOX 2.0: three; a typical wardrobe two to four); when the caller posts NO maxCandidates (the default 32 applies) and that cap would omit an anchor plan, the omitted anchors are hoisted to the head (in their enumeration order) and the cap slices as before -- a wardrobe whose anchors already ride is byte-identical to the served pool; on INFERNO the three anchors replace the last three plans under the 32 (the uploaded main's plans had filled the 32 and every certificate plan was omitted; 38 of 72 winners capped); a caller's EXPLICIT maxCandidates is its own slice of the enumeration (OP-Q2), never re-ordered; a what-if sail keeps its place in the enumeration; certificate_plan and anchor_plan true | false on every candidate (the catalog rows and meta.plan); where the served pool omits an anchor plan the catalog is SERVED with anchor_plans_over_cap { count, cap, omitted_anchor_keys, cap_source: default | explicit } (presence-only), never refused; the catalogKey hashes the pool in this order. G8 over the certificate's as-rated plans therefore always resolves under the default cap (D-4). record_form slim2 (slim_record/2) on op:plan_grid: the slim/1 cell with stages and selection_summary EMPTIED (the keys stay, null) and carried ONCE PER PLAN on core_plan_grid_response.plan_records { form, policy_id, ladder: [ { ordinal, stage_label } ], cells: [ { stages: [ [ordinal, feasibility] ], selected_ordinal, selected: [ [ [flat, twist, [reef] | null] | null, margin_to_limit_deg, heel_at_closure_deg, enforced_limit_deg ] | null, { depower_at_limit_outcome?, order_closure? } | null ] | null (the SELECTED rung's closure and order words, compact), selection_summary: { outcome, selected_ordinal, complete, account: [ [ordinal, outcome] ] } | null } ] }; solve (stage_control, order_closure, longitudinal), stage, balance, capped and basis_key stay on the cell; NOTHING leaves the wire -- the compose re-hydrates every slim/1 member from the header (the merge re-emits the stage rows on its plan rows and reads the selected closure's controls into the guidance, so the closure rides the header); meta.record_bytes.per_plan counts the cells plus the header. Measured on INFERNO x 72 x 32 plans (the certificate-first pool): the compose by ref 3,990,356 B (slim/1 5,026,267 B), with the App's 799,891 B document inline 4,790,247 B (slim/1 5,826,158 B, over the 5,500,000 B ceiling) -- the document-bearing fallback fits WITH solve kept. | Since R11.75.0 (MS-G3, 2026-10-18; SPRINT-MS-G3 v1_0; ADRD-MS-PS-2 DQ-PS-19 .. 22 (a), the operator: one plan per call with the side-car, the composition on the facade at G5, op:optimal kept for its other callers, boat_ref with G3): op:candidate_catalog { boat | boat_ref, options?, optimalPolicy? } hands the pool the server enumerates for the document (the SAME buildCandidateCatalog op:optimal runs) ONCE under a catalogKey (sha256 over the boat_ref, the published candidate keys in catalog order, the omitted keys and the cap); op:plan_grid { boat | boat_ref, plan { candidateKey, sailPlan? }, envGrid, options, optimalPolicy?, catalogKey?, sidecar_physics? } evaluates ONE plan over the grid and returns per cell the record op:optimal itself would carry for that plan -- the SAME fences, the SAME solve and the SAME scorer (optimalRanking_r11: fencedCandidateResult / solvePlanForCell / scoreCandidateResult on the legacy lane), trimmed as merge_carrier trims it, plus BS_edge_kt = round3(BS_base_kt + score_kt) (null where no score) and basis_key (G5-A1: the sha256 of the solve basis the record was made under, also on meta.basis_key -- op:regime_compose requires it to equal its own): no ranking across plans, no kind authority, no fill law, no trim law, no guidance solves (DQ-PS-20 (a): the composition is G5's op:regime_compose). boat_ref is born on the first call that carries boat -- sha256 over the canonical document salted by the service version and the engine identity -- and held IN-PROCESS per function instance (P-B+ as ruled; a bounded LRU; the instance lifetime its horizon; a durable substrate is PS-E4's): a later call with boat_ref and no boat resolves it or is REFUSED typed HTTP 200 { ok: false, refused: { reason: boat_ref_unknown } } (the App re-sends the document); a plan outside the pool, or whose posted sail ids differ from the pool's, is REFUSED typed plan_not_in_catalog; a posted catalogKey that differs from the current one is REFUSED typed catalog_stale; the request defects are a typed 400 invalid_plan_grid_request (both or neither of boat / boat_ref; a missing plan or candidateKey; a candidateBatch, which is not a word of this op). sidecar_physics is accepted and threaded to the engine at the chokepoint (MS-G4: meta.sidecar_physics carries the counters); the G3 echo (the posted block re-emitted once on the response) is retired at MS-G6 -- the App holds the set it posted, and the echo cost ~25 KB per plan call for nothing (LB-1). Served on calculate-r16 only (the endpoint whose profile carries the engine identity); the legacy roots refuse the op typed 400 plan_grid_not_on_this_endpoint. THE CARRIER FORM (MS-G4): under sailState op:plan_grid runs the successor orchestrator over ONE bound plan and its record equals the carrier-on batch's row for the plan on the batch-independent fields (the solve, the score, the feasibility words, the stage rows) while the record carries the orchestrator's OWN eligibility word (ranked / no_admissible_stage / fenced / halted / diagnostic; G4's re-statement to single_plan is RETIRED at MS-G7: the compose's union ranking neither holds nor keeps that word) and deferred_margin_kt absent (the main-seat hold and the stage precedence are decided across the plans at a cell; the composition re-decides them); op:candidate_catalog under the carrier is SERVED since MS-G8 with the carrier-less catalogKey (the pool is the same with or without the carrier; G3-A1's 400 plan_grid_carrier_not_served_at_g3 retired: one code path for the App's three calls). The hand-back is threaded on these ops at the chokepoint as on every op (r16_hydro_determinants_handback). The record's equality with op:optimal's carrier rows is locked by plan-grid-tests.js PG-5 / PG-6 on every FOX 2.0 candidate under both intent policies, on the legacy lane (the App's form today). PG-3 (SPRINT-MS-PG3 v1_0, 2026-10-19; ADRD-MS-PG-3 DQ-PG3-1 .. 6 (a); since R11.76.0): THE RECORD FORM -- optimalPolicy.record_form full | slim (absent = full, byte-still; any other word a typed 400 invalid_plan_grid_request invalid_optimalPolicy_record_form). The service OWNS the projection slim_record/1 (planGrid_r11.slimRecordOf): the ranking inputs (candidateKey, kind, score_kt, resultStatus, clampCount, handling_penalty), the gate words (env, basis_key, the five carrier words present) and the winner disclosures (solve, ratio_source, balance, capped, score_basis, feasibility_basis, feasibility_refusal) kept as served; label / intent dropped; selection replaced by selection_summary { policy_id, outcome, selected_ordinal, complete, account } with selection kept present as null; every rung lean { ordinal, stage_label, feasibility } plus the SELECTED rung closure { controls flat / twist / code.reef, margin_to_limit_deg, heel_at_closure_deg, enforced_limit_deg } and its order words; inadmissible without kite_state; the word record_form slim on the record. record_form never enters basis_key, catalogKey or the policy echo. meta.record_form, meta.record_bytes { form, per_record_mean, per_plan } (measured on the serialized cells of THIS plan) and meta.compose_request_ceiling_bytes (5500000, a server constant under the platform ~6 MB synchronous request limit) ride plan_grid; the ceiling rides candidate_catalog too, so the App computes the fit before it posts (fits_about = floor(ceiling / per_plan)). Measured on FOX 2.0: the slim record 38 pct of the full carrier record; the slim pool composes to the SAME ranking, trim law, guidance and crossovers (carrier-compose-tests.js CC-8; plan-grid-tests.js PG-10 / PG-11). Since R11.76.1 (ADRD-MS-PG-3-1, the one-key cure; the App FINDING CLC-appr10-modelservice-20261019-29): boat_ref is the key of the record-trimmed document -- the hull shape curve blocks removed exactly as the carrier U-1 trim removes them -- so a carrier-less op:candidate_catalog and an op:plan_grid under the cs3 carrier key ONE document alike (INFERNO: one key, no catalog_stale); a curve-less document keys as before at a version; the store keeps the richer document under one key; the law word boat_ref/1 is unchanged. Since R11.78.0 (ADRD-MS-RV-2 D-3 / D-4 on DQ-RV2-2 (c); the App's FINDING CLC-appr10-modelservice-20261020-06 A-1 / A-2): every plan-grid record of every form (full, slim, slim2) carries BS_edge_uncapped_kt (the predicted edge BS0 x sqrt(drive_over_drag), rounded as BS_edge_kt is) and score_uncapped_kt (its edge less BS0) presence-only beside BS_edge_kt / score_kt / capped -- null exactly where score_kt is null, equal to the capped words where the +10 % publication fence did not bind, above them where it did; the ranking stays on the CAPPED score (the fence disclosed, never evaluated); and its balance block { class, residual_N, residual_fraction, tolerance_fraction, source } is the engine's anchor_balance (the Law of the APH's disclosed residual; at 16.27.0 read on the NET drive).","epoch":"R16","since":"R11.75.0"},"r16_variable_solve":{"label":"The variable solve on the service (K-2; ADRD-MS-VS-1; OPT-IN at its first serve, PROPOSED for R11.81.0)","description":"PhysicsR16 16.29.0's served entry compositePointServed (VS-S3) reached through the one door: under the opt-in word -- optimalPolicy.calibration 'vs_1_polar_closure/1' on op:optimal, op:plan_grid and op:regime_compose; a top-level calibration on op:point (DQ-VS-15 PROPOSED); any other value refused typed -- the service posts calibration { anchor_plan, law } with the cell's AS-RATED plan formed without a solve (the baseline carrier of the rated kind, as the certificate declares it: a kite plan keeps its headsail), and every plan's closing speed is solved under the anchor's hull-drag factor k inside the +-10 % bar (outside: k disclosed, not applied; unsolved: the typed word). The words: score_calibrated_kt and BS_edge_calibrated_kt on every scored record and winner-like row (three places; null where the engine's calibrated closing solve did not close); the per-cell block cell_calibration[i] on op:plan_grid (calibration on op:optimal's envelope, never on the core) with its sealed side-car block cell_calibration[i].sidecar where the call derived it; the caller posts the blocks back on sidecar_physics.calibration_anchor (per cell on op:plan_grid, one on op:point) and the ENGINE verifies them by its key (a refused block re-derived); the counters on meta.sidecar_physics.calibration_anchor. op:point where asRatedPlan names another plan than the anchor posts no word and discloses calibration { class unsolved, refusal as_rated_plan_differs_from_anchor }. Without the word every record is byte-still. The score of record stays score_kt (the ranking is unchanged).","epoch":"R16","since":"R11.81.0"},"r16_regime_defaults":{"label":"op:regime_defaults on calculate-r16: the boat's default regimes from its wardrobe by the served admission law (SRS-1; PROPOSED for R11.81.0)","description":"ADRD-MS-SRS-1 (DQ-SRS-MS-1 .. 5 (a)): one call { boat | boat_ref, schema_version, policy { sets, vintage, tws_splits? } } returns BOTH regime sets (edgeOrcRegimes: the certificate-declared rows in the older vintage; edgeMySailsRegimes: every row in the newer) in the App's regime shape { id, label, enabled, twaRange, twsRange, preferredFamily, sailPlan }, the wardrobe, the law block (the kind floors, the code upwind windows, the white authority ceiling 110, the contested band 90 .. 110, the set-flying word -- the served constants by name), the load report per band and the provenance { bandSource service_defaults, rule wardrobe_kind_taxonomy/1, engine }. The band edges are the law's own values; the authority read at each interval's midpoint; mixed kites: the family with the higher floor from its floor. No solve. A refusal is typed and HTTP 200: inventory_absent, no_main, no_headsail, schema_version_unsupported, invalid_policy, boat_ref_unknown. A document call returns meta.boat_ref (boat_ref/1, the plan ops' store). Since R11.82.0 the two lists share ONE envelope (r16_regime_defaults_shared_envelope; ADRD-MS-SRS-2): the band shape gains tier_source, regime_defaults gains envelope and request_schema_version, the schema reads regime_defaults/2 with schema_version 4, and the white tiers are classed by the headsail ordinal.","epoch":"R16","since":"R11.81.0"},"r16_request_identity_log":{"label":"The request identity on the function log line (DQ-HS1-MS-1; the usage census of record)","description":"Since R11.82.0 (DQ-HS1-MS-1 (a), RULED 2026-10-23 -- NOTE-MS-HS1-1; the App's HS-1 REQUEST of 2026-10-18, ask 1: the repeat fraction per op is the server log's): every calculate_response and calculate_rejection log entry carries request_identity -- a sha256 over the canonical JSON of the request's own identity (the law word request_identity/1, the service version, the op or mode, the boat's fingerprint (a sha256 over the posted document, or the posted boat_ref), the plan words (plan | planBaseline | sailState.request | sailState.candidates[].request | edges[].plan; the carrier's baseline), the option words (options, optimalPolicy, the calibration word), the cells (env | envGrid, BS_base_kt)) -- and session_key, the body's session_key echoed where it is a string of 1 .. 64 chars, else null, OUTSIDE the hash (the repeat census crosses sessions). Two byte-equal requests hash equal; a different plan, option word or cell hashes different. Nothing on any envelope moves; a leaf that cannot be formed reads null. The engine version rides the deployed service version (one engine per deploy). Both leaves are taken on the body AS POSTED, at entry, before any of the handler's in-place mutations (S4-7): the identity a rejection logs equals the identity the same bytes log accepted. session_key is admitted at the carrier gate on every op (the point, Edge, Optimal, merge and plan_grid lists); it is a log word only, never on any envelope. Locked by request-identity-tests.js RI-1 .. RI-5 (in the ratchet's GOVERNED array).","epoch":"R16","since":"R11.82.0"},"r16_hydro_derived_set_once_per_request":{"label":"The derived hydro set carried once per request (DQ-HS4-MS-2; one set per DOCUMENT FORM)","description":"Since R11.82.0 (DQ-HS4-MS-2 (a), DECIDED 2026-10-23 on the operator's word -- the App's REQUEST CLC-appr10-modelservice-20261023-08 and this lane's RESPONSEs -09 / -10): the engine's hand-back identity key is over the RAW boat document as the root received it (hydroDeterminants.js hydroDeterminantsKey), so the App's two document forms (the point / Edge lanes with the SP-1 fill-gate waiver; the Optimal / Explorer lane without) are two keys and a POINT-born set is refused boat_document on op:plan_grid / op:optimal -- correctly: one set per DOCUMENT FORM. So each form bears its own set: on EVERY op, under options.hydroDeterminants 'on', the chokepoint's thread keeps the request's FIRST set the engine DERIVED and carries it ONCE at meta.sidecar_physics.derived, verbatim as emitted (identity, provenance, variables, source derived, stats) -- present whenever at least one engine call derived (no set posted, or the posted set refused), ABSENT when the posted set was accepted on every call; never per cell, never the posted block (MS-G6 stands). The counters ride beside it as before (accepted true when a set was posted; accepted false with the zero counters under 'on' with nothing posted). The acceptance form: hand the form's set back; handback_accepted === engine_calls, refused 0, derived absent. Locked by hand-back-tests.js HB-12 .. HB-14.","epoch":"R16","since":"R11.82.0"},"r16_stage_order_rows_mirrored":{"label":"The engine's order stages and the set block's words on the Optimal stage row, presence-only (DQ-UD-2)","description":"Since R11.82.0 (DQ-UD-2 (a), RULED 2026-10-23 -- READING-MS-UD-1 sec. 5; the App's FINDING UAT-19 [V-UD-2]: the service dropped the engine's stage rows, so the App could not print the engine's word): on every Optimal / plan_grid stage row where the engine's Sailor's order ran (depower_at_limit_outcome present) the row carries, PRESENCE-ONLY and VERBATIM from the raw record, order_stages (physics.depowerAtLimit.stages: each stage's control, sails, member, engaged_sails, segment, outcome, value, probes, floor, floor_source, word, law, profile, requested_source; the change-down stage's target { sail_id, area_m2, family, flying, candidates }, basis, trigger, note), order_fallback where not null, and the applied-state record's controls.reef.set words reef_set_segment, reef_set_state, reef_set_floor, reef_set_floor_source, reef_set_orc_floor, reef_set_profile. Named after the engine's REAL keys read on 16.30.0 (the FINDING guessed rows / trigger). A row the order did not run is byte-identical; nothing reaches the ranking or the fill law. Locked by optimal-stage-row-words-tests.js W-6 (the key sets: STAGE_ROW_OPTIONAL v1_26).","epoch":"R16","since":"R11.82.0"},"r16_regime_defaults_shared_envelope":{"label":"op:regime_defaults serves both sets on ONE shared envelope (ADRD-MS-SRS-2; the Edge Map's parity)","description":"Since R11.82.0 (ADRD-MS-SRS-2, 2026-10-23 -- the operator's UAT of the App's Edge Map on INFERNO and SITELLA: the App's parity gate compares ids, labels, enabled states and TWA / TWS ranges ACROSS the two tabs, and SRS-1 served two per-set geometries with set-prefixed ids; the App's REQUEST CLC-appr10-modelservice-20261023-12 and RESPONSE -13; DQ-SRS2-1 (a), DQ-SRS2-3 (a), DQ-SRS2-5 (a)): the two lists edgeOrcRegimes and edgeMySailsRegimes are ONE envelope -- the same ids, labels, twaRange, twsRange and enabled (true) in both, each list binding in every piece the plan its OWN set bound there. The envelope: the TWS edges the union of the sets' upwind tiers, the TWA edges above 60 the union of the sets' segment edges; the ids upwind_<k> (k the tier index over the shared TWS edges, by TWS order -- the App's REQUEST CLC-appr10-modelservice-20261023-14: its served 10.2.3 keys saved boats on them), then white_<n> / kite_<n> / code_<n> numbered from 1 across the above-60 pieces (offwind_<n> where the sets disagree on the kind); the labels name the BAND, never a sail -- Upwind <lo>-<hi> kt, Reach <lo>-<hi> (+ (contested)), <FAMILY> <lo>-<hi> (Offwind <lo>-<hi> where the families differ); tier_source 'own' | 'inherited' on every band (the piece IS the set's own band, or a refinement of a coarser one -- INFERNO's ORC set with one jib carries J1-23 in every upwind tier, inherited). The faithfulness invariant: a set's plan at any cell is unchanged by the re-tiling. The words: regime_defaults.envelope 'shared' (the App's detector), schema regime_defaults/2, schema_version 4 with request_schema_version the posted word echoed (the App's '1.1.0' POST accepted as before; the lane's 3 alike); law.tws_by_set kept (each set's own splits) beside law.tws_envelope { edges, source union_of_sets, pieces } and law.twa_envelope_deg; the load_report rows re-keyed by the shared ids, one per set per piece, with own_id, own_twaRange, own_twsRange and tier_source. The policy hatch policy.envelope 'per_set' returns SRS-1's per-set lists (the invariant's reference; the App never posts it). THE WHITE TIERS (DQ-SRS2-5 (a) as refined by DQ-SRS2-6, law.white_tier_rule headsail_ordinal_then_distinct_area_classes_within_10pct/1): whites sharing a headsail ORDINAL (J1 / J1.5 / J2 / J3 / J4, read from the sail id then its label) are ONE class, the largest its bound, the rest its alternates; an un-ordinaled white joins the class whose bound's area lies nearest within 10 % (law.white_near_duplicate_fraction), else opens its own class; the tiers are counted over the classes (at most three, the largest bounds), the wardrobe heads J1 / J2 / J3 the class bounds and heads.other the rest. INFERNO's six whites: J1 { J1L-3Di, J1-23, J1-26 }, J2 { J2M-3Di, J2-26 }, J3 { J3H-3Di } -- the J1-26 is never a tier head (the artefact of SRS-1's size-rank tiering, TODO-MS-4). No physics; no leaf of any other op moves. Locked by regime-defaults-tests.js RD-11 .. RD-16 on the App's exact requests (fixtures/app_regime_defaults/, PIN.json) and RD-7 re-cut.","epoch":"R16","since":"R11.82.0"},"r16_edge_engine_two_plan_law":{"label":"The Edge Map on the engine's two-plan law (ADRD-MS-EL-1; OPT-IN, PROPOSED for R11.84.0)","description":"Since R11.84.0 (ADRD-MS-EL-1 as RULED, DQ-EL-1 .. 6 (a); the App's DQ-XE-6 REQUEST): OPT-IN -- under the top-level word calibration 'vs_1_polar_closure/1' on op:edge_delta_grid with the baseline on the carrier (sailState.baseline { request }), every Edge engine call posts the cell's as-rated anchor (the certificate plan of the rated kind, op:optimal's derivation) and the cell's delta is candidate minus baseline, BOTH the engine's calibrated closing speeds under the anchor's factor k (delta_kt, BS_edge_kt, BS_base_kt, seconds_per_nm_delta by Convention A); delta.calibration { class, value, applied, anchor_plan, baseline_is_anchor, baseline_residual_kt } and the per-cell sealed blocks on the response's calibration { law, cells, counts } (post them back as sidecar_physics.calibration_anchor[i]). A cell whose baseline block is not applied (k outside the bar, unsolved, or no as-rated plan) re-solves its plans without the word and serves the uncalibrated equilibrium delta AMBER: fallback uncalibrated_equilibrium, amber calibration_not_applied:<class>, the engine's refusal disclosed. delta.law names the law on every Edge delta under both forms: vs_1_polar_closure/1 under the word, edge_kernel_one_step/1 without (the no-word path's one new leaf; its numbers unchanged). The word on a legacy-baseline body is refused typed (calibration_requires_carrier_baseline). cert_delta_grid is untouched. No engine move. Since R11.85.0 (the App's FINDING of 2026-10-25): a cell whose block IS applied but whose calibrated closing solve does not close on a side is never a bare miss -- it carries amber calibration_solve_not_closed:<side> with the engine's refusal as delta.calibration.solve_refusal, re-solves both plans without the word under the service's speedSolve force and serves that equilibrium delta (fallback uncalibrated_equilibrium) where both close; where they cannot, the miss names delta.calibration.equilibrium <side>_not_closed.","epoch":"R16","since":"R11.84.0"},"r16_rm_profile_resolved_defaults":{"label":"The RM profile through the engine's resolver (RM-PROFILE-1 W2 (a); ADRD-MS-RMP-1)","description":"Since R11.90.0 (RM-PROFILE-1 W2 (a) on the operator's GO; ADRD-MS-RMP-1 D-1', DQ-RMP-1 .. 4 (a), 2026-10-27; PhysicsR16 16.39.0, the RM profile contract RM_PROFILE_POLICY/1): every kn_prior request on the R16 endpoints resolves its righting-moment profile through the engine's own resolveRmProfile before the solve. A request that names no profile and posts no RM words (rmModel and knPriorOpts absent, null or {}), or posts rmModel 'kn_prior' without knPriorOpts, runs the NAMED profile sailedge_served_2026 -- kn_prior on the canoe basis, exactly the words this service served before R11.90.0. options.rmProfileName may name sailedge_served_2026 or fleet_core_2026 (any other word refused typed: invalid_rmProfileName); a caller never posts a profile (options.rmProfile refused typed: rm_profile_caller_supplied); explicit RM words resolve as custom under their own id; rmModel cert and every other model pass as posted. Every kn_prior record carries the service-stamped block rm_profile { policy, name, id, basis, fil_state } (lifted onto the point envelope); the id is the engine's stable configuration identifier. The engine's rmProfileContract stays at its root word open (the verified physics.rm_profile leaf is not served).","epoch":"R16","since":"R11.90.0"},"r16_contested_anchor_pair":{"label":"The contested anchor pair at TWA 90 .. 110 (DQ-RK-1 (a); SPEC-MS-RK1-CP-1; OPT-IN)","description":"Since R11.89.0 (DQ-RK-1 (a) as ruled 2026-10-23; SPEC-MS-RK1-CP-1, DQ-RK1-1 .. 6 (a), 2026-10-27): OPT-IN -- under optimalPolicy.contestedPair 'rk1_contested_pair/1' (any other word refused typed: invalid_optimalPolicy_contestedPair), at every contested cell (TWA 90 .. 110 with a kite eligible; WHITE keeps the cell's authority and its anchor) the cell's baseline block carries contested_pair { law, other_kind KITE, plan (the kite kind's baseline carrier), anchor_plan (the white anchor, codeSailId null), fence (the intended-use word, or null), status, reason, closing_speed_delta_kt, seconds_per_nm, closing_law r_cb_7_delta_of_record/1 }: the two closing speeds by the point lane's own R-CB-7 law (Convention A: a positive delta, a negative seconds_per_nm, means the kite is faster). A disclosure, never a ranking: the winner, the authority, the anchor and the bar are unchanged. op:optimal computes it once per cell in the batch of index 0 (an unbatched request is its own batch 0) and optimal_merge carries batch 0's; op:plan_grid carries it per cell as core_plan_grid_response.cell_contested_pair[i] (null where the cell is not contested); op:regime_compose carries the App's handed cell_contested_pair verbatim on each cell's baseline under the same word (refused without the word or at a wrong length). Without the word no record carries the key.","epoch":"R16","since":"R11.89.0"},"r16_regime_windows":{"label":"op:regime_windows: the TWA / TWS window per row from the sail plans the App's tabs hold (SRS-3; the service never writes a sail plan)","description":"Since R11.82.0 (SRS-3, S4-10; ADRD-MS-SRS-2 Addendum 6; DQ-SRS2-7 (a) RULED 2026-10-23 on the operator's word -- the App's REQUEST CLC-appr10-modelservice-20261023-15 under its operator's requirement: the Edge Map's rows and their sail plans are the sailor's; the service looks up each row's wind window): one call { boat | boat_ref, schema_version, rows [ { id, orc: SailPlan, my_sails: SailPlan, enabled, twaRange?, twsRange?, twa_family? } ], policy? { tws_splits, vintage } } returns wind_regimes [ { id, twaRange, twsRange, label, contested, enabled, lookup { kind, kind_class, family, family_source, floor_deg, tier, tier_class, tier_decided_by, reconciled, decided_by, window_source, plan_words, my_sails_window?, shared_with? } } ] -- ONE window per row id shared by both tabs, in the rows' order, NEVER a sail plan, never a row added -- beside law (the served constants by name, the white tier rule, the tiers and the authority segments per tab) and unmatched [ { id, reason, tab } ] (a plan naming a sail not in the document: sail_not_in_inventory:<id>; a code sail that is not a kite or code; an upwind tier overflow). The rules are SRS-1 / SRS-2's re-keyed by ROW: the family from the PLAN (the code sail's declared kind, else WHITE; a white row's TWA family from twa_family, else the current window's TOP edge at or below the upwind ceiling 60 (upwind) or above it (reach), else upwind by default -- named in family_source (R11.93.0, the regime-lens REV row F-2: the text cured to what the code does)); the TWA window the law's own edges (whites upwind [0, 60] or reach [60, 90] / [90, 110] contested, never past the white authority ceiling; kites and codes the segment(s) the served authority walk assigns to the plan's kind on the row's tab, the other tab's where the own has none, the kind floor to 180 last and named) -- THE WALK RUNS OVER THE SAILS THE TAB'S POSTED ROWS CARRY, every posted sail admitted, never the inventory (RQ-3; the App's FINDING CLC-appr10-modelservice-20261023-18: an unflown kind in the inventory owns nothing -- INFERNO's S1.5-23 flown by no row, the A-sail rows own 110 .. 180); two or more rows of one kind on one TWS strip that posted distinct TWA windows partition the kind's lawful span at their posted interior edges (lookup.window_source kind_span_partitioned_at_posted_edges, kind_span, partition_edges), rows that posted the same window share it and say so (shared_with); the invariant: per tab the windows are pairwise disjoint and tile the law's domain the posted rows covered; the TWS tier by headsail ordinal among the upwind white rows of a tab (the classes over the rows' heads; the edges the policy's tws_splits or the polar grid in equal-count groups; at most three); reach, kite and code rows span the TWS domain. The reconciliation: both tabs looked up; the kinds and families agree -> reconciled agree (the finer tab's tiers where they differ, tier_decided_by); they differ -> the BASELINE (ORC) plan decides (reconciled baseline, decided_by orc) and the My Sails plan's own window rides beside as my_sails_window; one tab posted -> single. The plan's reef / furl / twist words are echoed in plan_words and move no window in this edition (V-RW-2 with PhysicsR16). The App's rows are a two-dimensional grid (its NOTICE CLC-appr10-modelservice-20261023-16): a non-upwind row KEEPS its posted twsRange (tws_source posted; only its TWA window is re-derived; V-RW-3); a white reach row takes the union of the white segments its current window overlaps (a row spanning 60 .. 115 reads the whole white authority 60 .. 110 with contested_band [90, 110] disclosed); a main id carrying a state suffix (MN-3Di_REEF1, Mn-24_TWIST, Main_REEF1 -- the App's convention) is read as the base main plus the plan word main_id_suffix. enabled is echoed, never moved. The labels name the band (Upwind <lo>-<hi> kt, Reach <lo>-<hi> (contested), <FAMILY> <lo>-<hi>). The cost weight 1; no solve. A refusal is typed and HTTP 200: inventory_absent, no_main, no_headsail, rows_absent, invalid_rows { row, why }, schema_version_unsupported, invalid_policy, boat_ref_unknown. Locked by regime-windows-tests.js RW-1 .. RW-10 on the App's exact INFERNO / SITELLA documents (the rows from the service's own shared envelope until the App's generator's row sets replace them). Since R11.93.0 (TODO-12; ADRD-MS-REG-1 DQ-REG-12 (a); the App YES CLC-appr10-modelservice-20261029-09): every row carries lookup.tws_floor_source -- posted (the row own lower bound, kept on the LOWEST upwind tier where it lies below the polar domain floor, as every non-upwind row keeps its posted range), polar_domain (the domain floor), ordinal_tier (an upper tier class boundary); and law.family_rule says what the code does -- a white row family is twa_family, else its current window TOP edge at or below the upwind ceiling 60 (upwind) or above it (reach), else upwind by default (named in family_source).","epoch":"R16","since":"R11.82.0"},"r16_column_guidance":{"label":"op:column_guidance: a large-pool column completable under no caps -- the trim guidance of a whole column derived from its fragments (NC-2 D-1)","description":"Since R11.93.0 (ADRD-MS-NC-2 D-1 as RULED 2026-10-26, DQ-NC2-1 (a); ADRD-MS-REG-1 DQ-REG-9 (a), 2026-10-29): a column too large for one merge is posted in CELL FRAGMENTS. Every op:optimal and op:optimal_merge envelope under the cs3 carrier carries sail_state.guidance.evidence[] -- per cell the winner { candidateKey, kind } and, per plan with evaluated stages, { plan, kind, full, station_label, station } (its FULL class and, where that FULL reads overpowered -- the one cell the walk reads the station -- its class at its kind reef station, null elsewhere: exactly what the guidance walk reads and nothing more) -- and sail_state.guidance_scope: fragment when the caller posts optimalPolicy.columnFragment true, else column. op:column_guidance { column: { cells: [ the fragments evidence rows, any order ] }, sailState? } returns column_guidance { scope column, law { rule column_guidance/1, derived_by deriveTrimGuidanceFromLadder, reef_station, kite_station, ladder_source declaration | served_default }, cells, columns: [ { TWA_deg, cells: [ { TWS_kt, winner, trimGuidance } ] } ] } -- the SAME walk the envelopes ran, over the records rebuilt from the evidence; ZERO solves, no boat, no physics; the ladder in force the server own (the declaration under the carrier, else the served defaults). A refusal is a 200 with ok false and a typed word (column_absent, cells_absent, invalid_cell, duplicate_cell, invalid_winner, invalid_plans, invalid_plan_evidence, station_mismatch). Proven in-tree (column-guidance-tests.js): the column whole == its fragments re-composed, byte-equal; the merged evidence == the monolithic; the winners independent of the fragmenting (V-NC2-1); on the served engine (16.40.1 under the sailors order) every FULL closes free and the served guidance is empty today -- the mechanism stands for the day a FULL reads overpowered.","epoch":"R16","since":"R11.93.0"},"r16_kind_winners_typed_out":{"label":"kinds_aboard: every kind aboard a cell gets an entry -- the pick, or the typed-out best with its reason (TODO-17)","description":"Since R11.93.0 (ADRD-MS-REG-1 DQ-REG-17 (a), 2026-10-29; the R11.90.0 release-bar reading, ADRD-MS-RMP-1 Addenda 9 / 10): kindWinners[] carries only the kinds with a RANKED pick, so a consumer could not tell no such kind aboard from the kind best was typed out, and why. Every core cell now carries kinds_aboard[] beside kindWinners[] -- ONE entry per kind with a candidate in the cell population, in KIND_ORDER: { kind, pick: { candidateKey, label, score_kt, resultStatus } | null (the compact pointer to the kind kindWinners entry; the summary lives there once), typed_out: { plan: { candidateKey, label, sailPlan }, reason_code, reason_codes, resultStatus, eligibility, candidates } | null (the kind best member by the comparator -- status, then score -- with its reason word: the eligibility word where the state was never ranked (deferred_reefed / deferred_twin_main / no_admissible_stage / halted / fenced / excluded), selection_halted on a withheld cell, else its first reason code, else no_ranked_member) }. The successor derives it from the WHOLE population (the typed-out states never reach the preview builder); the Law of Sailor Trim re-points the held kind pick; the merge re-derives it from the union (merged == monolithic, byte-equal); the legacy path carries it too. No physics, no ranking change; additive -- the kindWinners entries are untouched (kind-winners-typed-out-tests.js).","epoch":"R16","since":"R11.93.0"},"r16_optimal_budget_guard":{"label":"The service-side budget guard on monolithic op:optimal bodies: optimal_over_budget, never a timeout (TODO-19)","description":"Since R11.93.0 (ADRD-MS-REG-1 DQ-REG-19 (a), 2026-10-29; the register row from ADRD-MS-RMP-1 DQ-RMP-15 (a)): before any solve, handleOptimal estimates estimate_ms = cells x candidates x publish_factor x OPTIMAL_MS_PER_SOLVE over the candidates THIS body solves (the batch slice, or the pool) and refuses typed where it exceeds OPTIMAL_BUDGET_CEILING_MS: HTTP 400 rejected, error.code optimal_over_budget, reasons [optimal_over_budget], violatedRule optimal_budget_guard/1, details { cells, candidates, publish_factor, ms_per_solve, estimate_ms, ceiling_ms, fits_about_cells }. The constant 120 ms per cell-candidate is the wave measurement row [V-REG-1] (75 .. 81 ms in-process on the served tree, x 1.5 safety; the platform own floor above 104 ms agrees); the ceiling 24000 ms is 80 pct of the platform 30-s limit; the publish factor is the rate limiter own (1 + min(1, alternates) under the tier-3 sidecar, else 1). ONE body of a whole column with the pool whole (9 cells x the served pool of 32 = 288 solves) answered the platform 502 / 504 past 30 s on every deploy since R11.90.0 (F-LIVE-5); it is now refused typed inside the request (34560 ms estimated; about 6 cells of a 32-pool fit one body); the App batches of 4 over 9 cells (4320 ms estimated) are admitted. Post a large column in cell fragments or candidate batches (optimal-budget-guard-tests.js). The in-process batteries that are the oracle of the monolithic path lift the guard by its named seam SAILEDGE_OPTIMAL_BUDGET_GUARD=off at their head; production never sets it.","epoch":"R16","since":"R11.93.0"},"compat_legacy_envelope":{"label":"Legacy envelope compat (disabled)","description":"Legacy response envelope compatibility is disabled; flag stays declared false.","epoch":"R10"}},"attestations":{"tier_independent_physics_solve":{"ok":true,"signature":"eeb5da5cc9471e6f","tiers":[1,3],"variants":{"free":{"ok":true,"signature":"ca7d4f54d18bf964"},"saturated":{"ok":true,"signature":"ea37cec6ddf8f3f3","clamp_bound":true}},"boat":"sitella","cell":{"TWA_deg":90,"TWS_kt":8},"physics":{"package":"@sailedge/physics","version":"11.38.0","sha":"934e9fb40b3a35c9d2b3c97e22ddced83da335a1"},"solved_at":"2026-10-30T12:40:56.307Z","elapsed_ms":841}},"timestamp":"2026-10-30T12:40:56.309Z"}