Skip to content

[Campaign] TP-flash stability, multiphase equilibrium and performance roadmap #2937

Open

Description

@EvenSol

Purpose

Persistent roadmap for NeqSim's standard two-phase TPflash and multiphase TPmultiflash work. This issue is the durable campaign ledger: scope, frozen acceptance gates, completed increments, evidence, blockers, and the next dependency-ready hypothesis. Maintain at most one active implementation PR for this campaign.

Owned scope

  • phase-stability testing and stable phase selection;
  • phase appearance, disappearance, and tiny-phase handling;
  • multiphase phase-fraction/equilibrium solution;
  • initialization, continuation, retry, and fallback behavior;
  • material-balance and equilibrium-residual diagnostics;
  • flash-specific performance that preserves the accepted numerical path.

Coordinate instead of overlapping when Column Solver or Process Performance work touches shared thermodynamic-state initialization, caching, or flash call sites. Process-wide caching, column equations, and equipment solvers are excluded unless a minimal flash-owned interface change is agreed first.

Frozen campaign gates

Every implementation increment must freeze its case set and tolerances before editing and must retain a minimal deterministic reproducer.

  • Component and total material balance: case-specific absolute/relative checks, with an ordinary-case target no weaker than 1e-10.
  • Phase fractions: finite, each in [0,1], and normalized within 1e-12.
  • Phase compositions: finite, non-negative within numerical noise, and normalized within 1e-12.
  • Equilibrium: maximum interphase log-fugacity residual no weaker than 1e-8 for components present in the compared equilibrium phases; tighter baselines stay tighter.
  • Stability: returned topology must be the lowest defensible stable state found by the applicable stability test; do not accept a converged but unstable endpoint.
  • Cross-algorithm consistency: for stable one- and two-phase states, TPflash and TPmultiflash must agree on phase topology, fractions, compositions, and properties within frozen per-case tolerances (normally 1e-10 for fractions/compositions and 1e-8 relative for derived properties).
  • Repeatability: repeated identical flashes must be deterministic; changed T/P/composition and nearby-state sweeps must not inherit stale solver state.
  • Diagnostics: non-convergence and rejected phase trials must remain observable; no silent tolerance relaxation or hidden fallback.
  • Performance: fixed environment, warmed deterministic inputs, alternating baseline/candidate order, solver-work counts where accessible, and multiple paired runs. Report complete-flash data even when a kernel benchmark is the only significant result.

The reproducible matrix must cover hydrocarbon gas/oil, water and hydrocarbon-water, CO2-rich, H2-rich, polar/associating CPA, electrolyte where the supported API permits, near-critical/phase-boundary, difficult K-value and large-volatility-contrast, trace-component/tiny-phase, one-/two-/three-phase, repeated-run, changed-state, and poor-initial-guess cases across applicable PR, SRK, CPA, and mixing rules.

Evidence basis

Method selection should be grounded in public evidence, distinguishing published method from NeqSim-specific inference. Core references:

Commercial-simulator material may be used only for publicly documented behavior or benchmarks; do not infer proprietary algorithms.

Completed ledger

2026-08-11 — compatible multiphase beta-objective cache

Merged #2930 as master commit c1cde6a1c47f from exact head 7eef7e1ca9c3849c36b2ecc732e6b38ac4116a42.

Verified evidence:

  • retained the original floating-point operation order after an algebraically equivalent reciprocal cache caused two independent system regressions;
  • 71/71 focused and adjacent tests passed, including the two exact system regressions;
  • standard-vs-multiphase one/two-phase checksum difference 0.0; repeat checksum difference 0.0;
  • three-phase max component-balance residual 6.36e-15, composition-normalization residual 1.11e-16, and log-fugacity residual 1.05e-13;
  • paired kernel medians improved 40.01% (2-component PR, 7/7 wins) and 25.59% (11-component SRK-CPA, 6/7 wins);
  • complete three-phase flash changed only 0.47% with 2/7 wins, so no statistically robust end-to-end speedup was claimed;
  • Spotless apply/check, documentation search, pre-commit, and pre-push gates passed.
  • Documentation impact: none; private lookup optimization, unchanged equations, API, configuration, tolerances, and user-visible behavior.

2026-08-11 — reciprocal aqueous cross-algorithm fallback

Merged #2949 as master commit 9ac96819480d from exact head 541dce0fb751c45b0800202419fb1a7e7bdf74b4.

Verified evidence:

  • rejected a deterministic PR-EOS GAS+AQUEOUS multiphase endpoint with log-fugacity residual 0.107605486827 and Gibbs energy 4611.366932614616 J;
  • selected the independently feasible lower-Gibbs endpoint with gas beta 0.9078491997365364, maximum component-balance residual 1.109e-13, maximum log-fugacity residual 1.356e-12, and Gibbs energy 4401.583736753728 J;
  • preserved genuine OIL+AQUEOUS endpoints, chemical/electrolyte, solid/wax, and three-phase paths;
  • covered poor beta, repeat execution, changed T/P, nearby-state continuity, bounded/normalized phase state, properties, balance and fugacity;
  • all exact-head Java 8/21 Ubuntu/Windows fast suites, four slow shards, Javadocs, Spotless, pre-commit, documentation, CodeQL and PaperLab workflows passed;
  • final diff was limited to TPflash.java, its focused regression, and the TP-flash algorithm guide;
  • Documentation impact: Javadocs and docs/thermodynamicoperations/TPflash_algorithm.md updated.

2026-08-12 — seeded water-rich phase-set recovery

Merged #2971 as master commit 879eeded8013 from exact head 6f4c61f1f29df41064e5e058ef1845c34b003682.

Verified evidence:

  • repaired the deterministic classic-SRK 220 K/200 bara invalid OIL+OIL and collapsed one-OIL endpoints through both public paths;
  • selected OIL+AQUEOUS with oil beta 0.90777480823834, maximum component-balance residual 7.40e-14, maximum log-fugacity residual 3.08e-13, and Gibbs energy 1925.79587972 J;
  • standard and multiphase phase fractions/compositions agree within 1e-10, with deterministic repeat and nearby-state continuity;
  • the 828-comparison PR/SRK/CPA screen reduced disagreements from three to two and introduced none;
  • exact-head Java 8/21 Ubuntu/Windows fast suites, all four slow shards, Javadocs, Spotless, pre-commit, documentation search, CodeQL, and PaperLab passed;
  • final diff was limited to TPflash.java, its focused regression, and the TP-flash algorithm guide;
  • Documentation impact: private-method Javadocs and docs/thermodynamicoperations/TPflash_algorithm.md updated.

2026-08-13 — lower-Gibbs multiphase aqueous cubic-root refinement

Merged #2988 as master commit e0cb19cf1b1c from exact head 18dd49db721e682ee8196ab10b880975257e9d8e.

Verified evidence:

  • reproduced neutral classic-SRK GAS+AQUEOUS endpoints at 260 K/100 bara that were both balanced and fugacity-equilibrated but used different cubic gas roots;
  • replaced the multiphase gas Z 0.624988191317194, beta 0.907824428129310, Gibbs 4678.419740194126 J endpoint with the ordinary lower-Gibbs root: Z 0.301266657120460, beta 0.907958440381479, Gibbs 4446.598527443467 J;
  • after the guarded refinement, maximum component-balance residual was 6.16e-14 and maximum log-fugacity residual was 7.23e-13;
  • baseline focused suite passed 2/4 while patched passed 4/4, including exact, nearby-state continuation, PR control, deterministic repeat, and genuine three-phase exclusion;
  • exactly GAS+AQUEOUS, neutral chemistry, strict feasibility/equilibrium, lower alternate root, and lower total-Gibbs gates prevent work on ordinary, one-phase, non-aqueous, three-phase, chemical/electrolyte, solid, and wax paths;
  • exact-head Java 8/21 Ubuntu/Windows fast suites, all four slow shards, Javadocs, Spotless, pre-commit, documentation search, CodeQL, and PaperLab passed;
  • Documentation impact: none; the change is a private numerical safeguard with complete private-method Javadocs and no API, configuration, unit, or usage change.

2026-08-14 — sour-gas endpoint consistency and phase-map repair

Merged #2990 as master commit 6e0464555bb7 from exact head 0e2856b73720a99ab5a995bd3871c30da79154cb.

Verified evidence:

  • fresh PR/classic 81 × 101 map covered 8,181 states, including 824 genuine three-phase cells;
  • applicable one-/two-phase agreement reached 7,346/7,357 (99.85%) with zero invalid multiphase endpoints;
  • 80/80 focused and cross-algorithm tests passed;
  • all exact-head Java 8/21 fast suites, four slow shards, Javadocs, Spotless, pre-commit, documentation search, CodeQL and PaperLab passed after two unchanged-head infrastructure/flaky reruns;
  • no reviews, comments, requested changes or unresolved threads remained;
  • Documentation impact: none; private endpoint safeguards and regression coverage only.

2026-08-14 — cold-feed sour-gas boundary recovery

Merged #3006 as master commit ab51f4b652d8 from exact head ef6cc975073d5fa0066a0f534c72c25d73e26509.

