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 row 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> | row, 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: 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

Tag Values
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 | Models | Title | |—|—|—|—|—|—|

Resolved issues (20)

ID Class Title Resolved File
BASE-0001 API TorpedoAnchor registers its angular-velocity output port as lowercase omega 4fa41d3, 2026-09-16 resolved/BASE-0001-torpedoanchor-omega-port-lowercase.md
BASE-0002 BUG TorpedoAnchor documents a ShankFlukeAngle parameter it never reads e2dad78, 2026-09-15 resolved/BASE-0002-torpedoanchor-documents-a-shankflukeangle-parameter.md
BASE-0003 DOCUMENTATION CLinearSpring documents two output ports it never registers e58d24e, 2026-09-15 resolved/BASE-0003-clinearspring-documents-two-output-ports.md
BASE-0004 DOCUMENTATION CLowPass claims no initial conditions but seeds its state from its input 8a8d9e6, 2026-09-15 resolved/BASE-0004-clowpass-claims-no-initial-conditions.md
BASE-0005 DOCUMENTATION Shipped models say LibName="base", all documentation says LibName="fhsim_base" 4fa41d3, 2026-09-16 resolved/BASE-0005-libname-base-versus-fhsim-base.md
BASE-0006 DOCUMENTATION CNorrbinTanker's option tables are an unfilled template 22efd02, 2026-09-15 resolved/BASE-0006-cnorrbintankers-option-tables-are-an-unfilled.md
BASE-0007 BUG KalmanPendulum documents AngleVelocityNoise; the code reads AngularVelocityNoise, and MeasurementNoise is undocumented d718b26, 2026-09-15 resolved/BASE-0007-kalmanpendulum-documents-anglevelocitynoise-the-code-reads.md
BASE-0008 API C6DBody: registered state name Quater — keep or rename? a2da710, 2026-09-16 resolved/BASE-0008-c6dbody-quater-state-name.md
BASE-0009 DOCUMENTATION CDistArrow and CSimpleBillboardArrow document TextSize; both read TxtSize 939afb4, 2026-09-15 resolved/BASE-0009-cdistarrow-and-csimplebillboardarrow-document-textsize-both.md
BASE-0010 DOCUMENTATION CCameraController2 documents a Times parameter; the code reads Time 939afb4, 2026-09-15 resolved/BASE-0010-ccameracontroller2-documents-a-times-parameter.md
BASE-0011 BUG CDistArrow binds its PosA and PosB input ports to the opposite members 4fa41d3, 2026-09-16 resolved/BASE-0011-cdistarrow-posa-posb-swapped.md
BASE-0012 DOCUMENTATION CIntegrator has an undocumented ICFromPort parameter and a conditional IC input port 8a8d9e6, 2026-09-15 resolved/BASE-0012-cintegrator-has-an-undocumented-icfromport-parameter.md
BASE-0013 DOCUMENTATION VirtualCurrent reads an undocumented MaximumCurrent parameter dfbac9c, 2026-09-15 resolved/BASE-0013-virtualcurrent-reads-an-undocumented-maximumcurrent-parameter.md
BASE-0014 DOCUMENTATION CSignalList reads an undocumented PortWidth parameter dfbac9c, 2026-09-15 resolved/BASE-0014-csignallist-reads-an-undocumented-portwidth-parameter.md
BASE-0015 DOCUMENTATION HydroCable registers two undocumented output ports PosA and PosB e58d24e, 2026-09-15 resolved/BASE-0015-hydrocable-registers-two-undocumented-output-ports.md
BASE-0016 ARCHITECTURE Samplifier registers a SamplifierDummy state while documenting no initial conditions 8a8d9e6, 2026-09-15 resolved/BASE-0016-samplifier-registers-a-samplifierdummy-state-while.md
BASE-0017 DOCUMENTATION The visualisation-only Material parameter is undocumented in three classes e2dad78, 2026-09-15 resolved/BASE-0017-the-visualisation-only-material-parameter.md
BASE-0018 DOCUMENTATION CDemux's parameter table misspells the OutPortWidth<N> range dfbac9c, 2026-09-15 resolved/BASE-0018-cdemuxs-parameter-table-misspells-the-outportwidth.md
BASE-0019 BUG FlukeAnchor registers its quaternion state with no default, unlike TorpedoAnchor 4fa41d3, 2026-09-16 resolved/BASE-0019-flukeanchor-quaternion-no-default.md
BASE-0020 DOCUMENTATION Indexed states are documented as Name[i] but registered as Name1 .. NameN 1c6ea37, 2026-09-15 resolved/BASE-0020-indexed-states-are-documented-as-name.md