Repository navigation
feat(refinery): add bounded TBP mass-basis recovery - #4272
Conversation
Refresh the generated agent and skill mappings against the current PR source. Verified coverage freshness, 18 coverage/documentation tests, Spotless, documentation search, and both all-file hook stages.
|
Integration coordination (2026-10-09): current PR head |
Advances #3305 with the next dependency-ready Phase-1/property-bridge increment.
Capability
sum(Delta V_i * SG_i);TbpBoilingRangePropertiesand direct K/degC range queries;For the focused three-cut fixture, the denominator is 84 SG-weighted liquid-volume percentage points. The 350-550 K range contributes 54.5 and therefore 64.88095238 mass%; 50 mass% inverts to 470 K. Partitioned interval mass yields close to 100%.
Model boundary and provenance
This reuses the already-qualified piecewise-linear cumulative liquid-volume curve and constant interval SG60/60 assumptions. It introduces no external dataset, empirical coefficient, fitted correlation, or licensing surface.
It is a transparent ideal-additive-volume basis conversion, not a measured weight-percent distillation curve. It does not add density-temperature correction, excess-volume or contraction modeling, D86/D1160 conversion, pseudo-component generation, molecular-weight or critical-property estimation, phase equivalence, fractionation, blending, optimization, or conversion-unit behavior.
Validation
Deterministic analytical tests cover whole-table and partial-cut yields, forward/inverse round trips, partition closure, K/degC parity, snapping, immutability, and invalid-input rejection. A Python contract protects the documentation/API linkage.
Hosted validation already established:
A fresh full CI cycle is running on the final head. VALIDATION PENDING CI — KEEP DRAFT.
Documentation impact
Updated the refinery assay guide and characterization index with formulas, units, API usage, assumptions, provenance boundary, failure behavior, and explicit exclusions. Added the generated engineering inventory and a documentation-contract regression.
Exact base:
1db2650325cf7860f686fb4d8fa7de986b5a915aPublished head:
0dffc3dc5833915aad3066ab2d30048326817ff0Permanent changed paths: 6. The temporary artifact-export workflow edit was restored before this final head.
Autonomous implementation occupancy after publication: 2/10 (#4272 and #4273). Ten is both the target and absolute global ceiling. No merge, auto-merge, ready-state transition, rebase, synchronization, replacement, closure, or peer-head mutation is requested.
CI repair — 2026-10-08
The merge from master introduced
capacity-increase-screeningagent/skill mappings without regenerating the engineering inventory. This reproduced the failingbuild_engineering_coverage.py --checkonfde91216515318fefe89cfe8f2396fc86b962d2a.Commit
0dffc3dc5833915aad3066ab2d30048326817ff0regenerates onlysrc/main/resources/neqsim/mcp/engineering-coverage.json: 250 agent mapping entries and 23 skill mapping entries. Source digests, registered capabilities, APIs and runtime behavior are unchanged. The published blob matches the locally generated file exactly.Validation on the final repair tree (NeqSim 3.23.0, OpenJDK 17.0.20, Python 3.12):
python3 devtools/build_engineering_coverage.py --check— exit 0; stale-state failure reproduced before regeneration.PYTHONPATH=/tmp/neqsim-final-deps python3 -m pytest devtools/test_engineering_coverage.py docs/test_refinery_tbp_mass_basis_recovery_documentation.py -q— exit 0, 18 passed.python3 devtools/run_spotless.py check— exit 0, with the work-with-neqsim Maven bootstrap.python3 devtools/check_documentation_search.py— exit 0, 787 Markdown pages and one HTML page.PYTHONPATH=/tmp/neqsim-final-deps python3 -m pre_commit run --all-files --hook-stage pre-commit— exit 0; Spotless apply passed and changed no Java files.PYTHONPATH=/tmp/neqsim-final-deps python3 -m pre_commit run --all-files --hook-stage pre-push— exit 0; Spotless and documentation search passed.git diff --check— exit 0.Documentation impact: none for this repair, because it refreshes generated discovery mappings only; the existing mass-recovery API guide is unchanged and its documentation contract passed. Fresh hosted CI is running on the repaired head. VALIDATION PENDING CI — KEEP DRAFT.
Authoritative five-of-ten exact-head coordination — 2026-10-08
Preserved exact head
0dffc3dc5833915aad3066ab2d30048326817ff0, base44d16dc44415050cb7238d6a8a47f53c660e8f4c, open/draft state, scope, and branch history. Currentmasterise5bdd877038cc0eba17b011ac5182cc845aa4910. Six auxiliary workflow groups pass and Build/Test/Javadoc is 12/14 successful with Java 8 Ubuntu/Windows active. GitHub currently reports the head non-mergeable against advancedmaster; preserve the head and do not rebase.Positively identified autonomous implementation occupancy is 5/10: #4272, #4274, #4275, #4276, and #4277. Ten is both the target and the absolute global ceiling. This supersedes every stale earlier roster, 20/24, bounded-overflow, three-capability, five-capability, or conflicting generic portfolio statement in this body.
#4272, #4275, #4276, and #4277 own
src/main/resources/neqsim/mcp/engineering-coverage.json; #4275/#4276 additionally overlap inLoopedPipeNetwork.java,SURF_NETWORK_INTEGRATION.md, and related network tests. #4274 is campaign-catalog disjoint. Preserve every exact head and use maintainer-led integration ordering. Package 3 for #3153 remains unaccepted and unstarted until all generated-resource ownership clears.Documentation impact is unchanged from the implementation sections above. This addition is metadata-only: no source mutation, head or base movement, workflow retry, synchronization, rebase, readiness transition, merge, replacement, closure, abandonment, or peer-head mutation was performed.
Authoritative exact-head validation — 2026-10-09
Exact head
0dffc3dc5833915aad3066ab2d30048326817ff0is fully green:There are no review submissions or unresolved inline threads. The PR remains draft. Current
masterise5bdd877038cc0eba17b011ac5182cc845aa4910, while this PR retains exact head0dffc3dc...and recorded base snapshot44d16dc...; GitHub therefore reports it non-mergeable. Per campaign continuity policy, no rebase, synchronization, force-push, replacement, closure, readiness transition, or merge was performed.Positively identified autonomous implementation occupancy is 5/10: #4272, #4274, #4275, #4276, and #4277. Ten remains both target and absolute global ceiling. This section supersedes earlier transient CI and occupancy statements without changing the frozen capability contract or documentation impact.
Authoritative ready-state coordination — 2026-10-09
An external workflow marked this PR ready without moving exact head
0dffc3dc5833915aad3066ab2d30048326817ff0. This campaign preserves that state and did not perform the readiness transition.All seven hosted workflow groups remain successful on the exact head, with no review submissions or unresolved inline threads. Current
masterisffde2f43443ae65d57d02497e31fefb71b637555; the PR retains recorded base snapshot44d16dc...and GitHub reports it non-mergeable. It is therefore not READY TO MERGE, despite its non-draft UI state.Positively identified autonomous implementation occupancy is 4/10: #4272, #4274, #4275, and #4277. #4276 has merged. Ten remains both target and absolute global ceiling. No source, head, base, rebase, synchronization, force-push, replacement, closure, merge, or peer-head mutation was performed by this campaign run.
Draft restoration and four-of-ten coordination — 2026-10-09
An external workflow moved this PR to ready state without changing exact head
0dffc3dc5833915aad3066ab2d30048326817ff0. The campaign restored the PR to draft to enforce the established draft-only workflow. The head, base, branch history, source, CI runs, and review state were not changed. All seven exact-head workflow groups remain successful; GitHub still reports the PR non-mergeable against currentmasterffde2f43443ae65d57d02497e31fefb71b637555.#4276 merged from final head
721a8e88eb8d9892a22c123ed5cba675c80e6514asffde2f43443ae65d57d02497e31fefb71b637555. Positively identified autonomous implementation occupancy is now 4/10: #4272, #4274, #4275, and #4277. Ten remains both target and absolute global ceiling.Package 3 for #3153 remains unaccepted and unstarted: #4272, #4275, and #4277 still own
src/main/resources/neqsim/mcp/engineering-coverage.json; #4275 also owns overlapping network source, tests, and the SURF guide. #4274 is campaign-catalog disjoint. No campaign source mutation, workflow retry, rebase, synchronization, force-push, replacement, closure, merge, or peer-head mutation was performed.Verified merge and five-of-ten rotation — 2026-10-09
This PR merged from final repaired head
bca7aa829a101d9fde2892ea6f6a95fee80f16b3as currentmasterea7d61ac1cbfc4b25689a4e81406a7bef248ae64. Six auxiliary workflow groups succeeded. The build/test/Javadoc workflow had 12/14 successful jobs at this snapshot, with Java 8 Ubuntu and Windows still active; the repair and merge were external to this campaign.Positively identified autonomous implementation occupancy is now 5/10: #4274, #4275, #4277, #4279, and #4280. Ten remains both target and absolute global ceiling. #4272 is removed from active capacity.
The #3153 one-active-PR gate is clear, but Package 3 remains overlap-deferred because #4275, #4277, #4279, and #4280 own
src/main/resources/neqsim/mcp/engineering-coverage.json; #4275 and #4279 also overlap in the SURF guide. No campaign source mutation, workflow retry, rebase, synchronization, force-push, replacement, closure, merge, or peer-head mutation was performed by this reconciliation.