Verified evidence:

  • repaired the 245 K/100.8 bara ordinary one-phase endpoint by normalizing the feed-composition Gibbs reference and retaining a cold pre-iteration seed;
  • selected GAS+OIL with gas beta 0.330402477242444, Gibbs 5204.65719950532 J, maximum balance residual 6.25e-12, and maximum log-fugacity residual 2.26e-9;
  • reduced Gibbs energy by 0.676595849896 J relative to the rejected ordinary endpoint;
  • exact and nearby-state ordinary/multiphase agreement, deterministic repeat, and focused 3/3 methods passed locally;
  • exact-head Java build/test/Javadocs, CodeQL, Spotless, pre-commit, PaperLab, and documentation-search coverage all passed;
  • no reviews, requested changes, comments, or unresolved threads remained;
  • Documentation impact: none; private numerical safeguard with updated private Javadocs and no public contract change.

2026-08-15 — accepted cubic-root tie preservation

Merged #3015 as master commit dc3d907586a8 from exact head 5ee060f7190b22b0d3378b5c8c744a8d8504e17c.

Verified evidence:

  • repaired the final applicable phase-class disagreement in the frozen 8,181-state PR/classic methane/CO2/H2S map at 225 K/95.81 bara;
  • replaced the invalid ordinary GAS+OIL endpoint (Gibbs 4432.027120977371 J, log-fugacity residual 1.1275360745622436) with the equilibrated OIL+OIL endpoint (Gibbs 3877.865927361861 J);
  • corrected endpoint has beta 0.572813112145268 / 0.427186887854732, maximum component-balance residual 2.42e-11, and maximum log-fugacity residual 9.52e-9;
  • full fresh-state map reached 7,357/7,357 applicable one-/two-phase phase-class agreement; invalid ordinary endpoints fell 15 → 4, all four being two-phase projections inside the genuine 824-cell three-phase domain;
  • focused 4/4 tests covered the exact state, three nearby states, changed pressure on the same object, and deterministic repeat;
  • all exact-head Java 21 Ubuntu/Windows fast suites, four Java 21 slow shards, Java 8 Ubuntu/Windows suites, Javadocs, Spotless, pre-commit/documentation search, CodeQL, and PaperLab passed;
  • no reviews, requested changes, or unresolved review threads remained;
  • target timing changed +1.27%, treated as measurement noise; correctness only, with no speed claim;
  • Documentation impact: none; private numerical tie-break and private Javadocs only, with no public API, configuration, unit, tolerance, or usage change.

Active increment

None. #3015 is merged and the frozen sour-gas map is complete for all applicable one-/two-phase phase-class comparisons.

Next dependency-ready hypothesis

  1. Rerun the broader frozen hydrocarbon, hydrocarbon-water, CO2-rich, H2-rich, CPA/polar, supported electrolyte, trace-component, large-volatility-contrast, and near-critical/phase-boundary matrix on master dc3d907586a895dbac15db85643f4496be1645e9.
  2. Rank only deterministic, applicable one-/two-phase discrepancies by feasibility, Gibbs-energy gap, residual severity, affected case breadth, and solver work; retain the smallest exact reproducer before selecting the next tranche.
  3. Include fresh, repeated, changed-state, poor-initial-guess, phase appearance/disappearance, tiny-phase, and nearby-state paths for any selected defect.
  4. Keep the four ordinary two-phase projections inside the genuine three-phase domain classified as a method limitation, not an applicable consistency defect.
  5. The rejected global convergence-tolerance experiment remains closed: it increased 1,100-flash work by 8.52% for negligible residual benefit.

Activity

  1. EvenSol commented on Aug 11, 2026

    @EvenSol
    CollaboratorAuthor

    2026-08-11 run ledger — pre-composition init removal rejected

    Authoritative master at selection: c1cde6a1c47f34664c71ccab1ab2c53d85313860. No open TP-flash implementation PR was found.

    Frozen stop/go experiment

    Hypothesis: in TPmultiflash.solveBeta(), the first system.init(1) after changing phase fractions might be redundant because the previous iteration has already initialized fugacity coefficients at the current phase compositions. The candidate removed only that call; calcE(), setXY(), and the post-composition system.init(1) were unchanged.

    Pre-edit screen:

    • poor beta initialization fixed at 0.85/0.15 (or 0.15 divided over secondary phases);
    • eight independent cloned solves per case;
    • composition/beta normalization <= 1e-12;
    • component balance <= 1e-10;
    • maximum log-fugacity residual <= 1e-8;
    • deterministic checksum comparison.

    Cases: PR methane/n-heptane; PR wet 11-component gas; 11-component SRK-CPA/mixing-rule-10; CO2/H2S-rich PR; H2-rich PR. This targeted stop/go subset exercised hydrocarbon, aqueous, associating, CO2-rich, H2-rich, changed beta, poor initialization, and two-phase states. The merged #2930 matrix remains the broader campaign baseline for one-/two-/three-phase and cross-algorithm coverage.

    Evidence

    case baseline max log-fugacity residual candidate baseline max component balance candidate
    PR methane/n-heptane 4.02e-13 1.18e-12 4.37e-14 5.36e-14
    PR wet hydrocarbon 3.23e-13 2.48e-12 2.54e-14 2.54e-14
    SRK-CPA wet hydrocarbon 1.85e-12 2.74e-12 7.94e-14 1.40e-14
    CO2/H2S-rich PR 8.26e-9 2.86e-6 (fail) 3.43e-11 3.46e-7 (fail)
    H2-rich PR 1.16e-12 6.92e-12 3.84e-14 6.78e-14

    The CO2-rich case fails both frozen equilibrium and material-balance gates by multiple orders of magnitude. Changing beta alone also changed recomputed fugacity coefficients, dramatically in the wet PR case, so the first initialization is not generally redundant. Timing was fork/order-noisy and is intentionally not used as a performance claim after the numerical gate failed.

    The screen used the exact current-master TPflash.java and TPmultiflash.java sources compiled ahead of the installed NeqSim 3.17.0 runtime jar. It is strong enough to expose a backward-compatible numerical defect, but not sufficient evidence to publish a master PR; a full exact-master checkout/test suite remains mandatory for any accepted change.

    Decision

    Rejected. No source branch or PR created. The candidate is not safe and must not be retried by relaxing tolerances.

    Documentation impact: none — no repository behavior or API changed.

    Next dependency

    Retain both beta-loop initializations. On a full exact-master checkout, add temporary measurement-only counters/timers around:

    1. standard/enhanced stability trial init(1, 1) calls;
    2. phase seeding/rejected-trial initialization;
    3. beta-solver pre- and post-composition initialization.

    Profile the complete frozen matrix and rank by complete-flash wall time plus call count. Only select a cache/reuse boundary if state identity can be proven across T/P/composition/phase-count changes; otherwise record the work distribution and move on without a speculative PR.

  2. EvenSol commented on Aug 11, 2026

    @EvenSol
    CollaboratorAuthor

    Portfolio-scan clarification

    The prior sentence “No open TP-flash implementation PR was found” means no current campaign-owned TP-flash PR. Repository-wide search also found these older open branches:

    • #2263, EJML-to-ojAlgo replacement: touches TPmultiflash.java and its tests; last updated 2026-06-22, currently not mergeable, based on d128a147.... Treat the beta linear-solver/backend area as an explicit coordination boundary and recheck this PR before any future edit.
    • #1529, separator water entrainment: touches TPmultiflash.java; last updated 2026-04-05, currently not mergeable.
    • #1428, TPflash.java update: last updated 2025-07-18, currently not mergeable.
    • #2382, electrolyte CPA fix: active as of 2026-07-22 but changes chemical-equilibrium/data/system tests, not flash source. Coordinate electrolyte validation cases, but there is no current file overlap.

    No campaign PR was opened, so the one-active-PR campaign limit remains clear.

  3. EvenSol commented on Aug 12, 2026

    @EvenSol
    CollaboratorAuthor

    2026-08-12 run ledger — #2949 merged; SRK seeded-refinement hypothesis frozen

    Authoritative master: 38ff94fc3155.

    Completed increment

    #2949 merged as 9ac96819480d from exact head 541dce0fb751c45b0800202419fb1a7e7bdf74b4. All exact-head Java 8/21 fast suites, four slow shards, Javadocs, Spotless, pre-commit, documentation, CodeQL and PaperLab workflows passed. The final three-file diff included the implementation, focused regression and TP-flash algorithm documentation.

    Next defect reproduced and narrowed

    Classic SRK, 220 K/200 bara, feed CO2/methane/ethane/water = 0.543865141103918/0.2937712952303271/0.07010605470616459/0.09225750895959021:

    path topology beta max balance max log-fugacity residual Gibbs (J)
    ordinary TPflash OIL+OIL 0.802111558747 / 0.197888441253 1.11e-16 2.03267843414 2531.44813056
    cold multiphase OIL 1.0 1.11e-16 n/a 2985.13292173
    seeded TPmultiflash from ordinary split OIL+AQUEOUS 0.907774808237 / 0.092225191763 5.88e-13 2.13e-13 1925.79587972

    The seeded result repeated bit-for-bit in the measured beta and is both feasible and lower-Gibbs. Exact current-source inspection shows the existing ordinary-to-multiphase rescue instead launches a cold full TPflash; that candidate collapses to one phase and fails the exactly-two-phase acceptance gate.

    A deterministic 25-state 210–230 K/150–250 bara sweep established the guard boundary:

    • three of four invalid ordinary endpoints produced a feasible, lower-Gibbs two-phase seeded refinement;
    • one point was in a three-phase region and the seeded trial failed material balance, so it must be rejected;
    • already-valid endpoints can acquire a higher-Gibbs third phase under unconditional seeded refinement.

    Frozen implementation direction: run the seeded phase-set refinement only for an already-invalid neutral water-rich ordinary two-phase endpoint; use TPmultiflash(system, checkForSolids) so work arrays are initialized; accept only through the existing exactly-two-phase, bounded/normalized composition, material-balance, fugacity, distinct-composition and lower-Gibbs gates; otherwise retain the cold fallback and original state. No tolerance changes.

    The direct refinement experiment used packaged NeqSim 3.17.0, while the source-path diagnosis used authoritative current master. Exact-master compilation and the full focused/nearby-state/cross-algorithm matrix remain mandatory before implementation.

    Portfolio decision

    No branch or PR opened. Autonomous implementation PRs #2957, #2959 and #2960 fill the three-PR portfolio limit. The roadmap body now records #2949 as completed and this hypothesis as the next dependency-ready tranche.

    Documentation impact: none for this run — only the campaign roadmap was updated; repository behavior and user APIs were unchanged.

  4. EvenSol commented on Aug 12, 2026

    @EvenSol
    CollaboratorAuthor

    2026-08-12 non-PR retry — implementation boundary refined without opening a branch

    Per maintainer direction, this run deliberately advanced the campaign without creating or updating a PR.

    Current source inspection at the authoritative campaign master snapshot 38ff94fc3155949a8d6830c83bc4452700aef7b8 confirms the next SRK water-rich fix should be a new final bounded refinement adjacent to the existing refineInvalidAqueousTwoPhaseEndpoint() / refineInvalidNeutralGasLiquidTwoPhaseEndpoint() calls, not a change to the ordinary TPflash iteration or to TPmultiflash.solveBeta() globally.

    Refined implementation contract

    The candidate should run only when all of the following are true:

    • exactly two neutral liquid-like phases are returned;
    • the endpoint is already demonstrably invalid by the frozen material-balance/fugacity criteria;
    • water is present in the feed, but no active AQUEOUS phase exists;
    • no ions, chemical-equilibrium, solid or wax path is active;
    • the ordinary endpoint state is snapshotted before any trial.

    The trial should:

    1. preserve the ordinary two phase compositions and beta values as the seed;
    2. use the fully initialized TPmultiflash(system, false) active-set path rather than a cold nested TPflash;
    3. remain bounded to the existing selected two-phase active set;
    4. accept replacement only if phase fractions/compositions are finite and normalized, component balance satisfies the frozen gate, maximum log-fugacity residual satisfies the frozen gate, the two phases remain compositionally distinct, and Gibbs energy is lower within the existing tolerance;
    5. restore the complete pre-trial state on any rejected candidate or exception.

    This keeps the fix narrow: no relaxation of tolerances, no change to valid endpoints, no global phase-stability policy change, and no new behavior for chemical/electrolyte/solid/wax cases.

    Why this is the correct insertion point

    The current end-of-run sequence already performs strict post-convergence endpoint repair and then calls refineInvalidAqueousTwoPhaseEndpoint() and refineInvalidNeutralGasLiquidTwoPhaseEndpoint(). The aqueous refinement already demonstrates the required snapshot → bounded TPmultiflash.solveBeta() refinement → strict acceptance → full restore pattern. The remaining defect differs only in that water is present while the ordinary invalid endpoint is still typed OIL+OIL rather than OIL+AQUEOUS, so it currently never reaches the aqueous refinement.

    Frozen next validation matrix

    Before any future code publication, require exact-master reproduction of the 220 K / 200 bara SRK case plus:

    • 210–230 K × 150–250 bara nearby-state sweep;
    • ordinary valid OIL+AQUEOUS endpoints: unchanged;
    • valid hydrocarbon GAS/OIL endpoints: unchanged;
    • poor-beta and repeated-run determinism;
    • changed T/P/composition reuse to detect stale state;
    • material-balance, beta/composition normalization, fugacity, lower-Gibbs and phase-distinctness gates;
    • PR-EOS and SRK controls outside the defect region;
    • CPA/electrolyte/solid/wax exclusion tests.

    The previously measured packaged-runtime numbers remain hypothesis evidence only and are not promoted to exact-master validation.

    No branch, source file, PR, merge state or campaign completion checkbox was changed in this run. The next implementation is now more tightly specified and ready to execute when publication capacity is intentionally made available.

  5. EvenSol commented on Aug 12, 2026

    @EvenSol
    CollaboratorAuthor

    Active increment — seeded water-rich phase-set recovery

    Draft PR #2971 advances the frozen SRK hypothesis from exact base c8061c9d05022c501fc89d394be8da6d073a11fa; initial exact head is 725ba77b17162d74f3e0d00c310b79ac3037a02c.

    Verified local evidence before publication:

    • reproduced the 220 K/200 bara ordinary OIL+OIL endpoint with log-fugacity residual 2.03267843414 and the collapsed one-OIL multiphase endpoint;
    • both public paths now select OIL+AQUEOUS with oil beta 0.90777480823834, component-balance residual at most 7.40e-14, log-fugacity residual at most 3.08e-13, and Gibbs energy 1925.79587972 J;
    • the new regression is fail-before-fix (2/3 tests fail on unmodified master) and passes 3/3 with the candidate;
    • 8/8 focused and adjacent tests passed through the local assertion runner;
    • the 828-case PR/SRK/CPA cross-algorithm screen reduced disagreements from 3 to 2 and introduced none;
    • five paired 200-flash runs removed 100% target failures at an affected-path median runtime cost of 17.3% ordinary and 22.6% multiphase; no speedup is claimed;
    • documentation and private-method Javadocs are included.

    The broader scan rejected a seeded-first ordering because it introduced a gas/oil phase-label discrepancy at 300 K/200 bara. The PR therefore retains the current cold candidate first and uses the existing invalid phase compositions only after that candidate fails strict qualification.

    VALIDATION PENDING CI. Initial exact-head workflows are queued/running; the PR is draft, mergeable, 3 commits ahead / 0 behind, with no reviews or unresolved threads yet.

  6. EvenSol commented on Aug 13, 2026

    @EvenSol
    CollaboratorAuthor

    2026-08-13 run ledger — #2971 merged; two remaining differences isolated

    Authoritative master: 7334454cb2e3.

    Completed increment

    #2971 merged as 879eeded8013 from exact head 6f4c61f1f29df41064e5e058ef1845c34b003682. The roadmap's active-increment entry is therefore stale: there is currently no open #2937 PR.

    Portfolio decision

    No implementation PR was opened. Autonomous drafts #2632, #2970, and #2978 fill the scheduled-campaign skill's stricter three-PR portfolio limit. This run remained measurement-only.

    Remaining difference 1 — PR hydrocarbon final convergence

    PR EOS, classic mixing rule, 320 K/200 bara, feed methane/ethane/propane/nC10 = 0.55/0.12/0.08/0.25:

    path gas beta max log-fugacity residual Gibbs (J)
    ordinary 0.0117760272094334 6.07136e-10 4679.293080887463
    multiphase 0.0117760269509761 3.55271e-14 4679.293080887465

    Both states are deterministic, balanced, and physically equivalent within the campaign's 1e-8 fugacity gate, but beta differs by 2.58457e-10, above the frozen 1e-10 cross-algorithm tolerance.

    A measurement-only exact-source candidate changed only the ordinary TPflash outer convergence criterion from deviation > 1e-10 to deviation > 1e-12. It:

    • reduced the case residual to 6.04e-14;
    • removed this disagreement from the full frozen screen (no new disagreement);
    • increased target iterations from 13 to 17;
    • increased work across 1,100 ordinary frozen-matrix flashes from 12,836 to 13,930 iterations (+8.52%);
    • reduced cases with two-phase fugacity residual above 1e-10 only from 44 to 42;
    • had noisy target wall time (7 alternating 500-flash pairs, 2/7 candidate wins), so no speed benefit exists.

    Decision: reject a global tolerance change. It removes a harmless numerical delta at disproportionate matrix-wide solver-work cost and conflicts with the campaign requirement not to hide differences by tolerance tuning. The local result is diagnostic evidence: this case is ordinary convergence-tail provenance, not a distinct stable phase state.

    Remaining difference 2 — SRK cubic-root provenance

    SRK, classic mixing rule, 260 K/100 bara, feed CO2/methane/ethane/water = 0.543865141103918/0.2937712952303271/0.07010605470616459/0.09225750895959021:

    path gas beta gas Z gas density (kg/m3) max log-fugacity residual Gibbs (J)
    ordinary 0.907958440381479 0.301266657120460 520.193045974844 7.23e-13 4446.598527443467
    multiphase 0.907824428129310 0.624988191317194 250.768776103662 2.67e-13 4678.419740194126

    Both GAS+AQUEOUS endpoints are bounded, normalized, material-balanced (<= 6.16e-14), equilibrated and bitwise repeatable in the reported summaries. The 1.34012e-4 beta and 1.46512e-4 composition differences arise from different SRK gas cubic roots, not incomplete beta convergence. Continuing the multiphase endpoint through ordinary TPflash switches it exactly to the lower-Gibbs ordinary root; seeding TPmultiflash from the ordinary endpoint preserves that root exactly.

    Frozen next dependency: after portfolio capacity opens, implement and test a narrowly guarded lower-Gibbs cubic-root comparison for already-feasible neutral two-phase multiphase GAS+AQUEOUS endpoints. Preserve the phase set and compositions as the candidate seed; accept only the same two phase types, bounded/normalized beta and compositions, material balance and log-fugacity residual below 1e-8, and a Gibbs reduction above the existing numerical tolerance. Freeze nearby T/P/composition, repeat, changed-state, ordinary/multiphase equivalence, PR/SRK controls, three-phase rejection, and chemical/electrolyte/solid/wax exclusions before editing. Do not combine this root-selection tranche with the rejected global convergence change.

    Documentation impact: none for this run — no repository behavior, API, branch, or PR changed.

  7. EvenSol commented on Aug 13, 2026

    @EvenSol
    CollaboratorAuthor

    Active increment — sour-gas stability and endpoint validity

    Draft PR #2990 is the sole active #2937 PR. The branch was updated with a normal, conflict-free merge of current master 231fc66f42a573853858b3009dbc99a9ac996c1d; exact head is now 0e2856b73720a99ab5a995bd3871c30da79154cb, 0 commits behind, mergeable, and still limited to TPflash.java plus TPflashSourGasConsistencyTest.java.

    The immediately preceding source head 644cf123cbc5f6b65c7fc30159d92a4804f571c5 passed 80/80 focused/cross-algorithm tests and every hosted workflow. Its fresh 8,181-state methane/CO2/H2S PR/classic map produced 0 invalid multiphase endpoints and 7,346/7,357 one-/two-phase classification agreement outside 824 genuine three-phase cells. Common-case medians remained sub-millisecond; guarded pathological repairs cost 0.71–5.15 ms only when triggered. No universal speedup is claimed.

    VALIDATION PENDING CI on the new merge head. Five applicable workflows started after the baseline update. No reviews, comments, requested changes, or unresolved review threads existed at the update. The PR remains draft by policy; draft status does not determine engineering readiness.

    Next dependency: wait for the complete exact-head workflow matrix, recheck mergeability and every review surface, and repair only attributable findings. After this tranche, minimize the remaining 11 non-three-phase boundary differences—starting near 245 K/100.8 bara—only if independent stability/Gibbs and closure evidence proves a unique defect.

  8. EvenSol commented on Aug 15, 2026

    @EvenSol
    CollaboratorAuthor

    Active increment — high-water CPA hydrocarbon-liquid appearance

    Frozen base: dc3d907586a895dbac15db85643f4496be1645e9. No open PR referencing #2937 was found at selection.

    Reproducer and baseline

    SRK-CPA Statoil, mixing rule 10, 300 K, 200 bara; normalized methane/ethane/propane/n-heptane/nC10/water feed 0.12/0.03/0.03/0.08/0.09/0.65.

    • ordinary TPflash: one AQUEOUS phase, G = -3303.96869706 J;
    • explicit multiphase TPflash: OIL+AQUEOUS, beta 0.3488579645 / 0.6511420355, G = -5702.35947585 J;
    • missed Gibbs reduction: 2398.39077878 J;
    • multiphase maximum component-balance residual 2.02e-14;
    • multiphase maximum interphase log-fugacity residual 1.74e-13.

    The mismatch is deterministic under repeated execution and a 1e-10 / (1 - 1e-10) poor beta guess. A same-object pressure change 100 → 200 bara reproduces the missed ordinary phase, while 200 → 100 bara returns the stable OIL+AQUEOUS state. The same defect occurs at 280 K/125–250 bara, 300 K/175–250 bara, 313.15 K/200–250 bara, and 325/350 K above 200 bara in the frozen local sweep. At 300 K/200 bara it also occurs for water fractions 0.50–0.65; neighboring 0.45 and 0.70–0.80 feeds already converge to OIL+AQUEOUS on both paths. Low-pressure points where multiphase TPflash returns three phases remain outside the two-phase consistency gate.

    Root cause and bounded method

    The substantial-water ordinary endpoint is labelled AQUEOUS and is returned before the existing water-rich reciprocal refinement. This is distinct from #2870 (trace-water GAS → GAS+AQUEOUS) and #2876 (multiphase gas seeding in high-water VLLE).

    The frozen candidate may run one cloned multiphase stability refinement only for an ordinary, neutral, one-phase CPA AQUEOUS endpoint when:

    1. water feed is at least 0.01;
    2. f_water / p_water_sat >= 0.8 (performance screen only);
    3. at least 0.01 feed is hydrocarbon with T_c > T + 80 K.

    Michelsen TPD/stability and the existing strict candidate gates—not the screen—decide acceptance. A candidate must have exactly two distinct phases, finite bounded normalized beta/compositions, component balance and log-fugacity residual below 1e-8, and Gibbs energy lower by more than max(1e-8 J, 1e-12 |G|).

    Frozen acceptance and stop boundary

    • Exact, nearby-temperature/pressure, and water-composition cases above.
    • Ordinary/multiphase phase types, beta, compositions, and Z agree within 1e-10; extensive properties within 1e-6 absolute for this one-mole fixture.
    • Component balance <= 1e-10, composition normalization <= 1e-10, beta normalization <= 1e-12, max log-fugacity residual < 1e-8.
    • Deterministic repeat, poor beta, and changed-pressure same-object paths.
    • Stable CPA gas and aqueous controls outside the condensable-hydrocarbon screen remain unchanged.
    • Rerun the 444-state broader PR/SRK/CPA/near-critical/trace/electrolyte screen; do not classify ordinary two-phase projections inside a genuine three-phase result as an applicable defect.
    • Report affected-path runtime separately; no speedup is claimed. Guard-false ordinary paths must not execute another flash.
    • Scope stops at neutral CPA hydrocarbon-liquid appearance. No chemical/electrolyte, solid/wax, TPmultiflash-kernel, global tolerance, public API, Column Solver, or process-cache changes.

    Documentation impact: update the private-method Javadocs and the TPflash algorithm guide because the existing guide explicitly says substantial-water one-phase aqueous endpoints return before reciprocal refinement.

  9. EvenSol commented on Aug 15, 2026

    @EvenSol
    CollaboratorAuthor

    Campaign progress update for #2937:

    • Sole active campaign PR: draft fix(flash): recover high-water CPA liquid splits #3018, fix(flash): recover high-water CPA liquid splits #3018
    • Exact head: e65086e648e4bb37e617f82565bc41282b59cf3b (base dc3d907586a895dbac15db85643f4496be1645e9)
    • Scope: recover a missed OIL+AQUEOUS stable split from a metastable single-AQUEOUS ordinary TP-flash endpoint for high-water neutral SRK-CPA feeds, using conservative screens plus the existing multiphase stability/closure/Gibbs acceptance path.
    • Fail-before-fix evidence: exact master passed 1/3 focused methods; the exact reproducer and nearby/cross-algorithm method failed. Candidate passes 3/3; candidate plus the current sour-gas consistency regression passes 7/7 locally.
    • Exact reproducer after fix: ordinary and multiphase paths agree on phases, beta, and compositions within 1e-10; component-balance residual 2.02e-14, log-fugacity residual 2.16e-10, Gibbs difference 3.52e-7 J.
    • Broader deterministic screen: 444 states, zero exceptions; applicable ordinary/multiphase material differences decreased 14 → 13 with no new disagreement.
    • Hosted exact-head status: Spotless, pre-commit, PaperLab, and CodeQL passed. Dedicated documentation-search and full build/test/Javadocs are still running. No reviews, comments, or review threads; PR is mergeable and conflict-free but not yet classified ready.
    • Documentation: private-method Javadocs and TPflash_algorithm.md updated. Local repository scripts were unavailable and are explicitly recorded as pending CI in the draft PR.

    No merge, ready-for-review transition, or master update was performed.

  10. EvenSol commented on Aug 15, 2026

    @EvenSol
    CollaboratorAuthor

    Frozen next increment — cold-state water-rich reciprocal stability retry

    Authoritative master: b848c65efa42. The previous #2937 PR #3018 is merged as bbed9e143eb89a3c627bbec3f2d44929f24e2866; related Wilson-trial seeding #3026 is also merged. No open PR referencing #2937 was found.

    Exact reproducer

    SystemSrkEos, classic mixing rule 2, 230 K/90 bara; normalized CO2/methane/ethane/nC10/water = 0.74/0.15/0.05/0.01/0.05.

    • ordinary TPflash: one OIL phase, component-balance residual 3.232e-5, Gibbs 2961.622862408 J;
    • explicit multiphase TPflash: OIL+AQUEOUS, beta 0.95019632 / 0.049803679, component-balance residual 1.202e-14, log-fugacity residual 2.931e-13, Gibbs 2555.037971823 J;
    • missed Gibbs reduction: 406.584890585 J.

    The defect is deterministic. A post-flash clone inherits collapsed phase/root history and produces a rejected three-phase trial, whereas an otherwise identical cold feed reaches the feasible two-phase equilibrium. This difference became applicable after #3026 improved incipient Wilson trial seeding; it does not duplicate that PR.

    Frozen method and acceptance gates

    • Preserve one cold pre-iteration state only for ordinary, neutral, non-CPA, substantial-water (z_water >= 0.01) asymmetric feeds already eligible for the existing water-rich reciprocal stability path.
    • Reuse that state instead of a post-flash clone; retain the existing exactly-two-phase, bounded/normalized, material-balance < 1e-8, log-fugacity < 1e-8, distinct-composition, and lower-Gibbs acceptance gates.
    • Exact ordinary/multiphase topology, beta and compositions agree within 1e-10; properties within 1e-8 relative or a documented tighter absolute fixture tolerance.
    • Cover poor beta, deterministic repeat, same-object temperature/pressure changes, disappearing/appearing aqueous phase, and nearby stable two-phase points at 229–234 K/88–92 bara. Genuine/rejected three-phase points remain outside the two-phase consistency gate.
    • Rerun the frozen 444-state PR/SRK/CPA/near-critical/trace/electrolyte matrix. No new applicable disagreement or exception; invalid ordinary count must decrease by one.
    • Benchmark the corrected state and at least one guard-true but already-valid aqueous control. No speedup claim; dry/CPA/chemical/ionic/solid/wax/non-asymmetric paths must remain outside the new seed allocation.
    • Scope stops at initialization provenance for the existing water-rich reciprocal fallback. No TPmultiflash kernel, Wilson seed, EOS parameter, mixing rule, convergence tolerance, public API, Column Solver, Process Performance, or Huldra changes.

    Documentation impact: update private-method Javadocs and docs/thermodynamicoperations/TPflash_algorithm.md because cold-vs-post-flash seed provenance affects the documented fallback and its performance cost.

  11. EvenSol commented on Aug 15, 2026

    @EvenSol
    CollaboratorAuthor

    Campaign tranche active: PR #3031

    Draft PR #3031 now advances the frozen water-rich cold-seed stability tranche from current master. Exact head: cf04693a4864b1ba68c112487c676b98f476584c.

    The first hosted pre-commit run identified only Spotless wrapping. I applied the exact patch produced by GitHub's successful Spotless-format workflow; the resulting blobs match that artifact for TPflash.java, TPmultiflash.java, and the new focused regression test. The replacement head is conflict-free and 6 commits ahead / 0 behind master. Fresh CI is in progress.

    No numerical scope was added during the repair. The implementation remains limited to retaining a cold pre-iteration stability seed for tightly screened neutral non-CPA water-rich asymmetric cubic-EOS feeds, with strict material-balance, fugacity, normalization, distinct-phase, and lower-Gibbs acceptance gates. No Huldra data or downstream digital-twin work is included.

  12. EvenSol commented on Aug 15, 2026

    @EvenSol
    CollaboratorAuthor

    CI attribution update for PR #3031

    Exact current head: 792eb1018c1b57c0d27680f454813ed1f56264c6; exact master baseline: 9a371fb1448bb713990072c2d3d4a291c71dab68.

    The branch is current (0 behind) and the flash tranche's direct hosted gates are green. Two slow-suite assertions failed, but both reproduce identically when run in isolation on exact master:

    • HydrocarbonScrubberSaturationPressureStabilityTest: expected 105.9 bara, exact master and PR both return 72.24446868896484 bara.
    • SystemElectrolyteCPATest#testHydrateTemperatureWithMethanolAndSalt: exact master and PR both return methanol-only -4.562619195803904 °C and methanol+salt -2.4559782474698864 °C.

    These are baseline defects, not introduced by #3031. The electrolyte case is also structurally outside this tranche: CPA, chemical, and ionic systems are rejected before the new cold-seed path. The dry UMRPRU saturation feed has no water and likewise cannot pass the new water-rich screen. No unrelated repair is being folded into #3031.

    Current positive evidence on the replacement head includes pre-commit, Spotless, documentation coverage, CodeQL, PaperLab, and Java 21 Javadoc success; the new focused water-rich consistency tests passed locally along with prior flash regressions.

  13. EvenSol commented on Aug 16, 2026

    @EvenSol
    CollaboratorAuthor

    Coordination update — baseline repair PR #3036

    A new overlapping draft, #3036, now targets four baseline regressions that keep active campaign PR #3031 from a successful aggregate workflow.

    Current exact heads remain:

    Verified coordination evidence:

    No implementation was copied or combined. The dependency order is: resolve #3036's tolerance discrepancy, obtain exact-head CI, merge it only under its own authority, then update #3031 from the resulting master and rerun its focused cross-algorithm/nearby-state regression plus all exact-head checks. #3031 remains not READY TO MERGE.

  14. EvenSol commented on Aug 16, 2026

    @EvenSol
    CollaboratorAuthor

    Frozen repair increment — replay screened cold seed after multiphase collapse

    Authoritative master: f420627b5892. Merged PRs #3036/#3037/#3031 now coexist on master; no open TP-flash implementation PR was found.

    Reproduced cross-merge defect

    The exact final #3031 head e83c77b377c7ed8a1c5a6fac662f4da68406ac56 failed its Windows fast suite after #3036's compatibility repair was incorporated:

    • TPflashWaterRichColdSeedConsistencyTest.coldSeedRecoversBalancedOilAqueousEndpoint: expected two phases, explicit multiphase returned one;
    • TPflashWaterRichColdSeedConsistencyTest.nearbyStatesAndChangedFeedRemainContinuousAndDeterministic: same one-phase collapse;
    • 11,848 tests ran; these were the only two failures.

    The ordinary path still recovers the balanced lower-Gibbs OIL+AQUEOUS state. The interaction is that #3031 retains a screened cold pre-iteration seed, but the post-collapse water-bearing rescue clones the already-collapsed live state instead of consuming that cold seed. Reverting #3036's global Wilson-beta compatibility correction would reintroduce the UMR-PRU and Eclipse regressions it repaired.

    Frozen implementation and gates

    • Keep fix(flash): restore local TPflash stability path #3036's Wilson phase-admission initialization unchanged.
    • Permit the existing strict non-CPA neutral water-rich screen to retain a cold seed for explicit multiphase runs.
    • After, and only after, a screened multiphase calculation collapses to one phase, run one ordinary TP flash from that cold seed.
    • Accept only a lower-Gibbs two-phase result satisfying the existing beta/composition bounds and normalization, component balance < 1e-10, distinct phases, and log-fugacity residual < 1e-8.
    • Extend the focused regression for poor multiphase beta and deterministic repeated multiphase execution.
    • Re-run the exact failing class plus UMR-PRU, Eclipse water, scrubber, CPA high-water, sour-gas, formatting, documentation, and full hosted gates.

    Stop boundary: no change to the Wilson trial beta formula, UMR/electrolyte local stability selection, process/column code, public API, or Huldra work. Documentation impact: update private-method Javadocs and the TP-flash algorithm guide for cold-seed provenance and strict replay acceptance.

  15. EvenSol commented on Aug 16, 2026

    @EvenSol
    CollaboratorAuthor

    Active repair PR: #3055 — cold water-rich seed replay after multiphase collapse

    Draft PR: #3055
    Exact head: cd29e5e60834b89062983d3e2c583b9264f74eda
    Base: f420627b589286b9c9dd6ccd1659deb34b700ae5

    Implemented the frozen repair from #2937 (comment):

    • the strict neutral non-CPA water-rich cold-seed screen now also covers explicit-multiphase runs;
    • a screened one-phase multiphase collapse replays the pre-iteration state through one ordinary TP flash;
    • the existing K-value/clone fallback remains for other eligible water-bearing collapses;
    • Wilson admitted-phase initialization from fix(flash): restore local TPflash stability path #3036 is unchanged;
    • strict beta/composition, material-balance, fugacity, phase-distinction, and lower-Gibbs acceptance gates are unchanged;
    • regressions now cover poor explicit-multiphase beta and deterministic repeated explicit-multiphase execution;
    • Javadocs and the TPflash algorithm guide document the state-provenance repair and bounded solver work.

    VALIDATION PENDING CI. No local Maven, Spotless, documentation-search, or pre-commit execution is claimed. Initial exact-head workflows are queued/in progress; there are no reviews or review threads yet.

  16. 94 remaining items

  17. EvenSol commented on Nov 3, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-03 evening — PS/saturation delivery finalized

    Finalized merged #4831 at preserved exact feature head 1e197b748af064675bb33b9b4791abaa47601a1e; squash merge 3a7455bcfe1f7e8bfe344e35bfa5a095d3c03a16. All 8 exact-head workflow groups and all 19 Core jobs passed, including Java 8/21 on Ubuntu/Windows, both model-specification gates, all eight slow shards and their aggregate gate, Javadoc, agentic benchmark, CodeQL, formatting, hooks, documentation, coverage, skills/agents and PaperLab gates.

    The merged scope retains the independently recovered PR78/TBP entropy root and adds bounded, safeguarded interpolation for PS cold recovery plus the existing water/MEG dew-point and Pitzer hydrate brackets. It preserves strict residual tolerances, physical models, parameters and public APIs. Deterministic work-count guards replace portable wall-clock assumptions. GitHub records no submitted review or inline review thread on #4831, so the merge is recorded as completed exact-head delivery rather than independent thermodynamics/domain approval.

    Current master is 9c9e0773bcdf9efa51de36f8a8f0f43f32f268ac, ten commits ahead. A path audit found no later modification to #4831's PS/saturation implementation. Later relevant work is caller-level only: merged absorber/PVT changes and open #4843 modify SimpleTEGAbsorber or ConstantVolumeDepletion without changing shared TP/PS/TPmultiflash solver code or global tolerances. Open #4838 is pipeline-local conservative transfer and #4845 is P&ID/DEXPI delivery. No distinct new #2937 solver defect or measured bottleneck was verified, so no speculative draft was opened.

    The #4310 timing/allocation gate remains complete through #4712. No independent submitted review or inline thread exists on #4712 or #4649, so #4310 and the #4362 A4b handoff remain open only for that review. Huldra-owned code remains untouched.

    Autonomous occupancy is 3/10 under the governing target and absolute global ceiling of ten:

    This ten-capability policy supersedes every older three-, five-, 20-, 24-, or other generic capacity statement. No source, active head, merge, rebase, master, issue state or Huldra code was changed by this reconciliation.

  18. EvenSol commented on Nov 4, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-04 — fixed-cell precision finalized; laboratory CVD accounting owns the adjacent lane

    Current master is 047cb7e4c59101404bcc3aa8f01761630ca1d87f.

    Finalized merged #4843 at preserved exact feature head ae5caaf22dc860039ef216efbe7915e282ee3fe8; squash merge 6d4c8054d2b404ff484ee1ff2784d4c0c07939ff. All 10 exact-head workflow groups and all 19 Core jobs passed, including Java 8/21 on Ubuntu/Windows, both model-specification gates, all eight slow shards and their aggregate gate, Javadoc, benchmark, CodeQL, formatting, hooks, documentation, coverage, Python tooling and skills/agents checks.

    The bounded opt-in fixed-cell refinement reduced the reproduced 342.5 K / 195 bara phase-amount gap from 2.04e-6 mol to a maximum 4.459934643818997e-10 mol, below the frozen 1e-8 mol bound. Maximum relative cell-volume error was 3.623767952376511e-13, composition error 4.3665071558507407e-13, and named-component closure 5.551115123125783e-17 mol. The change calls the existing TPmultiflash.solveBeta only inside ConstantVolumeDepletion.runFixedCellDepletion; standard TPflash, TPmultiflash, phase-slot lifecycle behavior, shared stopping defaults, EOS inputs and global tolerances are unchanged.

    The five commits since the preceding audit add pipeline-local pool transfer, P&ID/DEXPI delivery and quality review, the caller-level fixed-cell refinement, and executable property documentation. None modifies #4831's PS/saturation implementation or the shared TP/multiphase solver surface.

    Open draft #4851 now owns the adjacent laboratory-CVD accounting lane at exact head 7c05f4583e2a11325f833dfa06bea99dea11d0d5. Its 16 changed paths are PVT utility/reporting, provenance, tests and documentation only; all nine exact-head workflows pass. It does not modify a thermodynamic flash solver. #4850 is thermodynamic source-data/test evidence, #4847 is pipeline-local wall-inventory screening, #4849 is release preparation, and #4852 is executable documentation. No deterministic shared TP-flash defect or attributable performance bottleneck was established, so no speculative #2937 draft was opened.

    The #4310 timing/allocation gate remains complete through #4712. GitHub still records no submitted review or inline review thread on #4712 or #4649, so #4310 and the #4362 A4b handoff remain open only for independent thermodynamic/domain review. Huldra-owned code remains untouched.

    Autonomous occupancy is 5/10 under the governing target and absolute global ceiling of ten:

    The ten-capability policy supersedes every older three-capability, five-capability or lower generic target/ceiling statement. No source, active head, merge, rebase, master, issue state or Huldra code was changed by this reconciliation.

  19. EvenSol commented on Nov 4, 2026

    @EvenSol
    CollaboratorAuthor

    Coordination from #4740 after merged #4855: complete exact-master diagnostic and reproducer, master 3d20d6086654ed71347627f59b164b2aca46e1b7. A separate capped vapor-withdrawal controller retains three 300/325 K ternary states at10 bara that pass the final 1e-12 log-fugacity criterion but reject the existing Gibbs-increase gate. Initial phase-to-total component residuals reach2.86e-12mol and improve to about1.8e-14mol during refinement; the feasibility of the starting Gibbs upper bound needs review. This is not yet a proven solver defect, global-stability result or a fresh public-API replay failure. All three full warm histories, exact inventories/Gibbs/residuals and successful binary controls are retained. No shared flash/default/EOS/tolerance change or competing implementation PR has been opened. Please coordinate any phase-fraction/feasible-Gibbs correction here; #4740 retains its wet/critical/multicomponent qualification boundary.

  20. EvenSol commented on Nov 4, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-04 evening — dry fixed-cell replay finalized; Gibbs gate isolated to unequal inventories

    Current master is 3d20d6086654ed71347627f59b164b2aca46e1b7.

    Finalized adjacent merged #4855 at preserved exact feature head 8989c552452036460d0ae0569d972d6a89e3158e; squash merge e22f4be4521a18d29098f0f3825c96bcd5485d3e. All nine exact-head workflow groups and all 19 Core jobs passed. The delivery adds an opt-in dry fixed-cell phase-transition replay with frozen amount/composition/volume bounds; it changes ConstantVolumeDepletion, PVT handoff utilities, tests, evidence and documentation, while leaving shared flash defaults and EOS parameters unchanged. GitHub records no submitted review or inline review thread on #4855, so the observed merge is not independent domain approval.

    The coordinated negative matrix at #4740 receipt 6637082176 is retained as the next bounded hypothesis. Three 300/325 K ternary warm histories at 10 bara reach final log-fugacity residuals 3.39e-13–4.32e-13 but are rejected because final Gibbs energy is 2.11e-8–3.44e-8 J above the pre-refinement value.

    Source inspection isolates the acceptance boundary in the caller's private refineFixedCellEquilibrium: it evaluates initialGibbs before requiring the phase-summed amounts to match DepletionSnapshot.inventory(cell), then TPmultiflash.solveBeta corrects phase fractions toward that stored total. The recorded initial phase-to-total residual reaches 2.86e-12 mol and falls to about 1.8e-14 mol. Gibbs-energy ordering is only a valid constrained comparison at identical T, P and component inventory. Dividing the observed energy gap by the largest inventory mismatch gives an indicative 7.4–12.0 kJ/mol scale, consistent with a chemical-potential-sized inventory correction; this is supporting inference, not proof for each component or a globally stable alternative.

    Therefore the evidence does not justify relaxing the energy gate, changing TPmultiflash, or accepting the rejected histories. No shared-solver defect or attributable performance regression is established, and no speculative #2937 draft was opened. The dependency-ready next test is a feasible same-inventory Gibbs reference: project or independently reconstruct the pre-refinement phase state at the stored component totals, then require the refined endpoint to preserve phase family, 1e-12 fugacity closure, 1e-12 component balance, and non-increasing Gibbs energy against that matched inventory. The retained three failures plus passing binary/350 K controls must remain the frozen matrix, and a fresh public-API replay must fail before any production repair is selected.

    The eight post-audit master commits are release, documentation, PVT caller, pipeline and process/P&ID work; none modifies standard TPflash, TPmultiflash, #4831's PS/saturation implementation or the #4712 benchmark. Open #4863 is separator energy-accounting work and does not overlap flash ownership.

    The #4310 timing/allocation gate remains complete. GitHub still records no submitted review or inline thread on #4712 or #4649, so #4310 and the #4362 A4b handoff remain open only for independent thermodynamic/domain review. Huldra-owned code remains untouched.

    Autonomous occupancy is 1/10 under the governing target and absolute global ceiling of ten:

    The ten-capability policy supersedes every older three-capability, five-capability or lower generic target/ceiling statement. No source, active head, merge, rebase, master, issue state or Huldra code was changed by this reconciliation.

  21. EvenSol commented on Nov 4, 2026

    @EvenSol
    CollaboratorAuthor

    The prerequisite from6637443544 is completed in sole #4740 draft #4866, exact head d24962df86f5417836978a24bb0d5e9edde0f46e, base e316ffb6d7eb42a176156dd278731a010d9a5196. All three states fail a fresh public fixed-cell replay on baseline. Independently reconstructed same-inventory homogeneous phases give a feasible energy reference; a caller-only repair uses serialized copies and keeps every original Gibbs/fugacity/component/phase/volume tolerance. No TPflash/TPmultiflash source/default or EOS parameter is changed. Nine scaled public replays and all16parcel meshes now pass;670PVT/50tooling tests pass. All20native coarse inventories remain bit-identical. Complete source, raw before/after/projection data, runtime/static limitations and exact-head ledger. This is not a claimed shared-solver defect or global-stability qualification; subsystem/independent domain review and hosted CI remain required. No competing shared-solver framework or #2937 implementation PR is opened.

  22. EvenSol commented on Nov 5, 2026

    @EvenSol
    CollaboratorAuthor

    Caller-only follow-up to the merged4866 Gibbs-reference work: draft4868, head45bc4ca169d69dd15a67f4e331937b64cc35ad26, base d6dd0cd. At275K/100bara, SRK methane/n-butane0.95/0.05mol with n-heptane registered at0mol, a redundant TPflash of the already qualified initial CVD cell changes total moles to0.999999999998 and relative occupied volume by-1.0004457990173167e-12 before any withdrawal. The existing1e-12gate therefore rejects; the two-component control passes. We reuse the caller-qualified endpoint for the first precise volume check, retaining post-withdrawal flashes, all existing gates, and the legacy sequence. No shared TPflash/TPmultiflash/default/tolerance change or competing solver framework. Full baseline trace and bounded independent zero-registration qualification are in 4740receipt6650441708. 674PVT/50tooling tests pass;135zero-registered paths/999endpoints include81independent binary-reference paths, with exact zero inventory/withdrawal. This is synthetic numerical qualification, not measured accuracy or grounds for a global tolerance change. Existing19SpotBugs findings and inconclusive timings remain explicit.

  23. EvenSol commented on Nov 5, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-05 — matched-inventory Gibbs repair finalized; zero-registration caller follow-up active

    Current master is d6dd0cd190ac32f04a08627fafdeff7f745566e5.

    Finalized adjacent merged #4866 at preserved exact feature head d75a0432555dd82255b8ac5e6535988444c4e3ab; squash merge 9a928fd70d073859749917d37f53f9fe1d7f9cc8. All nine exact-head workflow groups and all 19 Core jobs passed, including Java 8/21 on Ubuntu/Windows, both model-specification gates, Javadoc, the benchmark gate, all eight slow shards and their aggregate, CodeQL, formatting, hooks, documentation, coverage, devtools, skills/agents and PaperLab.

    The merged caller-level repair completes the frozen dependency from ledger 6637443544. A fresh public replay reproduced all three fixed-cell failures, and the repair reconstructs a feasible pre-refinement Gibbs reference at the same stored component inventory before applying the unchanged energy guard. The final exact-head scope retains the original 1e-10 relative Gibbs allowance, 1e-12 fugacity/volume targets, component and phase-family gates. Sixteen focused tests, 671 surrounding PVT tests and 50 tooling tests passed locally; 108 reference-only EOS controls and the capped withdrawal mesh improved the retained baseline from 13/16 to 16/16 paths while all 20 native coarse inventories remained bit-identical. No TPflash or TPmultiflash source, shared default, EOS parameter or global tolerance changed. GitHub records no submitted review or inline review thread on #4866, so the observed merge is not independent domain approval.

    Sole active draft #4868 now owns the adjacent zero-registered-component fixed-cell boundary at exact head 45bc4ca169d69dd15a67f4e331937b64cc35ad26, base d6dd0cd190ac32f04a08627fafdeff7f745566e5. Its fresh public reproducer shows that an otherwise redundant first restoration flash changes total moles to 0.999999999998 and the occupied-volume residual to -1.0004457990173167e-12, just outside the retained 1e-12 target. The bounded candidate reuses the already flashed, density-initialized and refined entry state only for that first precise check; every post-withdrawal flash/refinement and every existing gate remain. Local evidence reports 674 PVT tests and 50 tooling tests passing, plus 135 zero-registered paths / 999 endpoints including 81 independent binary-reference paths.

    Hosted exact-head status at this lease: 8/9 workflow groups pass; [Core] Build, Test, and Javadoc remain active without a reported failure. No submitted review or inline thread exists. Status: VALIDATION PENDING EXACT-HEAD CI AND INDEPENDENT SUBSYSTEM/DOMAIN REVIEW. Because #4868 already owns the reproduced caller boundary, no competing #2937 implementation is opened.

    The only post-#4866 master commit is executable process-comparison documentation; the preceding signed-boundary pipeline and literal-PVT documentation work also does not modify the shared TP-flash/stability/multiphase solver paths. No distinct shared-solver defect or attributable performance bottleneck is established.

    The #4310 timing/allocation gate remains complete. GitHub still records no submitted review or inline thread on #4712 or #4649, so #4310 and the #4362 A4b handoff remain open only for independent thermodynamic/domain review. Huldra-owned code remains untouched.

    Autonomous occupancy is 1/10 under the governing target and absolute global ceiling of ten:

    The ten-capability policy supersedes every older three-capability, five-capability or lower generic target/ceiling statement. No source, active head, CI retry, merge, rebase, master write, tolerance, issue state or Huldra code was changed by this reconciliation.

  24. EvenSol commented on Nov 5, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-05 evening — zero-registration fixed-cell repair finalized; shared-solver lane remains evidence-gated

    Current master is 69de066ea61b559b7df727117e4a5a83352633fa.

    Finalized adjacent merged #4868 at preserved exact feature head 45bc4ca169d69dd15a67f4e331937b64cc35ad26; squash merge 24ef4a6f5ef5769c0f10462585df1cba365acfbb. All nine exact-head workflow groups and all 19 Core jobs passed. Java 8 and Java 21 on Ubuntu and Windows each executed 19,796 tests with zero failures/errors and 209 skips; all 674 PVT tests in 79 classes passed without PVT skips. Both model-specification gates, Javadoc, the benchmark gate, all eight slow shards and their aggregate, CodeQL, formatting, hooks, documentation, coverage, devtools, skills/agents and PaperLab passed.

    The merged caller-level change reuses the already flashed, density-initialized, refined and phase-checked fixed-cell entry state before the first precise volume check. It preserves every post-withdrawal flash/refinement, the 1e-12 relative-volume target, the independent 1e-8 mol bounds, phase/equilibrium/conservation gates, legacy scan behavior, EOS parameters and global tolerances. The retained qualification covers 135 zero-registered paths / 999 endpoints plus nine binary controls, and the supplemental matrix covers 252 paths / 1,260 endpoints across SRK/PR, volume correction off/on, inactive n-heptane/nitrogen/CO2 placement, three temperatures and three scales. Maximum internal volume and log-fugacity residuals were 7.9237e-13 and 9.9157e-13. No TPflash or TPmultiflash source changed. GitHub records no submitted review or inline review thread on #4868, so the observed merge is not independent subsystem/domain approval.

    The three commits after the previous audit are merged #4868, optimizer-Javadoc repair #4870, and two-fluid terrain-pool reporting #4871. The latter two modify optimization documentation/tests or pipeline reporting only; neither touches standard TP flash, multiphase flash, stability, EOS inputs or shared tolerances.

    No open autonomous implementation PR remains. Autonomous occupancy is 0/10 under the governing target and absolute global ceiling of ten. The one-active-PR-for-#2937 rule is clear, but no distinct shared TP-flash defect, unstable endpoint, failed frozen numerical gate or attributable performance bottleneck is established on current master. Therefore no speculative draft is opened.

    The next #2937 implementation still requires a frozen public reproducer from the broader hydrocarbon, water, CO2/H2, CPA/electrolyte, near-boundary, tiny-phase and poor-initialization matrix, with the campaign's unchanged conservation, normalization, fugacity, stability, cross-algorithm, repeatability and paired-performance gates. Caller-level measured-data and full PVT/MBAL acceptance remain owned by #4740 rather than this shared-solver lane.

    The #4310 timing/allocation gate remains complete. GitHub still records 0 submitted reviews and 0 inline review threads across #4712 and #4649, so #4310 and the #4362 A4b handoff remain open only for independent thermodynamic/domain review. Huldra-owned code remains untouched.

    The ten-capability policy supersedes every older three-capability, five-capability or lower generic target/ceiling statement. Documentation impact: none for this read-only reconciliation. No source, branch, PR head, CI retry, merge, rebase, master write, tolerance, issue state or Huldra artifact was changed by this run.

  25. EvenSol commented on Nov 5, 2026

    @EvenSol
    CollaboratorAuthor

    #4740 ownership coordination: new sole draft #4878, exact head c84b3d8 (base69de066ea61b559b7df727117e4a5a83352633fa), adds a named explicit initial-occupied-volume gas/aqueous depletion protocol through aqueous disappearance. It reuses existing local CVD precision/Gibbs/conservation gates; no TPflash, shared solver/default, chemical-water identity, minor-water recovery, continuation or cubic-performance source is changed. #4872–#4877 exact heads were inspected and left untouched. Independent binary SRK27paths/270states, both checkpoint choices (540checks), zero-water controls and678PVT tests pass locally; no measured-water-EOS or arbitrary topology qualification is claimed. Aqueous appearance/reappearance, oil-containing wet transitions and wet upper-dew inference remain unsupported. Full evidence/limits: #4740 (comment) . Hosted CI/domain review are pending; this is coordination, not a request for a competing flash framework.

  26. EvenSol commented on Nov 6, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-06 — dilute-water recovery and cubic flash optimization finalized; overlapping heads preserved

    Current master is 5fa68e8c67f21ebaaea0d3e7c63be7c0ea58f92a, eight commits ahead of the previous audit.

    Finalized merged shared-flash #4873 at preserved exact feature head ba7aed2c81e7b1e7a9f29effb9af2d060c066f57; squash merge f901a7b445bd8bd923dc21ee49be8befc3a8b13f. It recovers genuinely supersaturated cubic-EOS oil below the former five-mole-percent overall-water screen while preserving the existing normalization, material-balance, fugacity and lower-Gibbs gates. The negative GAS+OIL screen now exits before a full-system clone/Gibbs evaluation; no entropy, equilibrium or global flash tolerance was relaxed. The focused/adjacent selection passed 159/159 tests. All eight published exact-head workflow groups and all 19/19 Core jobs passed, including Java 8/21 on Ubuntu/Windows, both model-specification gates, Javadoc, benchmark accuracy and all eight slow shards. Bounded paired evidence reduced the undersaturated complete-TPflash median from about 15.77 ms to 1.42 ms and allocation from 17,480,416 to 1,614,776 bytes; positive controls retained numerical checks and no universal speedup is claimed.

    Finalized merged cubic-EOS performance #4875 at preserved exact head 01cf5176706707acd63191ca7fd7d4edc2a947c0; squash merge d462d35c78e07ad5f6e99ce4b1f5c2ac153b0a7c. It avoids unused gas-root composition classification and reuses the liquid B/V seed inside one cubic volume solve without changing equations, root selection, convergence tolerances or public APIs. 160/160 focused tests passed; independent numerical fingerprints were identical. All seven triggered workflow groups and all 19/19 Core jobs passed. Six bounded full-TP workloads measured candidate/baseline median-time ratios 0.846–0.990 with unchanged allocation; no process-wide claim is made.

    Adjacent PVT #4878 also merged at preserved exact head 6c163ea0eb51af1c74a723bda41828878ded56f6 as a9a7787a587e741bc94bc1c247b3a440764b4618, with all nine workflow groups passing. Its explicit gas/aqueous fixed-cell disappearance protocol changes PVT caller behavior only; shared TPflash/TPmultiflash defaults and solvers are untouched.

    The five positively identified active autonomous capabilities are 5/10:

    • #4872 dae9c144d7880cf76ecf8f43986c4ed8ad53fe6f
    • #4876 ab8846137dce2bca481d93b8b6bb40845776beda
    • #4877 0d9cd4decb36e89b4c483e86663b87e295c4eb07
    • #4882 79a340300c7dfe4142bcbc3f98ebdd6f8095324a
    • #4885 c2c87ef2413f701a9221699dd0dd7df63c1c0aa1

    Every head above remains unchanged. Capacity is available below the absolute ceiling, but #4872 and #4876 already overlap the #2937 shared-flash lane, so the one-active-PR/ownership guard blocks a new draft. Both have requested changes and two unresolved review threads. #4872's current instance-local seed does not survive the fresh TPflash objects created by cold PS trials. #4876's current recovery still misses the gas-preserving labelled-water path; the review supplies a public exact-head reproduction. The next dependency-ready work is therefore in-place owner repair and frozen SRK/PR changed-state qualification on those preserved PRs, not a replacement or competing framework.

    The #4310/#4362 Huldra handoff remains review-gated: GitHub still records 0 submitted reviews and 0 inline threads on both #4649 and #4712. No Huldra-owned code, master, active head, readiness state, merge state or campaign issue state was changed by this run. No new #2937 draft was opened.

  27. EvenSol commented on Nov 6, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-06 evening — zero-flow phase-state repair finalized; overlapping flash heads still block a new draft

    Current master is de81c1f81c226988a2326c27ed1873094ed86e11, six commits ahead of the previous #2937 audit.

    Finalized adjacent merged #4890 at preserved exact feature head f5597ef4905501844d00d5dd19bb8a083d05d73b; squash merge de81c1f81c226988a2326c27ed1873094ed86e11. It preserves an initialized intensive phase map and exact zero material when flow is set to zero, then restores positive flow from normalized stored overall fractions instead of assigning the requested flow to every component. The unchanged-master reproducer fails 20/20 cases and the candidate passes 20/20; focused tests pass 64/64, and the expanded matrix passes 288/289 with one pre-existing disabled display test and zero failures/errors. All eight exact-head workflow groups and all 19/19 Core jobs passed. This is relevant phase-state lifecycle hardening, but it changes only SystemInterface/SystemThermo; standard TPflash, TPmultiflash, stability equations, EOS inputs and campaign tolerances are unchanged.

    Finalized adjacent merged PVT qualification #4885 at preserved exact head 03506165c021d2f1f3446bf93f60bc07cc9889a6; squash merge e2a702a5e804f4953ad4c4afae6ac7972d130b86. All eight workflow groups and all 19/19 Core jobs passed. Its independent gas-only laboratory-to-tank, continuous-flow and pressure-weighting qualification changes tests, evidence and documentation only: every production Java file, public API, default and dependency remains unchanged.

    Merged #4882 (process safety/P&ID), #4887 (hydrate documentation), #4888 (pigging) and #4889 (two-fluid network transactions) account for the other master changes. None modifies shared TP flash, multiphase flash or the two outstanding flash branches.

    The positively identified autonomous implementation portfolio is 4/10, under the governing target and absolute ceiling of ten:

    • #4872 dae9c144d7880cf76ecf8f43986c4ed8ad53fe6f
    • #4876 ab8846137dce2bca481d93b8b6bb40845776beda
    • #4877 0d9cd4decb36e89b4c483e86663b87e295c4eb07
    • #4891 adf765c387cb694902f70f488bff93ee0ef29fda

    Every exact head above remains unchanged. #4891's body text claiming 1/20 occupancy and a ceiling of 24 is stale and non-governing; this ledger's 4/10 count and absolute ceiling of ten supersede it without mutating the unrelated PR.

    Capacity is available, but #4872 and #4876 already occupy and overlap the #2937 shared-flash lane. Each still has a requested-changes review and two unresolved threads at the same exact head: #4872 loses its continuation seed across fresh cold-trial TPflash instances, while #4876 still misses the gas-preserving labelled-water recovery path. The next dependency-ready action is owner repair and frozen SRK/PR changed-state qualification on those existing heads, not a replacement, rebase or competing draft. Therefore no new #2937 PR was opened.

    The #4310/#4362 Huldra handoff remains review-gated: GitHub still records 0 submitted reviews and 0 inline threads on both #4649 and #4712. No Huldra-owned code, active head, readiness state, merge state, issue state, default branch or tolerance was changed by this run.

  28. EvenSol commented on Nov 7, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-07 — aquifer increments finalized; reactive-Pitzer exact-head CI exception recorded

    Current master is d8c9354ab490564c3c2220b8f735c645cd575c79, eight commits ahead of the previous #2937 audit. The intervening changes contain no TPflash or TPmultiflash source change.

    Finalized adjacent merged aquifer work:

    Recorded a validation exception for adjacent reactive-equilibrium #4896, merged at preserved exact feature head 7d36d1bbbf44b8868c46fba1bbf2ae462204139e, merge 6de7d5b720269fa1aa20da63f532338c6db2f250. Its bounded Pitzer numerical receipt remains useful: ten IPhreeqc states give pH MAE 0.0004336 (maximum 0.0009217), water-activity MAE 1.308e-5 (maximum 2.606e-5), and the coupled case reports reaction-log residual 1.94e-6, element residual 1.97e-11 mol, and charge residual 6.12e-16. However, the final bot-authored inventory commit's duplicate hosted workflow set awaited maintainer approval; after merge, all eight runs finalized as failures with zero jobs, including Core build/test/Javadoc and pre-commit. The exact head is therefore not recorded as fully campaign-qualified. No rerun, repair, or branch mutation was attempted after merge.

    Autonomous implementation occupancy is 3/10:

    Capacity is available, but #4872 and #4876 still overlap the shared flash ownership lane and retain their unresolved correctness findings. Under the one-active-PR rule, no new #2937 draft was opened. Huldra handoff PRs #4649 and #4712 remain without reviews or unresolved threads.

    No source, active head, merge, rebase, synchronization, master, tolerance, or Huldra mutation was made by this audit.

  29. EvenSol commented on Nov 7, 2026

    @EvenSol
    CollaboratorAuthor

    2026-11-07 evening — reference-water TP dispatch audited; advanced flash heads remain blocked

    Current master is 183f9c993daad47059fa6129f5b52d124a9469bd, nine commits ahead of the previous #2937 audit.

    The only intervening shared TPflash source change is merged cooling-water #4908, preserved at exact feature head 248f7de6bd6fc7cb3bdaf2c94225be54a1d38ed8, merge 982b4b3c1e5d036ca71af7b73c66c5d2bb790057. Its 14-line TP-flash dispatch is restricted to SystemWaterIF97/SystemSeawater: it validates the reference-water envelope, returns one liquid phase and bypasses cubic-EOS saturation logic. Generic TP-flash algorithms, equilibrium tolerances and cubic/CPA/Pitzer paths are unchanged. The retained local receipt reports 1,060 Java and 197 devtools tests passing, while exact-head hosted Core, Java 8/21, slow, model, documentation, formatting and security groups passed. The newly introduced Code Health workflow failed on that exact head, so #4908 is not recorded as a fully green exact-head campaign increment.

    The latest #4910 exact feature head 5d72d77af2d4215991100985a47f0b22fc29e522 passes Code Health and every non-Core workflow. Core fails on both Ubuntu and Windows only in three NeqSimXtreamLegacyCompatibilityTest cases (20166 tests, zero failures, three errors, 209 skipped); all TP-flash/saturation, model-specification and slow suites passed. This is recorded as a repository-base validation blocker, not evidence for a new flash solver mutation.

    External conflict-resolution work advanced the three long-lived remote heads. These current heads are now the authoritative preservation leases; this campaign made no further change:

    • #4872 → fdda89cd96bf49e5a54507efd78cd09eade3104a. Core and seven hosted groups pass; Code Health fails. The changes-requested review and both unresolved correctness threads remain: continuation state is still instance-local across fresh PS cold-trial TP flashes, and changed-state/homogeneous controls are still absent.
    • #4876 → 805c47d2010346216b80a9a85b4a8f6d3b2c2035. Core and seven hosted groups pass; Code Health fails. The changes-requested review, public labelled-water reproduction and both unresolved correctness threads remain.
    • #4877 → 7e587db8603fb166d43c6b222cf7d12db9b8fb15. Ten hosted groups pass; Code Health fails. Six review threads remain unresolved, including two current component-selective mapping defects.

    Autonomous implementation occupancy is 5/10, additionally including draft #4914 at 62ff24ee8a7a81f8b3828b970ce6b44bcb1c9a07 and draft #4915 at 25d2be2464211812a1eb4b67c285391ca8db7c6b.

    Capacity is available, but #4872 and #4876 still overlap the shared-flash ownership lane and remain correctness-blocked. The current master also lacks a fully passing fast matrix. Under the one-active-PR rule and frozen numerical gates, no new #2937 draft was opened. Huldra handoff increments #4649 and #4712 remain merged and unchanged.

    No source, active head, CI retry, merge, rebase, synchronization, master, tolerance, issue-state or Huldra mutation was made by this audit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions