FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Review issues — fhsim_base

Findings from code review that await an owner decision or an implementation. Each issue is one file in issues/details/, which holds the evidence, the effect, the possible fix, the test that would prove it and the risk. Resolved issues are kept in issues/resolved/ so that their numbers are never reused. Issues that concern a SimObject are also shown on that model's documentation page. Audit notes that are not issues are in issues/notes.md.

How to work an item

  1. Reproduce the Evidence at the file:line given in the detail file, at HEAD.
  2. For a blocked item, get the owner's answer to "Decision needed" first, then set Status to ready.
  3. Write the proving test, apply the fix, check the Risk paragraph.
  4. git mv the file to issues/resolved/, add a **Resolved:** <commit>, <date> paragraph after the table, delete the matching \xrefitem reviewissue "Review issues" "Review issues" \ref fhsim_base_issue_<ID> lines from the headers, rerun the script and commit it all together.

New issue: --new <slug> "<title>", or add issues/details/<slug>.md with the metadata table but no ID row; the script assigns the next free number, writes the heading and renames the file to <TAG>-<ID>-<slug>.md.

Legend

  • Class
    • BUG code does something other than its documentation or sibling code says
    • KNOWN-LIMITATION behaviour gap by design or omission, document rather than fix silently
    • ARCHITECTURE structure, dependencies, build layout, dead code and stale artefacts
    • DOCUMENTATION missing or wrong documentation or example
    • TEST test coverage or infrastructure
    • API public name (port, state, parameter, registration string) whose change breaks input files
    • SECURITY credentials and supply chain
  • Severity
    • 3 wrong numbers, a crash or a secret exposure reaches a user
    • 2 a documented interface does not work as documented
    • 1 tidiness, readers and tools only
  • Status
    • blocked needs the owner decision named in the file
    • ready fully specified

Open issues (0)

| ID | Class | Severity | Status | |—|—|—|—|

Resolved issues (104)

  • BASE-0001 (API) — TorpedoAnchor registers its angular-velocity output port as lowercase omega. Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0001-torpedoanchor-omega-port-lowercase.md
  • BASE-0002 (BUG) — TorpedoAnchor documents a ShankFlukeAngle parameter it never reads. Resolved: e2dad78, 2026-09-15. File: resolved/BASE-0002-torpedoanchor-documents-a-shankflukeangle-parameter.md
  • BASE-0003 (DOCUMENTATION) — CLinearSpring documents two output ports it never registers. Resolved: e58d24e, 2026-09-15. File: resolved/BASE-0003-clinearspring-documents-two-output-ports.md
  • BASE-0004 (DOCUMENTATION) — CLowPass claims no initial conditions but seeds its state from its input. Resolved: 8a8d9e6, 2026-09-15. File: resolved/BASE-0004-clowpass-claims-no-initial-conditions.md
  • BASE-0005 (DOCUMENTATION) — Shipped models say LibName="base", all documentation says LibName="fhsim_base". Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0005-libname-base-versus-fhsim-base.md
  • BASE-0006 (DOCUMENTATION) — CNorrbinTanker's option tables are an unfilled template. Resolved: 22efd02, 2026-09-15. File: resolved/BASE-0006-cnorrbintankers-option-tables-are-an-unfilled.md
  • BASE-0007 (BUG) — KalmanPendulum documents AngleVelocityNoise; the code reads AngularVelocityNoise, and MeasurementNoise is undocumented. Resolved: d718b26, 2026-09-15. File: resolved/BASE-0007-kalmanpendulum-documents-anglevelocitynoise-the-code-reads.md
  • BASE-0008 (API) — C6DBody: registered state name Quater — keep or rename?. Resolved: a2da710, 2026-09-16. File: resolved/BASE-0008-c6dbody-quater-state-name.md
  • BASE-0009 (DOCUMENTATION) — CDistArrow and CSimpleBillboardArrow document TextSize; both read TxtSize. Resolved: 939afb4, 2026-09-15. File: resolved/BASE-0009-cdistarrow-and-csimplebillboardarrow-document-textsize-both.md
  • BASE-0010 (DOCUMENTATION) — CCameraController2 documents a Times parameter; the code reads Time. Resolved: 939afb4, 2026-09-15. File: resolved/BASE-0010-ccameracontroller2-documents-a-times-parameter.md
  • BASE-0011 (BUG) — CDistArrow binds its PosA and PosB input ports to the opposite members. Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0011-cdistarrow-posa-posb-swapped.md
  • BASE-0012 (DOCUMENTATION) — CIntegrator has an undocumented ICFromPort parameter and a conditional IC input port. Resolved: 8a8d9e6, 2026-09-15. File: resolved/BASE-0012-cintegrator-has-an-undocumented-icfromport-parameter.md
  • BASE-0013 (DOCUMENTATION) — VirtualCurrent reads an undocumented MaximumCurrent parameter. Resolved: dfbac9c, 2026-09-15. File: resolved/BASE-0013-virtualcurrent-reads-an-undocumented-maximumcurrent-parameter.md
  • BASE-0014 (DOCUMENTATION) — CSignalList reads an undocumented PortWidth parameter. Resolved: dfbac9c, 2026-09-15. File: resolved/BASE-0014-csignallist-reads-an-undocumented-portwidth-parameter.md
  • BASE-0015 (DOCUMENTATION) — HydroCable registers two undocumented output ports PosA and PosB. Resolved: e58d24e, 2026-09-15. File: resolved/BASE-0015-hydrocable-registers-two-undocumented-output-ports.md
  • BASE-0016 (ARCHITECTURE) — Samplifier registers a SamplifierDummy state while documenting no initial conditions. Resolved: 8a8d9e6, 2026-09-15. File: resolved/BASE-0016-samplifier-registers-a-samplifierdummy-state-while.md
  • BASE-0017 (DOCUMENTATION) — The visualisation-only Material parameter is undocumented in three classes. Resolved: e2dad78, 2026-09-15. File: resolved/BASE-0017-the-visualisation-only-material-parameter.md
  • BASE-0018 (DOCUMENTATION) — CDemux's parameter table misspells the OutPortWidth<N> range. Resolved: dfbac9c, 2026-09-15. File: resolved/BASE-0018-cdemuxs-parameter-table-misspells-the-outportwidth.md
  • BASE-0019 (BUG) — FlukeAnchor registers its quaternion state with no default, unlike TorpedoAnchor. Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0019-flukeanchor-quaternion-no-default.md
  • BASE-0020 (DOCUMENTATION) — Indexed states are documented as Name[i] but registered as Name1 .. NameN. Resolved: 1c6ea37, 2026-09-15. File: resolved/BASE-0020-indexed-states-are-documented-as-name.md
  • BASE-0021 (BUG) — Jacobian callbacks are indexed with global state offsets, so they are wrong for any object that is not first. Resolved: 17344c0, 2026-09-24. File: resolved/BASE-0021-jacobian-callbacks-indexed-with-global-state-offsets.md
  • BASE-0022 (TEST) — CSignalList, CLinearMapping and CProgressBar have no automated test. Resolved: 09ea1c0, 2026-09-24. File: resolved/BASE-0022-base-blocks-no-test.md
  • BASE-0023 (TEST) — The seven camera and billboard SimObjects have no automated test. Resolved: 57e7cfa, 2026-09-24. File: resolved/BASE-0023-base-camera-visual-no-test.md
  • BASE-0024 (TEST) — CIntegrator and CLinearSystem port Jacobians are never checked against a connected neighbour. Resolved: f54c324, 2026-09-24. File: resolved/BASE-0024-base-integrator-linearsystem-port-jacobians-untested.md
  • BASE-0025 (BUG) — C6DBody's analytic Jacobian omits the gravity/quaternion coupling its ODE has, and the check is disabled. Resolved: 0d69b27, 2026-09-24. File: resolved/BASE-0025-base-c6dbody-jacobian-omits-gravity-rotation.md
  • BASE-0026 (TEST) — CBall's Auto Jacobian check never perturbs into the contact regime its Jacobian omits. Resolved: b927e0e, 2026-09-24. File: resolved/BASE-0026-base-cball-jacobian-check-never-engages-contact.md
  • BASE-0027 (TEST) — TorpedoAnchor and FlukeAnchor's partial Jacobians are never checked, even for the implemented terms. Resolved: d125782, 2026-09-24. File: resolved/BASE-0027-base-torpedoanchor-flukeanchor-jacobian-unverified.md
  • BASE-0028 (TEST) — CNorrbinTanker's Jacobian check is disabled, so the implemented terms are never verified. Resolved: 6583d80, 2026-09-24. File: resolved/BASE-0028-base-norrbintanker-jacobian-and-baseline-unverified.md
  • BASE-0029 (TEST) — Nine Example/Kalman/Adaptive SimObjects have zero automated test coverage. Resolved: 9cb9889, 2026-09-24. File: resolved/BASE-0029-base-nine-simobjects-zero-test-coverage.md
  • BASE-0030 (TEST) — Samplifier's regression test is disabled over a cross-platform random-number discrepancy. Resolved: 0aefb86, 2026-09-24. File: resolved/BASE-0030-base-samplifier-test-disabled-cross-platform-rng.md
  • BASE-0031 (ARCHITECTURE) — Six commented-out ADD_SIMOBJECT_REF lines reference dead or nonexistent classes. Resolved: 4d1ccd6, 2026-09-24. File: resolved/BASE-0031-base-dead-simobject-registration-comments.md
  • BASE-0032 (TEST) — CNorrbinTanker's regression baseline may be an unvalidated placeholder. Resolved: d945958, 2026-09-24. File: resolved/BASE-0032-base-norrbintanker-baseline-placeholder.md
  • BASE-0033 (BUG) — Ten more SimObjects index their OdeJacobian with global state offsets, as BASE-0021 did. Resolved: 5ba98d3, 2026-09-24. File: resolved/BASE-0033-jacobian-global-offsets-in-ten-more-simobjects.md
  • BASE-0034 (BUG) — C6DBody's quaternion rows are about twice what finite differences give. Resolved: 73238fb, 2026-09-24. File: resolved/BASE-0034-c6dbody-quaternion-jacobian-twice-finite-difference.md
  • BASE-0035 (KNOWN-LIMITATION) — Cable's Jacobian omits the drag derivatives, and two test inputs start the end segments on the slack/taut kink. Resolved: 132936e, 2026-09-24. File: resolved/BASE-0035-cable-jacobian-omits-drag-and-ic-on-kink.md
  • BASE-0036 (BUG) — CNorrbinTanker's derivative is NaN next to u = 0, and a moving start integrates to NaN within milliseconds. Resolved: 9178605, 2026-09-24. File: resolved/BASE-0036-norrbintanker-nan-at-rest-and-from-moving-state.md
  • BASE-0037 (BUG) — BillboardArrow's destructor deletes uninitialised pointers when RenderInit never ran. Resolved: 57e7cfa, 2026-09-24. File: resolved/BASE-0037-billboardarrow-deletes-uninitialised-pointers-without-rendering.md
  • BASE-0038 (BUG) — CameraShot dereferences an uninitialised screenshot manager when RenderInit never ran. Resolved: 57e7cfa, 2026-09-24. File: resolved/BASE-0038-camerashot-crashes-without-rendering.md
  • BASE-0039 (KNOWN-LIMITATION) — HydroCable and CablePendulum Jacobians omit the drag derivatives. Resolved: db76853, 2026-09-24. File: resolved/BASE-0039-hydrocable-cablependulum-jacobian-omits-drag.md
  • BASE-0040 (BUG) — VirtualCurrent and CablePendulum crash when the model has no Environment. Resolved: 9cb9889, 2026-09-24. File: resolved/BASE-0040-virtualcurrent-cablependulum-crash-without-environment.md
  • BASE-0041 (BUG) — CBall caches its forces by time alone, so a second evaluation at the same time with other states returns stale forces. Resolved: 4d11065, 2026-09-24. File: resolved/BASE-0041-cball-force-cache-keyed-on-time-only.md
  • BASE-0042 (BUG) — Six SimObjects read input ports inside OdeJacobian with their local state slice. Resolved: 2d949b2, 2026-09-24. File: resolved/BASE-0042-jacobian-port-reads-use-local-state-slice.md
  • BASE-0043 (BUG) — CNorrbinTanker's sway force uses Yuvz for Yvvz, and applies Yuvz in deep water. Resolved: 67de080, 2026-09-24. File: resolved/BASE-0043-norrbintanker-sway-shallow-water-terms.md
  • BASE-0044 (BUG) — CNorrbinTanker ignores the shallow-water added mass Xduz, Ydvz and Ndrz. Resolved: 321fb66, 2026-09-24. File: resolved/BASE-0044-norrbintanker-shallow-water-added-mass-unused.md
  • BASE-0045 (DOCUMENTATION) — CNorrbinTanker does not say the units of its EngineRPM state or its Engine input. Resolved: f851e41, 2026-09-24. File: resolved/BASE-0045-norrbintanker-shaft-speed-units-undocumented.md
  • BASE-0046 (DOCUMENTATION) — README names the test conf tools.build:skip_tests, which Conan rejects. Resolved: see commit "Name the Conan test switch tools.build:skip_test in the README", 2026-09-26. File: resolved/BASE-0046-readme-skip-tests-conf-name.md
  • BASE-0047 (BUG) — CNorrbinTanker loads tanker.scene by default, which no repository ships, so the tanker is invisible. Resolved: see commit "Draw the tanker with the shipped hull mesh when no Scene is given", 2026-09-26. File: resolved/BASE-0047-norrbintanker-default-scene-missing.md
  • BASE-0048 (BUG) — CNorrbinTanker applies ScaleX/Y/Z to a loaded scene's root node and again to each of its child nodes. Resolved: 99b71e6, 2026-09-30. File: resolved/BASE-0048-norrbintanker-scene-scale-applied-twice.md
  • BASE-0049 (BUG) — CNorrbinTanker does not report an unknown ModelType and silently uses the bernica data. Resolved: 99b71e6, 2026-09-30. File: resolved/BASE-0049-norrbintanker-unknown-modeltype-silently-bernica.md
  • BASE-0050 (DOCUMENTATION) — CHANGELOG and testing report say the tests need fhsim/3.2.0@sintef/jaccheck; fhsim/3.2.0@sintef/stable already has scopeOverrides. Resolved: b303e2f, 2026-09-30. File: resolved/BASE-0050-changelog-claims-tests-need-jaccheck-fhsim.md
  • BASE-0051 (ARCHITECTURE) — fhsim_base 4.0.1 requires fhsim_environment/[^3.2.0]; consumers of fhsim_environment 4.0 conflict. Resolved: see commit "fhsim_base admits fhsim_environment 4: requirement widened to [>=3.2.0 <5] (BASE-0051)", 2026-09-28. File: resolved/BASE-0051-fhsim-environment-4-range-conflict.md
  • BASE-0052 (ARCHITECTURE) — Installed headers include fhsim_environment, but the requirement does not propagate its headers. Resolved: e7913c2, 2026-09-30. File: resolved/BASE-0052-environment-headers-not-transitive.md
  • BASE-0053 (DOCUMENTATION) — The fhsim_environment range admits two wake semantics, and the CHANGELOG says only "No source change". Resolved: b303e2f, 2026-09-30. File: resolved/BASE-0053-changelog-silent-on-wake-semantics.md
  • BASE-0054 (KNOWN-LIMITATION) — Base objects take water density from the environment, fixed at 1025, while net and fishery objects have a Rho parameter. Resolved: 774b4c8, 2026-09-30. File: resolved/BASE-0054-water-density-not-configurable.md
  • BASE-0055 (BUG) — Cable gives NaN forces for a segment at rest on the seabed. Resolved: see commit "Fix the seabed NaN, the wave-elevation sign and the polyplate water-velocity frame; file BASE-0058 to BASE-0066", 2026-09-28. File: resolved/BASE-0055-cable-nan-at-rest-on-seabed.md
  • BASE-0056 (BUG) — Cable and CHydroCylinder test "in water" with the wrong sign of the wave elevation. Resolved: see commit "Fix the seabed NaN, the wave-elevation sign and the polyplate water-velocity frame; file BASE-0058 to BASE-0066", 2026-09-28. File: resolved/BASE-0056-wave-elevation-sign-in-cable-and-cylinder.md
  • BASE-0057 (BUG) — Polyplate hydrodynamics subtracts a body-frame velocity from a global water velocity. Resolved: see commit "Fix the seabed NaN, the wave-elevation sign and the polyplate water-velocity frame; file BASE-0058 to BASE-0066", 2026-09-28. File: resolved/BASE-0057-polyplate-water-velocity-frame.md
  • BASE-0058 (KNOWN-LIMITATION) — Surface piercing in Cable and the rigid bodies: a step at the mean or wave surface, no shape-correct submerged volume. Resolved: see commit "Cable, CHydroCylinder and the polyplate submerge against the wave surface with their shape (R66)", 2026-09-28. File: resolved/BASE-0058-surface-piercing-against-mean-surface.md
  • BASE-0059 (KNOWN-LIMITATION) — Base Cable and rigid bodies ignore the water particle acceleration: no Froude–Krylov or added-mass excitation in waves. Resolved: see commit "Cable takes the Froude-Krylov and added-mass wave excitation (R67)", 2026-09-28. File: resolved/BASE-0059-no-froude-krylov-excitation.md
  • BASE-0060 (BUG) — Cable applies the normal drag coefficient along the axis; the axial drag drops sevenfold near 1.7°. Resolved: see commit "Cable's axial drag is skin friction (R68)", 2026-09-28. File: resolved/BASE-0060-cable-tangential-drag-equals-normal.md
  • BASE-0061 (BUG) — Cable's Cd(Re) fit is discontinuous at Re = 14, and its constant differs from the one in TrawlCable. Resolved: 7af1a35, 2026-10-04. File: resolved/BASE-0061-cable-drag-fit-discontinuous-at-re-14.md
  • BASE-0062 (BUG) — CHydroCylinder's axial added mass uses the integer division 4 / 3 = 1. Resolved: see commit "CHydroCylinder's axial added mass is (4/3) rho pi R^3 (R73)", 2026-09-28. File: resolved/BASE-0062-hydrocylinder-axial-added-mass-integer-division.md
  • BASE-0063 (BUG) — CHydroCylinder's Gauss quadrature doubles the lateral load, and its end-face drag has an extra length. Resolved: 6f912fe, 2026-09-30. File: resolved/BASE-0063-hydrocylinder-gauss-quadrature-doubles-load.md
  • BASE-0064 (ARCHITECTURE) — Cable evaluates the wave sum three times per segment and right-hand side. Resolved: commits "Cable: sample each segment once per OdeJacobian, for its forces, wetted fraction and Jacobian (BASE-0064)" (8d224f8) and the test commit eb49e95, 2026-10-13 (feature base-perf-0064-0065; owner brief 2026-10-13: performance fixes only when bit-identical). File: resolved/BASE-0064-cable-redundant-wave-sums-per-segment.md
  • BASE-0065 (ARCHITECTURE) — Polyplate soil forces allocate on the heap on every right-hand side. Resolved: commit "Polyplate: split the plate in fixed-size buffers, no heap allocation per right-hand side (BASE-0065)" (da022b1) and the test commit eb49e95, 2026-10-13 (feature base-perf-0064-0065; owner brief 2026-10-13: fixed-size stack buffers, bit-identical). File: resolved/BASE-0065-polyplate-heap-allocation-per-call.md
  • BASE-0066 (BUG) — Polyplate soil forces place the submerged centroid with q.conjugate(), the inverse rotation. Resolved: see commit "Polyplate soil forces sample the seabed with q, not its inverse (R74)", 2026-09-28. File: resolved/BASE-0066-polyplate-soil-centroid-rotated-with-conjugate.md
  • BASE-0067 (KNOWN-LIMITATION) — The anchors' rigid bodies have no buoyancy: CRigidCylinder and CRigidPolyplate apply their dry weight in water. Resolved: see commit "The anchors' shank and flukes carry the buoyancy of their wetted volume (R94)", 2026-09-28. File: resolved/BASE-0067-anchors-rigid-bodies-have-no-buoyancy.md
  • BASE-0068 (KNOWN-LIMITATION) — Cable's node inertia has no added mass: the R67 wave excitation acts without the added-mass reaction. Resolved: see commit "Cable's nodes carry the added mass of their wetted half-segments (R93)", 2026-09-28. File: resolved/BASE-0068-cable-no-added-mass-in-node-inertia.md
  • BASE-0069 (BUG) — Polyplate soil skin friction divides by a zero in-plane speed: NaN forces for a fluke at rest in the seabed. Resolved: see commit "Polyplate soil friction has direction 0 at rest, not 0/0 (BASE-0069)", 2026-09-28. File: resolved/BASE-0069-polyplate-soil-friction-nan-at-rest.md
  • BASE-0070 (BUG) — Cable's node mass is cableLength/numElements of cable while its loads come from numElements+1 segments: a free cable falls at g N/(N+1). Resolved: see commit "Cable's free nodes carry one segment's mass, as its loads are lumped (R96)", 2026-09-28. File: resolved/BASE-0070-cable-node-mass-and-segment-loads-disagree.md
  • BASE-0071 (TEST) — Template-Input_Cable samples an arbitrary phase of an undamped ringing: its baseline jumps with every inertia change. Resolved: see commit "Template-Input_Cable compares resolved and settled forces (R97)" and "Baselines for R97", 2026-09-28. File: resolved/BASE-0071-template-input-cable-samples-a-ringing-phase.md
  • BASE-0072 (BUG) — C6DBody integrates its body-frame velocities without the rigid-body ω × terms. Resolved: see commit "C6DBody integrates with the rigid-body omega terms (R100)", 2026-09-28. File: resolved/BASE-0072-c6dbody-missing-rigid-body-omega-terms.md
  • BASE-0073 (BUG) — CHydroCylinder pairs the three-point Gauss-Legendre weights with the two-point nodes ±1/√3. Resolved: e97f462, 2026-09-30. File: resolved/BASE-0073-hydrocylinder-gauss-nodes-are-two-point.md
  • BASE-0074 (BUG) — CablePendulum divides the cable's pull on the ball by the cable's mass. Resolved: dbb159c, 2026-10-04. File: resolved/BASE-0074-cablependulum-ball-accelerated-by-cable-mass.md
  • BASE-0075 (BUG) — CablePendulum's MidpointPosition is one internal point too far down for an odd count, and out of range for one. Resolved: d22aa6e, 2026-10-04. File: resolved/BASE-0075-cablependulum-midpoint-off-by-one.md
  • BASE-0076 (BUG) — Cable's normal drag acts on the full relative velocity and overstates the axial drag in oblique flow. Resolved: 33feee4, 2026-10-04. File: resolved/BASE-0076-cable-normal-drag-on-full-relative-velocity.md
  • BASE-0077 (BUG) — HydroCable and CablePendulum's cable drag scales both components with |v| (1.1 w_perp + 0.1 w_par). Resolved: f742789 (fix), b04a076 (baselines), 2026-10-04. File: resolved/BASE-0077-hydrocable-cablependulum-drag-not-independence.md
  • BASE-0078 (KNOWN-LIMITATION) — Sink/Progress rewrites its output file on every accepted step. Resolved: commits "Sink/Progress writes its file only when the percentage changes (BASE-0078)" (99c2559) and "Sink/Progress writes its file at most every 0.5 s and at the end (BASE-0078)", 2026-10-11. File: resolved/BASE-0078-progress-file-write-per-step.md
  • BASE-0079 (BUG) — The installed cable/Cable.h includes JacobianStates.h, which is not installed. Resolved: see commit "Refactor: base uses fhsim's StateFrame; src/JacobianStates.h deleted (E12 task 9, BASE-0079)", 2026-10-15. File: resolved/BASE-0079-installed-cable-header-includes-uninstalled-jacobianstates.md
  • BASE-0080 (BUG) — Polyplate soil force caps the plus side with the sea depth (CalcSoilforcesPolyplate). Resolved: bcb2d17 (feature seabed-contact, plan D1 phase 2, B1), 2026-10-17: gone with the old code. CalcSoilforcesPolyplate is deleted; the fluke asks the environment's Plate for its soil load, one law on both sides of the plate with no sea-depth term.. File: resolved/BASE-0080-polyplate-soil-plus-side-sea-depth-cap.md
  • BASE-0081 (BUG) — Soil cylinder end cap bearing is twice the disc area (CHydroSoilCylinder). Resolved: see the fix commit "BASE-0081" on feature/seabed-pins, 2026-10-16. File: resolved/BASE-0081-soil-cylinder-end-cap-double.md
  • BASE-0082 (BUG) — ProgressBar never restores std::cout and CProgressBar leaks it. Resolved: see the fix commit "BASE-0082" on fix/t1-timeout-scale, 2026-10-19. File: resolved/BASE-0082-progressbar-leaves-cout-redirected.md
  • BASE-0083 (ARCHITECTURE) — Cable.cpp addWaveInertia duplicates environment cylinder_hydro::MorisonInertiaForce. Resolved: feature/fix_issues, 2026-10-21. File: resolved/BASE-0083-cable-wave-inertia-use-env-morison-force.md
  • BASE-0084 (ARCHITECTURE) — HydroCable and CablePendulum repeat the node position and velocity lookup in Drag, Spring and StructuralForce. Resolved: feature/fix_issues, 2026-10-21. File: resolved/BASE-0084-hydrocable-cablependulum-node-lookup-helper.md
  • BASE-0085 (ARCHITECTURE) — Own drag and added-mass models outside the environment laws (ADR 0002). Resolved: feature/fix_issues, 2026-10-21. File: resolved/BASE-0085-own-hydro-models-vs-env-laws.md
  • BASE-0086 (BUG) — HydroCable fixes the water density at 1000 instead of the environment default 1025. Resolved: feature/fix_issues, 2026-10-21. File: resolved/BASE-0086-hydrocable-water-density-env-default.md
  • BASE-0087 (BUG) — Math/LinearSystem overflows its output buffer; the matrix parser drops spaces wrongly and accepts trailing text. Resolved: feature/base-fail-loudly, 2026-10-24. File: resolved/BASE-0087-matrix-blocks-overflow-and-parser.md
  • BASE-0088 (BUG) — ExternalLinkStandard gives port 0 and inserts a port for an unknown name. Resolved: feature/base-fail-loudly, 2026-10-24. File: resolved/BASE-0088-externallinkstandard-unknown-name-is-port-zero.md
  • BASE-0089 (BUG) — ZeroDynamics writes its zero initial condition at local indices into the global buffer. Resolved: feature/base-fail-loudly, 2026-10-24. File: resolved/BASE-0089-zerodynamics-initial-condition-local-index.md
  • BASE-0090 (BUG) — CSVSink destroys an uninitialised stream pointer, ignores a failed open and ignores suppressed file output. Resolved: feature/base-fail-loudly, 2026-10-24. File: resolved/BASE-0090-csvsink-uninitialised-stream.md
  • BASE-0091 (BUG) — ProgressBar prints a message written to cout at every later step. Resolved: feature/base-fail-loudly, 2026-10-24. File: resolved/BASE-0091-progressbar-message-printed-every-step.md
  • BASE-0092 (BUG) — Clock elapsed wall time is a field-wise difference and WallTime uses the non-reentrant localtime. Resolved: feature/base-fail-loudly, 2026-10-24. File: resolved/BASE-0092-clock-elapsed-wall-time-fieldwise.md
  • BASE-0093 (BUG) — VirtualCurrent destructor uses an unset Environment pointer; depths are not checked to increase. Resolved: feature/base-fail-loudly, 2026-10-24. File: resolved/BASE-0093-virtualcurrent-unset-environment-and-depth-order.md
  • BASE-0094 (BUG) — VirtualCurrent writes its current limit into the state in PreOdeFcn, which has no effect under SUNDIALS. Resolved: 9bbbb8c, 2026-10-25. File: resolved/BASE-0094-virtualcurrent-limit-written-to-state.md
  • BASE-0095 (ARCHITECTURE) — cmake -P scripts have no cmake_minimum_required. Resolved: 5417aa6, 2026-10-26 (feature/win-cleanup).. File: resolved/BASE-0095-portability-cmake-script-minimum-version.md
  • BASE-0096 (BUG) — Logic XOR is true for no active input and false for three or more. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0096-logic-xor-of-three-inputs.md
  • BASE-0097 (BUG) — Ramp ignores StopTime when it is not positive and accepts StopTime before StartTime. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0097-ramp-stop-time-not-positive.md
  • BASE-0098 (BUG) — Chirpsignal phase before TargetTime doubles the frequency sweep, and is discontinuous at TargetTime. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0098-chirp-phase-is-twice-the-integral.md
  • BASE-0099 (BUG) — Src/Random is documented as normal, is time-seeded and global-seeded, and draws a new number on every evaluation. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0099-random-time-seeded-and-redrawn-per-evaluation.md
  • BASE-0100 (BUG) — Samplifier drifts from its sampling instants, and AvgLostSamples has no effect. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0100-samplifier-fixed-instants-and-loss-bursts.md
  • BASE-0101 (BUG) — Math/Derivative differences against the last evaluation, so stages that share a time give 0. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0101-derivative-differences-against-last-evaluation.md
  • BASE-0102 (BUG) — Vessels/Tanker divides its Force input by DISPL g rho and its Torque by DISPL g rho Lpp. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0102-tanker-force-and-torque-units.md
  • BASE-0103 (BUG) — 6DBody InertiaRadi gives the moment of inertia Mass * r, not Mass * r^2. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0103-sixdbody-inertiaradi-is-not-squared.md
  • BASE-0104 (BUG) — TorpedoAnchor and FlukeAnchor never normalise their quaternion. Resolved: feature/base-signals, 2026-10-29. File: resolved/BASE-0104-anchor-quaternion-has-no-norm-feedback.md