Skip to content

Add cost decomposition, discovery gating, and maturity grading to patchCost - #606

Merged
apease merged 4 commits into
ontologyportal:masterfrom
jdev-02:cyber-patchcost-subcosts
Aug 14, 2026
Merged

Add cost decomposition, discovery gating, and maturity grading to patchCost#606
apease merged 4 commits into
ontologyportal:masterfrom
jdev-02:cyber-patchcost-subcosts

Conversation

@jdev-02

@jdev-02 jdev-02 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Adds patchDevelopmentCost, patchTestingCost, patchDeploymentCost, and operationalDisruptionCost as the four components that sum into patchCost, along with a PatchManagementMaturityAttribute grading an organization's patch management capability on CMMC 2.0's three-level structure (Foundational, Advanced, Expert) and a rule tying higher maturity to lower or equal patch cost for the same vulnerability. Reworks patchCost's common-knowledge claim so each side, attacker or defender, knows the patch cost only once it knows the vulnerability exists, mirroring exploitCost's own discovery-gating fix. Adds defenderLossCost, pricing the defender's expected loss from a successful exploitation as distinct from exploitCost's attacker-side price, and a rule tying patching to being the likely, cost-minimizing choice exactly when patchCost is less than defenderLossCost. Rewrites patchCost's non-negativity rule to unpack its CurrencyMeasure via MeasureFn and UnitOfCurrency rather than measure, whose domain is Physical and never matches an Abstract-branch quantity.

…aturity grading

patchCost's non-negativity rule now unpacks its CurrencyMeasure via
MeasureFn/UnitOfCurrency rather than measure, whose domain is Physical
and never matches an Abstract-branch quantity.

PatchManagementMaturityAttribute grades an organization's patch
management capability on CMMC 2.0's three-level structure
(Foundational, Advanced, Expert), chained by successorAttribute. A
comparative rule ties higher maturity to lower or equal patchCost for
the same vulnerability, holding the currency unit fixed across both
organizations.
patchDevelopmentCost, patchTestingCost, patchDeploymentCost, and
operationalDisruptionCost each price one phase of remediating a
vulnerability: writing the fix, verifying it, rolling it out, and the
lost or degraded operations incurred along the way. Each carries its
own non-negativity rule. A summation rule ties patchCost to the sum of
all four once an agent has all four sub-costs recorded, unified to a
shared currency unit throughout.
Replaces the unconditional knows rule with two discovery-gated rules,
one per side: an agent knows the patch cost only once it knows the
vulnerability is present on the system, using the same discovery
predicate Vulnerability's own latent-until-discovered claim already
uses. Doc string updated to match.
defenderLossCost prices the defender's expected loss from a successful
exploitation, distinct from exploitCost (the attacker's cost to carry
it out). A new rule ties patching to being the likely, cost-minimizing
choice exactly when patchCost is less than defenderLossCost for the
same vulnerability and defender -- operationalDisruptionCost already
prices patching's own disruption, so no separate opportunity-cost term
is needed on the other side of the comparison.
@apease
apease merged commit 6c26817 into ontologyportal:master Aug 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants