Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"pk-sim",
"suite-components"
],
"is_fork": false,
"size_kb": 285721,
"has_wiki": true,
"homepage": null,
"languages": {
"C#": 11240007,
"TeX": 8767,
"Ruby": 7909,
"Batchfile": 508,
"Rich Text Format": 133918
},
"pushed_at": "2026-07-29T17:59:07Z",
"created_at": "2017-02-10T14:58:51Z",
"owner_type": "Organization",
"updated_at": "2026-07-29T17:59:33Z",
"description": "PK-Sim® is a comprehensive software tool for whole-body physiologically based pharmacokinetic modeling",
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "develop",
"license_spdx_raw": "NOASSERTION",
"primary_language": "C#",
"significant_languages": [
"C#"
]
},
"owner": {
"blog": "http://setup.open-systems-pharmacology.org",
"name": "Open Systems Pharmacology",
"type": "Organization",
"login": "Open-Systems-Pharmacology",
"company": null,
"location": null,
"followers": 332,
"avatar_url": "https://avatars.githubusercontent.com/u/25098323?v=4",
"created_at": "2017-01-13T08:36:59Z",
"is_verified": null,
"public_repos": 401,
"account_age_days": 3485
},
"license": {
"state": "custom",
"spdx_id": null,
"raw_spdx": "NOASSERTION",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v12.3.173",
"kind": "patch",
"published_at": "2026-07-07T09:31:45Z"
},
{
"tag": "v12.3.137",
"kind": "patch",
"published_at": "2026-06-01T10:01:50Z"
},
{
"tag": "v12.2.112",
"kind": "patch",
"published_at": "2026-01-12T10:49:41Z"
},
{
"tag": "v12.1.222",
"kind": "patch",
"published_at": "2025-09-18T09:12:15Z"
},
{
"tag": "v12.0.440",
"kind": "patch",
"published_at": "2025-02-10T14:33:13Z"
},
{
"tag": "v11.3.208",
"kind": "patch",
"published_at": "2024-04-10T10:52:23Z"
},
{
"tag": "v11.2.142",
"kind": "patch",
"published_at": "2023-05-03T10:14:50Z"
},
{
"tag": "v11.1.137",
"kind": "patch",
"published_at": "2023-02-01T16:43:00Z"
},
{
"tag": "v11.0.150",
"kind": "patch",
"published_at": "2022-05-19T08:35:08Z"
},
{
"tag": "v10.0.257",
"kind": "patch",
"published_at": "2021-11-10T17:08:46Z"
},
{
"tag": "v9.1",
"kind": "other",
"published_at": "2020-07-22T16:51:57Z"
},
{
"tag": "v9.0",
"kind": "other",
"published_at": "2020-06-21T14:30:01Z"
},
{
"tag": "v8.0",
"kind": "other",
"published_at": "2019-06-18T14:00:35Z"
},
{
"tag": "v7.4.0.127",
"kind": "other",
"published_at": "2019-01-09T15:13:34Z"
},
{
"tag": "v7.3.0.42",
"kind": "other",
"published_at": "2018-06-12T14:00:51Z"
},
{
"tag": "v7.2.2.3",
"kind": "other",
"published_at": "2018-04-24T16:07:16Z"
},
{
"tag": "v7.2.1.2",
"kind": "other",
"published_at": "2017-12-19T17:50:54Z"
},
{
"tag": "v7.2.0.143",
"kind": "other",
"published_at": "2017-12-01T17:46:00Z"
},
{
"tag": "v7.1.0.63",
"kind": "other",
"published_at": "2017-05-30T14:05:16Z"
}
],
"recent_commits": [
{
"oid": "c3579de05f8a5d932592659cbaff7d863cf794bf",
"body": "Bump OSPSuite.Core to 13.0.141 and OSPSuite.Utility to 5.0.0.11, which contain\nthe FileHelper.TryOpenFile fix.",
"is_bot": false,
"headline": "Fixes #3397 Open exported files again (#3646)",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-29T17:59:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d358017bd1c0525053b9af01af23db0755dd732",
"body": "…643)\n\n* Fixes #3514 Propagate the molecule rename of an expression profile\n\nRenaming an expression profile renamed the molecule in the individual only in\nmemory: RenameMoleculeReferenceInSimulationSubjectCommand never set its\nBuildingBlockId, so the building block was neither flagged as changed nor\n[…]\ne.\nThey did not follow the rename of an expression profile molecule, so the paths no\nlonger resolved and the variability silently disappeared from the distribution\nview and from the population export.",
"is_bot": false,
"headline": "Fixes #3639 Rename the molecule in the population parameter paths (#3…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-29T15:29:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "66db646e493f6fa4a360dc488ac234c5ae25aa4f",
"body": "…3637)\n\n* Fixes #3514 Propagate the molecule rename of an expression profile\n\nRenaming an expression profile renamed the molecule in the individual only in\nmemory: RenameMoleculeReferenceInSimulationSubjectCommand never set its\nBuildingBlockId, so the building block was neither flagged as changed no\n[…]\ntion, so the command can invert\nitself. It is currently only used inside a macro command that is discarded, but\non its own it can now be undone.\n\n* Remove redundant comment in the standalone undo spec",
"is_bot": false,
"headline": "Fixes #3514 Propagate the molecule rename of an expression profile (#…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-28T20:11:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0e4a59aefa3f9d2836c03a24afcadc5406614f92",
"body": "Modules created for a PK-Sim simulation inherited the Core default of\nOverwrite. In v13 Overwrite fully replaces passive transports and\nobservers by name, so combining two PK-Sim modules in MoBi drops the\nmolecule include lists of the first module and simulation creation\nfails. Extend reproduces the effective v12 behavior.",
"is_bot": false,
"headline": "Fixes #3635 Default PK-Sim modules to Extend merge behavior (#3636)",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-28T15:30:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3452bf367ec73ac76f267ae2d784c541fad7d64d",
"body": "… (#3630)\n\n* Fixes #3622 Convert projects to the new oral absorption model for v13\n\nThe new oral absorption / particle dissolution model added parameters and\ncontainers across most building blocks and redefined the lumen parameters.\nProjects saved before v13 are brought in line with it by cloning th\n[…]\nc.com>\n\n* #3622 Drop the inaccurate \"expensive\" note on the compound template\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fixes #3622 Convert projects to the new oral absorption model for v13…",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-07-28T12:42:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7e541fd670f4fc9a0fbe2148d11895e59d132f8c",
"body": "…(#3626)\n\nThe two projects used by ProcessToProcessBuilderMapperSpecs were re-saved\nas V13 files in 44038308, so XmlSerializationManager ran no converters at\nall and the specs passed vacuously while PK-Sim itself failed to load the\nsame projects.\n\n- Restore Mucosa_MultipleTransportDirections and Muc\n[…]\nconversion does not add the new PBBM lumen segment parameters\n(Volume, Bile Salt concentration, pH, ...) to converted individuals.\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fixes #3619 Restore project conversion coverage in integration tests …",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-07-27T15:46:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8d4b36ec7a6b91b4d43a662c7191ddf89549fe0f",
"body": "The group-by submenu now omits the icon entirely (as PK-Sim's observed-data grouping menu does) instead of passing EmptyIcon, which still rendered a default icon slot. The Species category template drops its explicit icon so both it and Molecule use the single-argument ClassificationTemplate constructor.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Remove icons from building-block group-by menu items",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-24T19:46:40Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "dfbb17f79077d5e38a23d01490d8633495bd6437",
"body": "Reuse the OSP Classification mechanism (already used for observed data and simulations) so every building-block type can hold user-created subfolders in the explorer tree.\n\n- Add 8 Classifiable wrappers (Compound, Formulation, Individual, Population, Protocol, Event, ObserverSet, ExpressionProfile) \n[…]\n-by for Individuals (by species) and Expression Profiles (by molecule).\n\nRequires OSPSuite.Core 13.0.138 for the new ClassificationType values.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fixes #1435 Add subfolders for building blocks",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-24T19:46:40Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5baad64b09007fa2c90ffb2e243ad0ecaa84b42a",
"body": "The PKSim.UI assembly (Views/WinForms) is not exercised by the test\ninfrastructure. Exclude the whole UI module instead of only its Views source\nfolder, so the coverage percentage reflects testable code.",
"is_bot": false,
"headline": "Exclude the UI layer from coverage",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-24T19:37:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b44aec507edc7917f05e3745102b407c98783894",
"body": "JetBrains dotCover 2026.2 cannot generate a coverage report on .NET 10\n(console runner hangs/crashes - DCVR-13230). The shared coverage action now\nruns dotnet test with the Microsoft Code Coverage collector, which supports\nnet10 and emits cobertura for codecov. Replace dotcover.xml with a\ncoverage.runsettings carrying the module/source exclusions, and drop the\nobsolete xml-configuration input from the coverage workflow.",
"is_bot": false,
"headline": "Replace dotcover.xml with coverage.runsettings for dotnet test",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-24T15:51:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d37f1b5014daacaadb2918c4b2858f5f96588edb",
"body": "… folders (#3628)",
"is_bot": false,
"headline": "Fixes #3627 Update dotcover.xml test assembly paths to net10.0 output…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-23T15:13:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0bd4e5a2798dbb72ee2c4674a36bb22dab5891dc",
"body": "… use square legend marker for infusions (#3629)",
"is_bot": false,
"headline": "Fixes #3621 Refresh simple protocol chart on infusion time change and…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-23T14:39:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48a92cd173409c6ed6afa2ff2a137e15f3a7a0cf",
"body": "…n tests\" (#3625)\n\nThis reverts commit b5085b902216a5b94821a48286aa61f6071dbcf6.",
"is_bot": false,
"headline": "Revert \"Fixes #3619 Restore project conversion coverage in integratio…",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-07-23T04:22:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5085b902216a5b94821a48286aa61f6071dbcf6",
"body": "The two projects used by ProcessToProcessBuilderMapperSpecs were re-saved\nas V13 files in 44038308, so XmlSerializationManager ran no converters at\nall and the specs passed vacuously while PK-Sim itself failed to load the\nsame projects.\n\n- Restore Mucosa_MultipleTransportDirections and MucosaInflux_\n[…]\nconversion does not add the new PBBM lumen segment parameters\n(Volume, Bile Salt concentration, pH, ...) to converted individuals.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fixes #3619 Restore project conversion coverage in integration tests",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-07-23T04:08:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0e714bff1c655f7f2614f41b1056e65ec8ae021e",
"body": null,
"is_bot": false,
"headline": "update core",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-22T16:09:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0466a073c3c62b836680aa84018b3f87741b8ee8",
"body": "…e-parameter-set-partial-support-for-population-simulation\n\nFixes #3458 Support overwrite parameter sets in population simulations",
"is_bot": false,
"headline": "Merge pull request #3613 from Open-Systems-Pharmacology/3458-overwrit…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-21T18:14:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c45df50dc4a72bfa75d712858e11685ea22bbe0",
"body": "…-compound-implications-for-overwriteparameterset\n\nFixes #3482 Renaming compound implications for OverwriteParameterSet",
"is_bot": false,
"headline": "Merge pull request #3612 from Open-Systems-Pharmacology/3482-renaming…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-20T17:31:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f7be16d70421e3ebe42755749a42f5699f6d2f0",
"body": "Apply a compound's selected overwrite parameter set in population\nsimulations, parallel to individual simulations. Overwritten parameters\nare locked with CanBeVariedInPopulation=false so the population keeps the\nfixed value, and any advanced parameter already defined for such a path\nis removed so per-individual sampling cannot override it at run time.\n\nCommitting simulation parameter values back into a compound overwrite\nparameter set stays limited to individual simulations.",
"is_bot": false,
"headline": "Fixes #3458 Support overwrite parameter sets in population simulations",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-20T17:27:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc00012c80c2c39e88b62d9508e3f84e299317db",
"body": "…hanges\n\nWhen a compound is renamed (explicit rename, import forcing a rename, or\nclone), the compound name embedded in the parameter paths of its\nOverwriteParameterSets is now updated so the paths stay resolvable.\n\n- OverwriteParameterSet.ChangeCompoundName rewrites the compound-name\n segment in e\n[…]\nockTask.ChangeCompoundNameInOverwriteParameterSets method.\n- OverwriteParameterSetsPresenter now reloads the grid on RenamedEvent so\n the displayed paths refresh after a rename (including undo/redo).",
"is_bot": false,
"headline": "Fixes #3482 Update overwrite parameter paths when the compound name c…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-20T14:57:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "676f04e8afe468418435eaf8e3d4b614fdaa5966",
"body": "Fix broken link in nightly badge",
"is_bot": false,
"headline": "Merge pull request #3611 from Open-Systems-Pharmacology/Yuri05-patch-1",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-17T13:44:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e2aea1e19fd745dccd917c953b1696328f8a6fd1",
"body": null,
"is_bot": false,
"headline": "Fix broken link in nightly badge",
"author_name": "Juri Solodenko",
"author_login": "Yuri05",
"committed_at": "2026-07-16T15:00:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df00dcd4b5644e1232a5dfeb82564cde58a0aa41",
"body": "Merge V13 into develop",
"is_bot": false,
"headline": "Merge pull request #3610 from Open-Systems-Pharmacology/V13",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-16T14:41:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3c783554a00db261d753d0595a919848ee532bd",
"body": "…erge",
"is_bot": false,
"headline": "Retarget workflow triggers from V13 to develop for the V13->develop m…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-16T14:28:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "860c3da56c76c125160d0c03c099f70dc775cc9f",
"body": null,
"is_bot": false,
"headline": "Update OSPSuite.Core packages to 13.0.134",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-16T14:24:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74f9890f147ce57118f380a7dc6f06ac95429f1e",
"body": "…rite_parameter_set\n\nMerge overwrite parameter set feature into V13",
"is_bot": false,
"headline": "Merge pull request #3609 from Open-Systems-Pharmacology/feature/overw…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-16T14:22:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f34d997dcd7da26755f0bfa05545cbc723a7cdf",
"body": "…meter_set",
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/V13' into feature/overwrite_para…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-16T14:08:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef675d3f86d96d457db379db8ce4c521fb182589",
"body": "… building block on MoBi export (#3605)\n\n* Fixes #3437 Merge overwrite parameter set values into ParameterValues building block on MoBi export\n\nOverwrite parameter sets are applied to the constructed model as Compound-type\nparameters, so PKSimParameterValuesCreator (which only captures changed\nSimul\n[…]\neter sets are applied to the parameter values on MoBi export\n\nAddresses PR review feedback: guard against regressions by verifying the export\npath invokes the overwrite parameter set application task.",
"is_bot": false,
"headline": "Fixes #3437 Merge overwrite parameter set values into ParameterValues…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-16T14:01:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e3c65e2d50f3e27104a012ede258982d95c427ae",
"body": "…#3608)\n\n* Fixes #3607 Register CorePKSimXmlSerializerRepository in CLIApplicationStartup\n\n3e6d0a9 (#3537) moved IPKSimXmlSerializerRepository registration from\nInfrastructureRegister to the individual bootstraps but missed\nPKSim.Starter.CLIApplicationStartup, so every SnapshotExchange entry\npoint f\n[…]\ner\ndoes not cover MinimalImplementations — PKSim.CLI and PKSim.R register\nall of these explicitly. Mirror the same three registrations in the\nStarter so LazyLoadTask and observed-data mapping resolve.",
"is_bot": false,
"headline": "Fixes #3607 Register missing headless services for SnapshotExchange (…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-16T14:01:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b2234369a2d7577c6eba83aee4e84782c01dcfb7",
"body": "# Conflicts:\n#\t.github/workflows/build-nightly_12.3.yml",
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/develop' into V13",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-15T18:05:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3bc469a6d695fc9d4836efcdc67921ff0f45d102",
"body": "…604)",
"is_bot": false,
"headline": "Allow re-use of an administration protocol for multiple compounds (#3…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-15T12:20:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37cd437067f1947ab410010e3f37c5327dcebc3d",
"body": "…10.0-windows in rakefile.rb (#3601)\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix build-nightly: update target framework from net8.0-windows to net…",
"author_name": "Copilot",
"author_login": "Copilot",
"committed_at": "2026-07-14T10:17:24Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "137e07e60f05554c2229a72c21dfd234e6d423ca",
"body": "* Guard ValueOriginRepository.Start to stop re-mapping value origins on every lookup\n\nValueOriginRepository was hand-rolled without the already-started guard that the\nother StartableRepository implementations have, so every FindBy/ValueOriginFor call\nre-mapped all value origins from scratch. During \n[…]\nlueOrigin> base (like the other ORM repositories)\nfor the run-once guard instead of the hand-rolled Start()/_started, so the\none-time value-origin mapping comes from the framework. Behavior unchanged.",
"is_bot": false,
"headline": "Reduce PK-Sim startup time (#3596)",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-13T14:36:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "34e1ee1cfdf60706c55d193d447acfaebabb0bab",
"body": "…); bump OSPSuite.* to 13.0.131 (#3595)",
"is_bot": false,
"headline": "Return population simulations from LoadSimulationsFromSnapshot (#3592…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-04T16:34:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7617934a187ed8d58e4e6ca0a7dac1cc40b59296",
"body": "Co-authored-by: Yuri05 <Yuri05@github.com>",
"is_bot": false,
"headline": "Fix testlog location (#3593)",
"author_name": "Juri Solodenko",
"author_login": "Yuri05",
"committed_at": "2026-07-03T11:35:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d086f855c917f028ebcabbe1d243096c6d7cb17",
"body": "…#3587)\n\nApply each compound's selected OverwriteParameterSet to the matching\nsimulation parameters after model construction (post keyword replacement).\nApplied parameters become BuildingBlockType=Compound and point at the\ncompound building block so subsequent edits follow normal compound logic.\nUnresolved paths abort simulation creation with a clear error listing them.",
"is_bot": false,
"headline": "Fixes #3434 Apply overwrite parameter set during model construction (…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-07-03T11:34:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d25e5ddaef8515bee78902529a011c308926c919",
"body": "…sh-progress\n\nFixes #3584 Route startup splash progress through a splash-thread EventPublisher",
"is_bot": false,
"headline": "Merge pull request #3588 from Open-Systems-Pharmacology/3584-fix-spla…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-30T15:45:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f786e1ade70ad177cd5682f80a187383fd3918f",
"body": "…tepclraw-vulnerability\n\nFixes #3585 Override SQLitePCLRaw.bundle_e_sqlite3 to 3.0.3 to clear CVE-2025-6965",
"is_bot": false,
"headline": "Merge pull request #3586 from Open-Systems-Pharmacology/3585-fix-sqli…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-30T12:42:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "448176cee36ef5339da8e756b81e3ea4e48e3d60",
"body": "…ntPublisher\n\nOSPSuite.Utility 5.0.0.9+ dispatches EventPublisher events via Post (async) instead\nof Send when SynchronizationContext.Current != the captured context. During the\npre-message-loop startup window that made splash progress queue on the busy main\nthread (bar jumps to 100%) and set splash\n[…]\nEventPublisher bound to the splash\nthread's own SynchronizationContext, make the splash view/presenter singletons, and\nregister the UI thread so the shared EventPublisher singleton uses its Send path.",
"is_bot": false,
"headline": "Fixes #3584 Route startup splash progress through a splash-thread Eve…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-26T19:09:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ba0be07a99d04b85f45211c3e280fc9136bdc9c6",
"body": "…uite.Utility to 5.0.0.10",
"is_bot": false,
"headline": "Update OSPSuite.* to 13.0.130 (includes the Core SQLite fix) and OSPS…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-26T16:22:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fef695a9a1aa85ed83745423c03fafe6a251a7ff",
"body": "… (DQS) compatibility\n\nSQLite 3.50 (shipped via SQLitePCLRaw/SourceGear.sqlite3) disables double-quoted\nstring literals (DQS) by default, so the value comparison building_block_type =\n\"INDIVIDUAL\" in two views was parsed as an identifier and failed at runtime.\nSwitch to the standard single-quoted string literal.",
"is_bot": false,
"headline": "Fix double-quoted string literals in PKSimDB views for SQLite >= 3.50…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-26T16:01:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5262f1ccf98a75259859c881c1ffd8573c529c66",
"body": "…CVE-2025-6965 (NU1903)",
"is_bot": false,
"headline": "Fixes #3585 Override SQLitePCLRaw.bundle_e_sqlite3 to 3.0.3 to clear …",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-26T15:34:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2df9918801f9e036f92deb920ef4c5a5d807cf2e",
"body": "…ctive-mol-weight-validation-rounding\n\nFixes #3580 Effective molecular weight validation no longer depends on display-unit round-trip",
"is_bot": false,
"headline": "Merge pull request #3581 from Open-Systems-Pharmacology/fix-3580-effe…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-23T16:27:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "378ab8ea88fdc0cf9da0e2aea385a591de8b43c8",
"body": "…n display-unit round-trip\n\nThe rule converted the candidate value display->base and compared it to the\nparameter's formula value. That base<->g/mol conversion round-trip is bit-exact\nfor most values but off by ~1 ULP for a sparse subset, so for certain mol\nweight/halogen combinations the equality g\n[…]\nweight is a formula-only calculation (derived from molecular\nweight and halogen count) and is never edited directly, so the rule now simply\nvalidates the parameter's current value against its minimum.",
"is_bot": false,
"headline": "Fixes #3580 Effective molecular weight validation no longer depends o…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-18T18:14:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "de10511411396805fa72348d6c2a2c2252df904f",
"body": "…-simulations-null-configuration\n\nFixes #3574 SnapshotTask returns simulations with a null SimulationConfiguration",
"is_bot": false,
"headline": "Merge pull request #3575 from Open-Systems-Pharmacology/3574-snapshot…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-16T15:30:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d1116d7410b4a1f7b14bba638ed08b216cdbf04",
"body": "…uration\n\nA PK-Sim domain Simulation does not carry a SimulationConfiguration, so\nwrapping it directly into an R Simulation threw a NullReferenceException when\nbuilding the simulation builder. Map each loaded simulation to a\nModelCoreSimulation via ISimulationConfigurationTask.CreateFor and\nISimulationToModelCoreSimulationMapper.MapFrom so it behaves like a\npkml-loaded simulation.\n\nFixes #3574",
"is_bot": false,
"headline": "Wrap snapshot-loaded simulations as ModelCoreSimulation with a config…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-16T14:58:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6939a19fd68dd887f2f31d847d5c5c3d65c29784",
"body": null,
"is_bot": false,
"headline": "update core",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-15T19:20:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c7096f59ab4e456888e14e8bc382068cabaf7cc",
"body": "…-visualization\n\nInfusion visualization #3273",
"is_bot": false,
"headline": "Merge pull request #3572 from Open-Systems-Pharmacology/3273-infusion…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-15T16:56:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6cca05d124c54868a6ffa8eecfedc5a178ed2656",
"body": "…ate commit (#3555)\n\n* Fixes #3554 Preserve untouched entries on overwrite parameter set update commit\n\nThe update path in CommitSimulationParametersTask removed every existing\nentry whose path was not currently in the change tracker, but parameters\ncommitted in a previous round are also untracked, \n[…]\nes the stored set value (and is not tracked\nor being recommitted). Untouched entries pass the value comparison and\nremain in the set.\n\n* Restore param tags on updateExistingSetsCommand\n\n* add comments",
"is_bot": false,
"headline": "Fixes #3554 Preserve untouched entries on overwrite parameter set upd…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-11T13:58:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0fbcb9bfd8165053dab782c5977b490c5da0c598",
"body": null,
"is_bot": false,
"headline": "pr feedback",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-11T13:56:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b81ae80c9f3d7e6e101b63206fac314c88f4241",
"body": "Infusion administrations were drawn as fixed-width bars centered on their start time instead of spanning the infusion duration. The protocol chart now renders each infusion as an area rectangle covering [start, start + infusion time] (height = dose) - one series per infusion so overlapping infusions stay readable - and extends the x-axis to cover infusions that end after the protocol end time. Bolus/oral administrations are unchanged.",
"is_bot": false,
"headline": "Show infusion duration in the protocol administration chart",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-11T13:19:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e21a2ac710257ad797ae7c182bba91728eade8b8",
"body": "…meter_set",
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/V13' into feature/overwrite_para…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-09T15:37:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca3540797b892e657aaaca81ae62fb205d8a6481",
"body": "Remove redundant usings and sort imports",
"is_bot": false,
"headline": "Merge pull request #3571 from Open-Systems-Pharmacology/cleanup_usings",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-09T14:06:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dcd6da782c8cd57fb074df5d023393bfdb1cb4da",
"body": "Optimize using directives across the files flagged by a ReSharper\ninspection: drop redundant usings and sort the remainder (System-first,\nmatching the prevailing convention). Also folds in minor formatting\ntidy-ups already in progress for FlatContainerRepository,\nParameterSetUpdater, and ParameterDistributionRepositorySpecs.",
"is_bot": false,
"headline": "Remove redundant usings and sort imports",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-09T13:52:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a96817e9037d6394a79db9289a304dfdea1012b2",
"body": "Remove dead code in PKSim",
"is_bot": false,
"headline": "Merge pull request #3569 from Open-Systems-Pharmacology/remove-dead-code",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-03T19:29:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98771f85bcb833a818b6f0ea09598a48cbb44d92",
"body": null,
"is_bot": false,
"headline": "update core",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-03T19:13:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8623a419ecc0c058b0e5b9702cbb10ed1b7b6b27",
"body": "Re-checked the R-reachable PKSim.Core/.Infrastructure/.Assets surface against the OSPSuite-R reflection manifest (which names only PKSim.Core.Snapshots.ParameterRange). After the DI / group-resolution rescue (report and markdown builders, NHibernate ORM mappings, project converters, and spec factori\n[…]\neptions, 3 events, 5 extension classes, DataNamingService, and 5 dead constant groups (PageTransfer, Reporting, Comparison, Distribution, SimulationResults). Build + PKSim.Tests + PKSim.R.Tests green.",
"is_bot": false,
"headline": "Remove dead code in R-reachable PKSim assemblies (R-manifest-cleared)",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-03T17:40:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f14d9e90381c1c4e83afd21c493fb8680bd3d4bb",
"body": "…_into_V13\n\nMerge develop into V13",
"is_bot": false,
"headline": "Merge pull request #3570 from Open-Systems-Pharmacology/merge_develop…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-03T16:31:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "720462b1392621b1dea832505700bedc69d0ea81",
"body": "Brings develop's recent fixes into V13:\n- #3511 Distributed parameter overwrite loses distribution\n- #3530 Modified distributed parameters not exported to snapshot\n- #3534 Do not export ontogeny factor parameters in Individual snapshot\n- #3548 Update dimensions\n- #3562 Reset of distributed individua\n[…]\nt.Data.Sqlite stack).\nV13's project-structure changes preserved: removed PKSim.Assets.Images,\nPKSimRDependencyResolution, and build-nightly_12.3.yml; kept the\nPKSim.UI.Starter -> PKSim.Starter rename.",
"is_bot": false,
"headline": "Merge branch 'develop' into V13",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-03T15:09:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a9c4b67ba0cf01d5571c79b49d4080a51ac68da9",
"body": "EntityRules and EmptyRepresentationInfo (PKSim.Core) had no production references, only a serializer-coverage skip-list entry each, and were verified unreachable from R (rSharp/OSPSuite-R).",
"is_bot": false,
"headline": "Remove dead code referenced only by tests",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-03T14:39:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "095d76a15fe01c130a0d4f470196f1423dc1ce86",
"body": "Removes unused types, interface methods (declaration + all implementors),\nand unreferenced methods in the non-R-reachable assemblies. Candidates were\nflagged by ReSharper inspectcode and confirmed unused via Roslyn\nFindReferencesAsync. DI-registered, group-resolved (context menus,\nserializers), refl\n[…]\n icon-registry members\nwere excluded; the R-reachable surface is deferred for a separate R-verified pass.\n\nBuild and unit suites (PKSim.Tests, PKSim.UI.Tests) remain green and\nunchanged from baseline.",
"is_bot": false,
"headline": "Remove dead code in PKSim.Presentation and PKSim.UI",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-06-02T20:27:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e0b1abc494d00d585254c3e511ff39ba59ea821f",
"body": "…3.0.118\n\nupdate_core_13.0.118",
"is_bot": false,
"headline": "Merge pull request #3567 from Open-Systems-Pharmacology/update_core_1…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-29T21:32:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c275821bfe09f59f2cdebbbde58a7bc989aa446d",
"body": null,
"is_bot": false,
"headline": "update_core_13.0.118",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-29T20:35:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7c9338852fa02e79d5c6257dc66e1f628b179f9",
"body": "Update building block templates",
"is_bot": false,
"headline": "Merge pull request #3566 from Yuri05/update_BB_Templates_12.3",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-29T16:03:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14963b221a31aa5e79ddc6c8c2b86086bb8379b0",
"body": null,
"is_bot": false,
"headline": "Update building block templates",
"author_name": "Yuri05",
"author_login": null,
"committed_at": "2026-05-29T15:20:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1974daad1e8359ec13bb15b3596c773254f18a1",
"body": "…n does not work (#3564)\n\nDistributed parameters in the simulation model (Model.Root) are built with DefaultValue=null. A distributed organ volume's DefaultValue is computed per-individual by CreateIndividualAlgorithm and lives only on the individual instance, so the model build (working from static\n[…]\nalue onto the matching distributed model parameter after model creation, mirroring how molecule parameters are already reconciled.\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fixes #3562 Reset of distributed individual parameters in a simulatio…",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-05-28T07:35:51Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "79d2ebb2c2d543defe73b3eac645efab0c4674a3",
"body": "…-snapshot-exchange\n\nFixes #3560 Add headless snapshot exchange to PKSim.R.Exchange",
"is_bot": false,
"headline": "Merge pull request #3563 from Open-Systems-Pharmacology/3560-headless…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-27T20:33:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8634ec34273512d866da277b6663079138977e09",
"body": "PKSim.R.Exchange.SnapshotExchange (CreateModule, CreateIndividualBuildingBlock,\nCreateExpressionProfileBuildingBlock) is a headless counterpart to\nPKSim.Starter.SnapshotExchange, resolving services from the R Api container so MoBi\ncan convert PK-Sim modules from a snapshot without the UI/Presentation-laden\nPKSim.Starter.dll.\n\nLoadSimulationsFromSnapshot now passes runSimulations: false so it only loads the\nsimulations; running them is left to the caller.",
"is_bot": false,
"headline": "Fixes #3560 Add headless snapshot exchange to PKSim.R.Exchange",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-27T15:38:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81ac72d699eb977df1c9f8321a754364c762ee03",
"body": "…(#3561)\n\n* Add new regression test for #3530\n\n* Fixes #3530 Modified distributed parameters not exported to snapshot\n\nWhen a distributed parameter (e.g. an organ volume) is modified in a\nsimulation and committed back to its template building block, the\nparent IDistributedParameter must end up with \n[…]\notect the branch if the order is\never rearranged.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fixes #3530 Modified distributed parameters not exported to snapshot …",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-05-27T12:00:12Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e080ce9abc0a5f87e3ec1d9a44d9b897fa536315",
"body": "…cally-add-observed-data-for-comparisons\n\nFixes #3096 Automatically add observed data to simulation comparisons",
"is_bot": false,
"headline": "Merge pull request #3553 from Open-Systems-Pharmacology/3096-automati…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-26T13:11:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed2768df46f98c9d2b2c3bcf8a595cc2bc547b07",
"body": "…ulations-from-snapshot\n\nFixes #3556 Load simulations from a PK-Sim snapshot",
"is_bot": false,
"headline": "Merge pull request #3558 from Open-Systems-Pharmacology/3556-load-sim…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-26T12:32:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae8a0deb3b5501f166e0e902d604a158ccb53d9e",
"body": null,
"is_bot": false,
"headline": "Document case-sensitive name matching in LoadSimulationsFromSnapshot",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-25T18:03:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b778e29a17a873f7f841dbede5f6cdca074f44c3",
"body": null,
"is_bot": false,
"headline": "Unwrap async exceptions with GetAwaiter().GetResult()",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-25T18:02:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e67937410380067558129b76117a2cf675e9363b",
"body": null,
"is_bot": false,
"headline": "Return empty array when snapshot load yields no project",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-25T17:04:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5012e38468d4aef08719f18859b33a9eee37d1b5",
"body": "…sk specs",
"is_bot": false,
"headline": "Use unique temp folders instead of hard-coded C:\\ paths in SnapshotTa…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-25T17:02:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adaceaada5d803f9d6dbe49ab8dd2045938851b8",
"body": null,
"is_bot": false,
"headline": "Return OSPSuite.R.Domain.Simulation[] from LoadSimulationsFromSnapshot",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-25T16:57:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0daa15d071d6c55ca05eb512318f336293e97407",
"body": null,
"is_bot": false,
"headline": "Fixes #3556 Load simulations from a PK-Sim snapshot",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-25T16:52:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b5952d5ac0926a988c444970f57cfed08d99a2e",
"body": "…meter_set",
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/V13' into feature/overwrite_para…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-25T12:45:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8e4613738d6905ae2c2c3d3c3cf52b3238262fd",
"body": null,
"is_bot": false,
"headline": "Drop explanatory comment on time-profile filter",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-22T18:15:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8adc7abd5e26b3419257429cd8bff2bafe04c766",
"body": "…arts\n\nOther simulation chart types (PredictedVsObserved, ResidualsVsTime, etc.)\ncould otherwise win the FirstOrDefault match and propagate unintended\nstyling to the comparison.\n\nAddresses review comment on #3553.",
"is_bot": false,
"headline": "Restrict individual comparison source-curve lookup to time profile ch…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-22T18:14:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b7bf89ed399fa78504375caf582746084f4c253",
"body": "Drag/drop or task-created comparisons now also display the observed\ndata referenced by the included simulations, with curve styling copied\nfrom each simulation's own time-profile charts.\n\nCentralizes the observed-data-from-simulations logic in a new\nObservedDataInComparisonTask used by SimulationCom\n[…]\nulationComparisonPresenter,\nso every entry point (initial creation, configure dialog, drag/drop of\na simulation, creating a new time-profile analysis on an existing\ncomparison) gets the same behavior.",
"is_bot": false,
"headline": "Fixes #3096 Automatically add observed data to simulation comparisons",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-22T17:42:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "079bb9b867328ddf9a33bf4cd329d9b69cadcc38",
"body": null,
"is_bot": false,
"headline": "update core",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-21T21:40:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "765911705c5f7552cd495933769c14069d259fe3",
"body": "…nal-age-unit-display\n\nFixes #3549 IndividualBuildingBlock displays gestational age with wrong unit conversion",
"is_bot": false,
"headline": "Merge pull request #3552 from Open-Systems-Pharmacology/3549-gestatio…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-20T19:08:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69ccbcc39f87afedb99cd7b797774bf4022017cd",
"body": "Co-authored-by: Yuri05 <Yuri05@github.com>",
"is_bot": false,
"headline": "Fixes #3548 Update dimensions (#3550)",
"author_name": "Juri Solodenko",
"author_login": "Yuri05",
"committed_at": "2026-05-20T16:33:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3cacb955b3088a7a533dcd954e720e2594a7ec11",
"body": "…ng unit conversion",
"is_bot": false,
"headline": "Fixes #3549 IndividualBuildingBlock displays gestational age with wro…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-20T13:59:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6b299d62b355a8d54555ed72be4a405a1f55f5d",
"body": "…cross-platform\n\nFixes #3537 Make PKSim.R honestly net10.0 cross-platform",
"is_bot": false,
"headline": "Merge pull request #3547 from Open-Systems-Pharmacology/3537-pksim-r-…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-20T11:44:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ba73e1d38cd3cd0849a2684b5b4a03331a1d951",
"body": null,
"is_bot": false,
"headline": "update core",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-19T17:34:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7847fa8213fa41547d30498478d42a1d229347e3",
"body": null,
"is_bot": false,
"headline": "Document CLISimulationChartsLoader.LoadChartsFor no-op intent",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-19T14:24:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e6d0a984cf8564a50895d51e5c1e3af01d4c6e4",
"body": "Restore src/PKSim.R/PKSim.R.csproj (and PKSim.R.Tests.csproj) from the\ntemporary net10.0-windows landed in #3533 back to honest cross-platform\nnet10.0 by removing OSPSuite.Presentation and PKSim.Presentation from\nPKSim.Infrastructure's transitive closure.\n\n- src/PKSim.R/PKSim.R.csproj \n[…]\nProjectRef)\n\nVerification:\n- dotnet nuget why src/PKSim.R/PKSim.R.csproj OSPSuite.Presentation\n reports no path.\n- PKSim.R.Tests: 31/31 pass.\n- PKSim.Tests: 5092/5098 pass (6 pre-existing skipped).",
"is_bot": false,
"headline": "Fixes #3537 Make PKSim.R honestly net10.0 cross-platform",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-19T14:01:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "55bfc85ae93ebc850033cf1b67c43c0b5da66f11",
"body": "…3.0.111\n\nupdate core",
"is_bot": false,
"headline": "Merge pull request #3540 from Open-Systems-Pharmacology/update_core_1…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-14T13:19:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11d57843c06dbe9678429355611a841b883c3fb1",
"body": null,
"is_bot": false,
"headline": "update core",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-14T13:06:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8c3452dce8bf1d3eb70a4981d588e4265a4661c",
"body": "…application-icon-refactor\n\nFixes #3533 Consume OSPSuite.Core ApplicationIcon refactor (13.0.110)",
"is_bot": false,
"headline": "Merge pull request #3539 from Open-Systems-Pharmacology/3533-consume-…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-13T14:33:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3663413a3b17af1ab6e5193ed75d2c62bf630cf",
"body": "Bumps OSPSuite.* references to 13.0.110, which ships both #2858\n(ApplicationIcon is a pure cross-platform resource library, Windows rendering\nrelocated) and #2864 (ApplicationIconExtensions moved from OSPSuite.UI to\nOSPSuite.Presentation).\n\nMechanical call-site updates for the removed implicit Appli\n[…]\npdated to match;\nAbout.bmp deleted as dead. The deleted ApplicationImage wrapper class from\nOSPSuite.Assets is replaced by direct use of System.Drawing.Image inside the\nrelocated ApplicationImages.cs.",
"is_bot": false,
"headline": "Fixes #3533 Consume OSPSuite.Core ApplicationIcon refactor",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-13T13:11:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "11077b16434fa559bc064dbf626519935e33b0bb",
"body": "…apshot (#3538)\n\nOntogeny factor and ontogeny factor table parameters are owned by the\nexpression profile building block. Including them in the Individual\nsnapshot caused \"Snapshot parameter ... was not found\" warnings on\nreload, since they only exist after the expression profile is added.",
"is_bot": false,
"headline": "Fixes #3534 Do not export ontogeny factor parameters in Individual sn…",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-05-10T18:51:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "689f5d561dd25a26862338a4aab75c1854876c25",
"body": "* Fixes #3511 Distributed parameter overwrite loses distribution\n\nAdd integration tests covering the issue: when a distributed parameter\nis overwritten in the individual (e.g. Liver Volume) and a simulation\nis built from that individual, the resulting simulation parameter must\nremain distributed (Di\n[…]\nh\nthe overwritten value), not collapse to a plain constant parameter.\n\nThe actual fix lives in OSPSuite.Core (Open-Systems-Pharmacology/OSPSuite.Core#2838).\n\n* Update OSPSuite.Core packages to 12.3.32",
"is_bot": false,
"headline": "Fixes #3511 Distributed parameter overwrite loses distribution (#3532)",
"author_name": "Michael Sevestre",
"author_login": "msevestre",
"committed_at": "2026-05-09T16:10:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "63cad1d6bb4c718aa2571a54abb14f10c0f0cfae",
"body": "…to-net10",
"is_bot": false,
"headline": "Merge pull request #3536 from Open-Systems-Pharmacology/3535-upgrade-…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-08T20:31:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0c649c4eeb4bd6d4de88fc8d17a923bfd98b06a",
"body": "Workflow-level env exposed the secret to every job in the workflow,\nincluding unrelated ones like get-latest-commit-timespan and the\ncleanup-job. Move it onto the dotnet build step that produces signed/\npublished outputs so the secret is only injected where it's actually\nneeded.",
"is_bot": false,
"headline": "Scope DevExpress_License to the Build step that ships artifacts",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-08T19:52:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d94e4775942d11c8190b5e197491a7258ecd593",
"body": null,
"is_bot": false,
"headline": "Fall back to windows-latest when GHA_DEFAULT_RUNNER_WINDOWS is unset",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-08T19:51:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b32477dfd5fe306c3afc931f024c7ea653788575",
"body": "… to 10.0.1",
"is_bot": false,
"headline": "Bump Microsoft.Data.Sqlite to 10.0.7 and NHibernate.Extensions.Sqlite…",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-08T18:19:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "317a4f17d4a8625470bc56f87f550b5efc2128a2",
"body": null,
"is_bot": false,
"headline": "Always upload test log artifact even on test failure",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-08T18:01:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c082e883053b9a83f8c276a620ec9e58ff06665d",
"body": null,
"is_bot": false,
"headline": "Fixes #3535 Upgrade to .NET 10",
"author_name": "Robert McIntosh",
"author_login": "rwmcintosh",
"committed_at": "2026-05-08T18:00:08Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 19,
"commits_last_year": 525,
"latest_release_at": "2026-07-07T09:31:45Z",
"latest_release_tag": "v12.3.173",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 50,
"days_since_latest_release": 23,
"mean_days_between_releases": 188.9
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 66,
"stars": 169,
"watchers": 6,
"fork_history": {
"days": [
{
"date": "2017-03-28",
"count": 1
},
{
"date": "2017-12-09",
"count": 1
},
{
"date": "2018-01-12",
"count": 1
},
{
"date": "2018-05-22",
"count": 1
},
{
"date": "2018-06-01",
"count": 1
},
{
"date": "2018-07-25",
"count": 1
},
{
"date": "2018-08-16",
"count": 1
},
{
"date": "2018-09-13",
"count": 1
},
{
"date": "2018-09-18",
"count": 1
},
{
"date": "2018-11-04",
"count": 1
},
{
"date": "2019-03-13",
"count": 1
},
{
"date": "2019-04-08",
"count": 1
},
{
"date": "2019-06-07",
"count": 1
},
{
"date": "2019-06-19",
"count": 1
},
{
"date": "2019-06-27",
"count": 1
},
{
"date": "2019-08-05",
"count": 1
},
{
"date": "2019-08-14",
"count": 1
},
{
"date": "2019-11-08",
"count": 1
},
{
"date": "2019-11-28",
"count": 1
},
{
"date": "2020-01-02",
"count": 1
},
{
"date": "2020-01-16",
"count": 1
},
{
"date": "2020-02-06",
"count": 1
},
{
"date": "2020-03-26",
"count": 1
},
{
"date": "2020-06-10",
"count": 1
},
{
"date": "2020-06-12",
"count": 1
},
{
"date": "2020-06-14",
"count": 1
},
{
"date": "2020-07-02",
"count": 1
},
{
"date": "2021-07-16",
"count": 1
},
{
"date": "2021-08-23",
"count": 1
},
{
"date": "2021-10-23",
"count": 1
},
{
"date": "2021-10-24",
"count": 1
},
{
"date": "2021-12-15",
"count": 1
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-03-08",
"count": 1
},
{
"date": "2022-03-14",
"count": 1
},
{
"date": "2022-03-24",
"count": 1
},
{
"date": "2023-01-19",
"count": 1
},
{
"date": "2023-06-06",
"count": 1
},
{
"date": "2023-07-14",
"count": 1
},
{
"date": "2023-07-21",
"count": 1
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2023-10-16",
"count": 1
},
{
"date": "2023-12-16",
"count": 1
},
{
"date": "2024-04-25",
"count": 1
},
{
"date": "2024-09-06",
"count": 1
},
{
"date": "2024-11-24",
"count": 1
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-02-24",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-06-12",
"count": 1
},
{
"date": "2025-07-07",
"count": 1
},
{
"date": "2025-07-17",
"count": 1
},
{
"date": "2025-07-29",
"count": 1
},
{
"date": "2025-10-23",
"count": 1
},
{
"date": "2025-11-17",
"count": 1
},
{
"date": "2025-11-20",
"count": 1
},
{
"date": "2025-12-19",
"count": 1
},
{
"date": "2026-02-05",
"count": 1
},
{
"date": "2026-03-01",
"count": 1
},
{
"date": "2026-04-27",
"count": 1
},
{
"date": "2026-05-07",
"count": 1
},
{
"date": "2026-05-15",
"count": 2
},
{
"date": "2026-05-25",
"count": 1
},
{
"date": "2026-07-23",
"count": 1
}
],
"complete": true,
"collected": 66,
"total_forks": 66
},
"star_history": null,
"open_issues_and_prs": 461
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"src/PKSim.Assets/PKSim.Assets.csproj",
"src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"src/PKSim.CLI.Core/PKSim.CLI.Core.csproj",
"src/PKSim.CLI/PKSim.CLI.csproj",
"src/PKSim.Core/PKSim.Core.csproj",
"src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"src/PKSim.Presentation/PKSim.Presentation.csproj",
"src/PKSim.R/PKSim.R.csproj",
"src/PKSim.Starter/PKSim.Starter.csproj",
"src/PKSim.UI/PKSim.UI.csproj",
"src/PKSim/PKSim.csproj",
"tests/PKSim.R.Tests/PKSim.R.Tests.csproj",
"tests/PKSim.Tests/PKSim.Tests.csproj",
"tests/PKSim.UI.Tests/PKSim.UI.Tests.csproj"
],
"largest_source_bytes": 180785,
"source_files_sampled": 3708,
"oversized_source_files": 3,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "Newtonsoft.Json",
"direct": true,
"version": "11.0.2",
"severity": "high",
"ecosystem": "nuget",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-5crp-9r3c-p9vr"
],
"fixed_version": "13.0.1",
"advisory_count": 1,
"oldest_advisory_days": 1499
},
{
"name": "SharpZipLib",
"direct": false,
"version": "0.86.0",
"severity": "high",
"ecosystem": "nuget",
"cvss_score": 7.3,
"advisory_ids": [
"GHSA-cqj4-m2pc-v9m5",
"GHSA-m22m-h4rf-pwq3"
],
"fixed_version": "1.3.3",
"advisory_count": 2,
"oldest_advisory_days": 1640
},
{
"name": "NHibernate",
"direct": false,
"version": "4.1.1.4000",
"severity": "moderate",
"ecosystem": "nuget",
"cvss_score": 5.9,
"advisory_ids": [
"GHSA-fg4q-ccq8-3r5q"
],
"fixed_version": "5.5.2",
"advisory_count": 1,
"oldest_advisory_days": 752
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 2,
"moderate": 1
},
"advisory_count": 4,
"affected_count": 3,
"assessed_count": 90,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 1
},
"ecosystems": [],
"dependencies": [
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.Assets/PKSim.Assets.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Assets.Images",
"manifest": "src/PKSim.Assets/PKSim.Assets.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.Assets/PKSim.Assets.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "DevExpress.Win.Design",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "25.2.7"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.FuncParser",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.3"
},
{
"name": "OSPSuite.SimModel",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.80"
},
{
"name": "OSPSuite.SimModelSolver_CVODES",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.53"
},
{
"name": "Microsoft.Data.Sqlite",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "10.0.7"
},
{
"name": "SQLitePCLRaw.bundle_e_sqlite3",
"manifest": "src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"ecosystem": "nuget",
"version_constraint": "3.0.3"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.CLI.Core/PKSim.CLI.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Utility",
"manifest": "src/PKSim.CLI.Core/PKSim.CLI.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.11"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.CLI.Core/PKSim.CLI.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.CLI.Core",
"manifest": "src/PKSim.CLI.Core/PKSim.CLI.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "CommandLineParser",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "2.9.1"
},
{
"name": "Microsoft.Extensions.Logging.Console",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "9.0.2"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Presentation",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Utility",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.11"
},
{
"name": "OSPSuite.FuncParser",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.3"
},
{
"name": "OSPSuite.SimModel",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.80"
},
{
"name": "OSPSuite.SimModelSolver_CVODES",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.53"
},
{
"name": "Microsoft.Data.Sqlite",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "10.0.7"
},
{
"name": "SQLitePCLRaw.bundle_e_sqlite3",
"manifest": "src/PKSim.CLI/PKSim.CLI.csproj",
"ecosystem": "nuget",
"version_constraint": "3.0.3"
},
{
"name": "Newtonsoft.Json",
"manifest": "src/PKSim.Core/PKSim.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.3"
},
{
"name": "OSPSuite.Utility",
"manifest": "src/PKSim.Core/PKSim.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.11"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.Core/PKSim.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.Core/PKSim.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Assets.Images",
"manifest": "src/PKSim.Core/PKSim.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Infrastructure.Import",
"manifest": "src/PKSim.Core/PKSim.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "System.ComponentModel.Annotations",
"manifest": "src/PKSim.Core/PKSim.Core.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0"
},
{
"name": "FluentNHibernate",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "3.4.0"
},
{
"name": "LumenWorksCsvReader",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "4.0.0"
},
{
"name": "MarkdownLog.NS20",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "0.10.1"
},
{
"name": "Microsoft.Extensions.Logging",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "9.0.2"
},
{
"name": "Microsoft.Extensions.Logging.Abstractions",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "9.0.2"
},
{
"name": "Newtonsoft.Json.Schema",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "4.0.1"
},
{
"name": "Newtonsoft.Json",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.3"
},
{
"name": "NHibernate.Extensions.Sqlite",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "10.0.1"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Infrastructure",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Infrastructure.Castle",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Infrastructure.Export",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Infrastructure.Import",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Infrastructure.Serialization",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Utility",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.11"
},
{
"name": "Microsoft.Data.Sqlite",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "10.0.7"
},
{
"name": "SQLitePCLRaw.bundle_e_sqlite3",
"manifest": "src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"ecosystem": "nuget",
"version_constraint": "3.0.3"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.Presentation/PKSim.Presentation.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.TeXReporting",
"manifest": "src/PKSim.Presentation/PKSim.Presentation.csproj",
"ecosystem": "nuget",
"version_constraint": "3.0.1.3"
},
{
"name": "OSPSuite.Utility",
"manifest": "src/PKSim.Presentation/PKSim.Presentation.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.11"
},
{
"name": "OSPSuite.Presentation",
"manifest": "src/PKSim.Presentation/PKSim.Presentation.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Presentation.Serialization",
"manifest": "src/PKSim.Presentation/PKSim.Presentation.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.Presentation/PKSim.Presentation.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.R",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Utility",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.11"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.FuncParser",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.3"
},
{
"name": "OSPSuite.SimModel",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.80"
},
{
"name": "OSPSuite.SimModelSolver_CVODES",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.53"
},
{
"name": "Microsoft.Data.Sqlite",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "10.0.7"
},
{
"name": "SQLitePCLRaw.bundle_e_sqlite3",
"manifest": "src/PKSim.R/PKSim.R.csproj",
"ecosystem": "nuget",
"version_constraint": "3.0.3"
},
{
"name": "OSPSuite.Presentation",
"manifest": "src/PKSim.Starter/PKSim.Starter.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.UI",
"manifest": "src/PKSim.Starter/PKSim.Starter.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.Starter/PKSim.Starter.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Infrastructure",
"manifest": "src/PKSim.Starter/PKSim.Starter.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "Microsoft.Extensions.Logging",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "9.0.2"
},
{
"name": "Microsoft.Extensions.Logging.Debug",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "9.0.2"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.DataBinding",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "4.0.0.5"
},
{
"name": "OSPSuite.DataBinding.DevExpress",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "7.0.0.6"
},
{
"name": "OSPSuite.Utility",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.11"
},
{
"name": "OSPSuite.Presentation",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.UI",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "DevExpress.Win.Design",
"manifest": "src/PKSim.UI/PKSim.UI.csproj",
"ecosystem": "nuget",
"version_constraint": "25.2.7"
},
{
"name": "OSPSuite.Assets",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.Core",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.FuncParser",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.3"
},
{
"name": "OSPSuite.SimModel",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.80"
},
{
"name": "OSPSuite.SimModelSolver_CVODES",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "5.0.0.53"
},
{
"name": "Microsoft.Data.Sqlite",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "10.0.7"
},
{
"name": "SQLitePCLRaw.bundle_e_sqlite3",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "3.0.3"
},
{
"name": "OSPSuite.Presentation",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "13.0.141"
},
{
"name": "OSPSuite.TeXReporting",
"manifest": "src/PKSim/PKSim.csproj",
"ecosystem": "nuget",
"version_constraint": "3.0.1.3"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "CommandLineParser",
"direct": true,
"version": "2.2.1",
"ecosystem": "nuget"
},
{
"name": "CommandLineParser",
"direct": true,
"version": "2.4.3",
"ecosystem": "nuget"
},
{
"name": "CommandLineParser",
"direct": true,
"version": "2.9.1",
"ecosystem": "nuget"
},
{
"name": "DevExpress.Win.Design",
"direct": true,
"version": "25.2.7",
"ecosystem": "nuget"
},
{
"name": "FluentNHibernate",
"direct": true,
"version": "2.0.3.0",
"ecosystem": "nuget"
},
{
"name": "FluentNHibernate",
"direct": true,
"version": "3.4.0",
"ecosystem": "nuget"
},
{
"name": "LumenWorksCsvReader",
"direct": true,
"version": "4.0.0",
"ecosystem": "nuget"
},
{
"name": "MarkdownLog.NS20",
"direct": true,
"version": "0.10.1",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Data.Sqlite",
"direct": true,
"version": "10.0.7",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Logging",
"direct": true,
"version": "9.0.2",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Logging.Abstractions",
"direct": true,
"version": "2.0.1",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Logging.Abstractions",
"direct": true,
"version": "2.2.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Logging.Abstractions",
"direct": true,
"version": "9.0.2",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Logging.Console",
"direct": true,
"version": "9.0.2",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Logging.Debug",
"direct": true,
"version": "9.0.2",
"ecosystem": "nuget"
},
{
"name": "Newtonsoft.Json",
"direct": true,
"version": "11.0.2",
"ecosystem": "nuget"
},
{
"name": "Newtonsoft.Json",
"direct": true,
"version": "13.0.3",
"ecosystem": "nuget"
},
{
"name": "Newtonsoft.Json.Schema",
"direct": true,
"version": "4.0.1",
"ecosystem": "nuget"
},
{
"name": "NHibernate.Extensions.Sqlite",
"direct": true,
"version": "10.0.1",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Assets",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Assets",
"direct": true,
"version": "7.4.0.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Assets",
"direct": true,
"version": "9.0.1",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Assets.Images",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.CLI.Core",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Core",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Core",
"direct": true,
"version": "7.4.0.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Core",
"direct": true,
"version": "9.0.1",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.DataBinding",
"direct": true,
"version": "2.2.0.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.DataBinding",
"direct": true,
"version": "4.0.0.5",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.DataBinding.DevExpress",
"direct": true,
"version": "2.2.0.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.DataBinding.DevExpress",
"direct": true,
"version": "7.0.0.6",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.FuncParser",
"direct": true,
"version": "3.0.1.14",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.FuncParser",
"direct": true,
"version": "3.0.1.9",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.FuncParser",
"direct": true,
"version": "5.0.0.3",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Infrastructure",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Infrastructure",
"direct": true,
"version": "7.4.0.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Infrastructure.Castle",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Infrastructure.Export",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Infrastructure.Import",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Infrastructure.Serialization",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Presentation",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Presentation",
"direct": true,
"version": "7.4.0.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Presentation",
"direct": true,
"version": "9.0.1",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Presentation.Serialization",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.R",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.SimModel",
"direct": true,
"version": "3.0.1.17",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.SimModel",
"direct": true,
"version": "3.0.1.27",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.SimModel",
"direct": true,
"version": "5.0.0.80",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.SimModelSolver_CVODES",
"direct": true,
"version": "4.0.0.5",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.SimModelSolver_CVODES",
"direct": true,
"version": "5.0.0.53",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.TeXReporting",
"direct": true,
"version": "2.1.1.9",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.TeXReporting",
"direct": true,
"version": "3.0.1.3",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.UI",
"direct": true,
"version": "13.0.141",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.UI",
"direct": true,
"version": "7.4.0.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Utility",
"direct": true,
"version": "3.0.0.3",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Utility",
"direct": true,
"version": "3.0.1.7",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Utility",
"direct": true,
"version": "5.0.0.11",
"ecosystem": "nuget"
},
{
"name": "SQLitePCLRaw.bundle_e_sqlite3",
"direct": true,
"version": "3.0.3",
"ecosystem": "nuget"
},
{
"name": "System.ComponentModel.Annotations",
"direct": true,
"version": "5.0.0",
"ecosystem": "nuget"
},
{
"name": "Castle.Core",
"direct": false,
"version": "3.3.3",
"ecosystem": "nuget"
},
{
"name": "Castle.Windsor",
"direct": false,
"version": "3.4.0",
"ecosystem": "nuget"
},
{
"name": "csmpfit",
"direct": false,
"version": "1.1.1",
"ecosystem": "nuget"
},
{
"name": "Dapper",
"direct": false,
"version": "1.50.4",
"ecosystem": "nuget"
},
{
"name": "FakeItEasy",
"direct": false,
"version": "4.5.1",
"ecosystem": "nuget"
},
{
"name": "FakeItEasy",
"direct": false,
"version": "8.3.0",
"ecosystem": "nuget"
},
{
"name": "Iesi.Collections",
"direct": false,
"version": "4.0.2",
"ecosystem": "nuget"
},
{
"name": "MathNet.Numerics",
"direct": false,
"version": "4.4.0",
"ecosystem": "nuget"
},
{
"name": "MathNet.Numerics",
"direct": false,
"version": "4.7.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.NET.Test.Sdk",
"direct": false,
"version": "17.13.0",
"ecosystem": "nuget"
},
{
"name": "NHibernate",
"direct": false,
"version": "4.1.1.4000",
"ecosystem": "nuget"
},
{
"name": "Northwoods.GoWin",
"direct": false,
"version": "5.2.0",
"ecosystem": "nuget"
},
{
"name": "NUnit",
"direct": false,
"version": "3.14.0",
"ecosystem": "nuget"
},
{
"name": "NUnit",
"direct": false,
"version": "3.5.0",
"ecosystem": "nuget"
},
{
"name": "NUnit3TestAdapter",
"direct": false,
"version": "5.0.0",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.BDDHelper",
"direct": false,
"version": "2.0.1.4",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.BDDHelper",
"direct": false,
"version": "4.0.1.1",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.DevExpress",
"direct": false,
"version": "17.1.5",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.DevExpress.Presentation",
"direct": false,
"version": "17.1.5",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.DevExpress.Presentation",
"direct": false,
"version": "18.2.7",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Engine",
"direct": false,
"version": "9.0.1",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.Serializer",
"direct": false,
"version": "2.0.1.4",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.SmartXLS",
"direct": false,
"version": "2.6.8.2",
"ecosystem": "nuget"
},
{
"name": "OSPSuite.SmartXLS",
"direct": false,
"version": "2.7.1.9",
"ecosystem": "nuget"
},
{
"name": "SharpZipLib",
"direct": false,
"version": "0.86.0",
"ecosystem": "nuget"
},
{
"name": "System.Collections",
"direct": false,
"version": "4.0.11",
"ecosystem": "nuget"
},
{
"name": "System.Console",
"direct": false,
"version": "4.0.0",
"ecosystem": "nuget"
},
{
"name": "System.Data.SQLite.Core",
"direct": false,
"version": "1.0.106.0",
"ecosystem": "nuget"
},
{
"name": "System.ValueTuple",
"direct": false,
"version": "4.4.0",
"ecosystem": "nuget"
},
{
"name": "WindowsAPICodePack-Core",
"direct": false,
"version": "1.1.2",
"ecosystem": "nuget"
},
{
"name": "WindowsAPICodePack-Shell",
"direct": false,
"version": "1.1.1",
"ecosystem": "nuget"
}
],
"collected": true,
"truncated": false,
"total_count": 90,
"direct_count": 59,
"indirect_count": 31
}
},
"maintainership": {
"issues": {
"open_prs": 2,
"merged_prs": 1218,
"open_issues": 459,
"closed_ratio": 0.793,
"closed_issues": 1757,
"closed_unmerged_prs": 74
},
"bus_factor": 2,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "msevestre",
"commits": 760,
"avatar_url": "https://avatars.githubusercontent.com/u/1041237?v=4"
},
{
"type": "User",
"login": "rwmcintosh",
"commits": 585,
"avatar_url": "https://avatars.githubusercontent.com/u/261477?v=4"
},
{
"type": "User",
"login": "benjaperez1983",
"commits": 87,
"avatar_url": "https://avatars.githubusercontent.com/u/108261271?v=4"
},
{
"type": "User",
"login": "Yuri05",
"commits": 76,
"avatar_url": "https://avatars.githubusercontent.com/u/25061876?v=4"
},
{
"type": "User",
"login": "georgeDaskalakis",
"commits": 20,
"avatar_url": "https://avatars.githubusercontent.com/u/37107428?v=4"
},
{
"type": "User",
"login": "abdelr",
"commits": 18,
"avatar_url": "https://avatars.githubusercontent.com/u/7632459?v=4"
},
{
"type": "User",
"login": "felixedd",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/39590719?v=4"
},
{
"type": "User",
"login": "PavelBal",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/25903040?v=4"
},
{
"type": "User",
"login": "egonw",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/26721?v=4"
},
{
"type": "User",
"login": "peterdew",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/27804639?v=4"
}
],
"contributors_sampled": 10,
"top_contributor_share": 0.486
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"build-and-publish_v13.yml",
"build-and-test.yml",
"build-nightly_v13.yml",
"codeql.yml",
"coverage.yml",
"nightly-badge.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 8,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 6,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 9,
"reason": "20 out of 21 merged PRs checked by a CI test -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 7,
"reason": "Found 16/22 approved changesets -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 4 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 9,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 8,
"reason": "SAST tool is not run on all commits -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "c3579de05f8a5d932592659cbaff7d863cf794bf",
"ran_at": "2026-07-30T17:18:25Z",
"aggregate_score": 5.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-30T04:59:56Z",
"oldest_open_prs": [
{
"number": 3617,
"created_at": "2026-07-22T03:56:40Z",
"last_comment_at": "2026-07-22T03:56:46Z",
"last_comment_author": "coderabbitai"
},
{
"number": 3644,
"created_at": "2026-07-29T04:45:29Z",
"last_comment_at": "2026-07-29T15:59:29Z",
"last_comment_author": "Yuri05"
}
],
"last_merged_pr_at": "2026-07-29T17:59:06Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 4,
"created_at": "2017-03-08T12:35:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6,
"created_at": "2017-03-08T12:59:08Z",
"last_comment_at": "2017-06-08T17:19:18Z",
"last_comment_author": "TheiBa"
},
{
"number": 7,
"created_at": "2017-03-08T13:02:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 8,
"created_at": "2017-03-08T13:03:55Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 9,
"created_at": "2017-03-08T14:14:50Z",
"last_comment_at": "2017-05-03T14:00:23Z",
"last_comment_author": "Incei"
},
{
"number": 10,
"created_at": "2017-03-08T14:23:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 11,
"created_at": "2017-03-08T14:25:26Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 88,
"created_at": "2017-04-06T11:50:55Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 104,
"created_at": "2017-04-12T12:50:15Z",
"last_comment_at": "2017-07-03T17:46:58Z",
"last_comment_author": "msevestre"
},
{
"number": 121,
"created_at": "2017-04-21T10:13:42Z",
"last_comment_at": "2017-04-24T14:51:58Z",
"last_comment_author": "hdiedam"
},
{
"number": 154,
"created_at": "2017-05-08T16:03:43Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 171,
"created_at": "2017-05-19T13:06:47Z",
"last_comment_at": "2018-08-23T08:38:11Z",
"last_comment_author": "Yuri05"
},
{
"number": 172,
"created_at": "2017-05-19T16:38:17Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 173,
"created_at": "2017-05-19T16:40:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 175,
"created_at": "2017-05-22T12:42:36Z",
"last_comment_at": "2018-01-19T18:19:01Z",
"last_comment_author": "msevestre"
},
{
"number": 243,
"created_at": "2017-07-13T01:00:04Z",
"last_comment_at": "2023-09-25T09:41:05Z",
"last_comment_author": "PavelBal"
},
{
"number": 244,
"created_at": "2017-07-14T08:29:14Z",
"last_comment_at": "2017-07-14T14:53:19Z",
"last_comment_author": "msevestre"
},
{
"number": 252,
"created_at": "2017-07-31T16:08:41Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 299,
"created_at": "2017-09-01T10:25:39Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 302,
"created_at": "2017-09-01T17:11:45Z",
"last_comment_at": "2017-09-06T13:21:16Z",
"last_comment_author": "msevestre"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/Open-Systems-Pharmacology/PK-Sim",
"host": "github.com",
"name": "PK-Sim",
"owner": "Open-Systems-Pharmacology"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": "The weighted overall 69 is calibrated to 81 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 69,
"calibrated": 81,
"calibration": "2026-08-02"
}
}
],
"value": 81,
"inputs": {
"security": 56,
"vitality": 90,
"community": 53,
"governance": 71,
"calibration": "2026-08-02",
"engineering": 74,
"ai_readiness": 55,
"weighted_overall_raw": 69
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 90,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "exceptional",
"name": "Development activity",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"commits_last_year": 525,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 50
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "50/52 weeks with commits",
"points": 34.6,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 50
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "525 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 525
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"releases_count": 19,
"latest_release_tag": "v12.3.173",
"releases_from_tags": false,
"days_since_latest_release": 23,
"mean_days_between_releases": 188.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "19 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 19
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 23 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 23
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~188.9 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 188.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 6,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 6 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 6
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 53,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"forks": 66,
"stars": 169,
"watchers": 6,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "169 stars",
"points": 36.1,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 169
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "66 forks",
"points": 15.1,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 66
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "6 watchers",
"points": 3.9,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 6
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 51,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"readme_badge_services": [],
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "license file present, not a recognized license",
"points": 16.9,
"status": "partial",
"details": [
{
"code": "license_custom",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 71,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 10,
"top_contributor_share": 0.486
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 49% of commits",
"points": 11.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 49
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "10 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 10
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 4 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 83,
"inputs": {
"merged_prs": 1218,
"open_issues": 459,
"closed_issues": 1757,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": 0.793,
"closed_unmerged_prs": 74,
"first_time_authors_30d": null,
"first_time_prs_merged_30d": null,
"first_time_prs_decided_30d": null
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "79% of issues closed",
"points": 33.3,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 79
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "1218/1292 decided PRs merged",
"points": 28.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 1218,
"decided": 1292
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 16/22 approved changesets -- score normalized to 7",
"points": 10.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"followers": 332,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "Open-Systems-Pharmacology",
"public_repos": 401,
"account_age_days": 3485
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "332 followers of Open-Systems-Pharmacology",
"points": 18.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 332,
"login": "Open-Systems-Pharmacology"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "401 public repos, account ~9 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 401
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 74,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "6 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 6
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "20 out of 21 merged PRs checked by a CI test -- score normalized to 9",
"points": 18,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"topics": [
"pk-sim",
"suite-components"
],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "2 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 2
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 56,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 5.4
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "20 out of 21 merged PRs checked by a CI test -- score normalized to 9",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 16/22 approved changesets -- score normalized to 7",
"points": 5.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 4 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 8",
"points": 4,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 90 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 90
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 64,
"inputs": {
"source": "osv",
"advisories": 4,
"affected_packages": 3,
"assessed_packages": 90,
"unassessed_packages": 0,
"affected_by_severity": "high 2, moderate 1",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: Newtonsoft.Json 11.0.2 (high 7.5)",
"points": 14,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "Newtonsoft.Json 11.0.2 (high 7.5)"
}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 1499 days ago",
"points": 33.7,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 1,
"oldest": 1499
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 90,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "exceptional",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 12
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 55,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "weak",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.73,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "73 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 38.9,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 73,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 56,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0.08,
"toolchain_manifests": [
"src/PKSim.Assets/PKSim.Assets.csproj",
"src/PKSim.BatchTool/PKSim.BatchTool.csproj",
"src/PKSim.CLI.Core/PKSim.CLI.Core.csproj",
"src/PKSim.CLI/PKSim.CLI.csproj",
"src/PKSim.Core/PKSim.Core.csproj",
"src/PKSim.Infrastructure/PKSim.Infrastructure.csproj",
"src/PKSim.Presentation/PKSim.Presentation.csproj",
"src/PKSim.R/PKSim.R.csproj",
"src/PKSim.Starter/PKSim.Starter.csproj",
"src/PKSim.UI/PKSim.UI.csproj",
"src/PKSim/PKSim.csproj",
"tests/PKSim.R.Tests/PKSim.R.Tests.csproj",
"tests/PKSim.Tests/PKSim.Tests.csproj",
"tests/PKSim.UI.Tests/PKSim.UI.Tests.csproj"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "src/PKSim.Assets/PKSim.Assets.csproj, src/PKSim.BatchTool/PKSim.BatchTool.csproj, src/PKSim.CLI.Core/PKSim.CLI.Core.csproj (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "src/PKSim.Assets/PKSim.Assets.csproj, src/PKSim.BatchTool/PKSim.BatchTool.csproj, src/PKSim.CLI.Core/PKSim.CLI.Core.csproj"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "C# (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "C#"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "8 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 8,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "C#",
"largest_source_bytes": 180785,
"source_files_sampled": 3708,
"oversized_source_files": 3
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "C# (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "C#"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "3/3708 source files over 60KB",
"points": 55,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 3708,
"oversized": 3
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "weak",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [],
"labels": [],
"scores": {},
"primary": null,
"evidence": [],
"artifacts": [],
"confidence": "none",
"host_extension": false,
"runs_as_process": false,
"consumed_by_code": false
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-30T17:18:59.814559Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/Open-Systems-Pharmacology/PK-Sim.svg",
"full_name": "Open-Systems-Pharmacology/PK-Sim",
"license_state": "custom",
"license_spdx": null
}