Skip to content

[AI-Assisted] feat(dynamics): close built-in capability audit - #3397

Merged
EvenSol merged 1 commit into
masterfrom
ai/3298-dynamic-capability-audit
Sep 1, 2026
Merged

[AI-Assisted] feat(dynamics): close built-in capability audit#3397
EvenSol merged 1 commit into
masterfrom
ai/3298-dynamic-capability-audit

Conversation

@EvenSol

@EvenSol EvenSol commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

Advances #3298 WS6 (capability audit closure) under the frozen capability contract.

  • classify every built-in ProcessElementInterface declaration of runTransient(double, UUID) by owned state;
  • resolve categories from the effective method's declaring class so inherited built-in behavior stays audited while a custom override remains fail-closed;
  • add DynamicCapabilityReport.isFullyAudited();
  • add a source-inventory CI test that requires every new built-in override to be mapped or cite an existing repository Markdown ADR;
  • update the dynamic capability contract and neqsim-dynamic-simulation guidance.

Exact-head and capacity record

master advanced after the contract only through the already-audited, non-overlapping refinery PR #3392. This branch deliberately preserves the frozen exact base; it was not rebased or force-updated.

State-ownership audit

  • ALGEBRAIC: heater, mixer, splitter, membrane separator, quasi-steady adiabatic pipe, and previously audited algebraic families
  • DYNAMIC_LUMPED: filter, committed generator, depressurization, electrolyzer, and previously audited lumped families
  • DYNAMIC_DISTRIBUTED: distillation, adsorption/removal beds, pipeline families, and flow-network orchestrators
  • BOUNDARY_DYNAMIC: iron-sulfide oxidation source and reservoir boundary state

These labels describe state ownership only. They do not promote numerical, benchmark, safety, controls, line-pack, severe-slugging, or liquid-rich maturity. In particular, PipeBeggsAndBrills remains explicitly unqualified for conservative storage/line-pack claims; those studies remain routed to the qualified TwoFluidPipe path and the unresolved WS1/WS2 gates.

Validation

Passed on the exact submitted tree:

  • python devtools/run_spotless.py apply
  • python devtools/run_spotless.py check
  • bash devtools/run_spotless.sh apply
  • bash devtools/run_spotless.sh check
  • python devtools/check_documentation_search.py
  • focused capability/activation suite:
    DynamicCapabilityBuiltInInventoryTest,DynamicCapabilityReportTest,DynamicCapabilityModuleContainerTest,DynamicActivationReportTest,PressureFlowDynamicCapabilityTest
  • Close the transient/dynamics parity gap: sustained severe slugging, liquid-rich stability, and a published controls benchmark #3298 regression set:
    ControlsBenchmarkSuiteTest,AgentBenchmarkSuiteTest,SevereSluggingExperimentalBenchmarkTest,SevereSluggingBenchmarkHarnessTest,TwoFluidPipeTransientNullTest,CoupledPressureMomentumTengesdalProgressTest

The local pre-commit executable/module is unavailable, so its configured Spotless and documentation-search hooks were executed directly and passed. An optional full -DskipITs test run progressed without observed failures through the dynamic, distillation, TwoFluidPipe, water-hammer, and terrain/network groups, then was stopped at the campaign fast-validation budget; exact-head draft CI is authoritative for the remaining repository breadth.

Documentation impact

Updated:

  • docs/process/dynamic-capability-contract.md
  • .github/skills/neqsim-dynamic-simulation/SKILL.md

The docs distinguish full inventory audit from strict runtime preflight and quantitative/public-benchmark qualification.

Frozen stop boundary

No transient equations, solver/IMEX/outlet boundary, regime map, closure, activation policy, benchmark data, or runtime equipment behavior changed. No commercial trace was used. WS1, WS2, WS4, and final routing/qualification work remain open in #3298.

Draft only. Do not mark ready, merge, rebase, force-push, close, replace, or abandon for capacity reasons.

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.

1 participant