Repository navigation
Commit c62187d
committed
[fix.fields.rho.D8+] a warm is not an interaction, so it must not inherit an interaction's budget
Ivan: qm potential 还是没有缓存,把所有的都缓存好. The warm ran and lapatinib —
the interview molecule, the only halogenated one — cached nothing. Two causes,
one of them mine:
① The warm clicked the BUTTONS, so it inherited the panel's 60 s client budget.
Lapatinib came back "SCF exceeded its 60 s budget after 10 cycles (234 basis
functions)". A warm has nobody waiting on it; the only correct budget is a
generous one. It now POSTs directly with max_seconds=900.
It still needs the app's EXACT molfile, because the durable cache is keyed
on sha256(molfile) and the app's is reconstructed by mol* from scene loci.
window.diracFields exposes the molfile the panel would send, so the warm
writes keys the app will actually ask for.
② I RESTARTED THE FIELDS DAEMON REPEATEDLY WHILE THE WARM WAS IN FLIGHT. Four
of lapatinib's six fields read "Backend unreachable". Those rows never had a
chance and the failure was mine, not the molecule's — worth writing down
because the screenshot blames the chemistry and the log blames the operator.
WATER, and this one is a refusal that was RIGHT for the wrong-looking reason.
The pocket field refused with "no AMBER template charge for HOH:O". AMBER does
carry water — WAT:OW -0.834 plus two WAT:HW +0.417, summing to zero as it must.
But a crystallographic water is ONE OXYGEN: the hydrogens were never resolved.
Mapping HOH:O onto OW would contribute a fictitious -0.834 MONOPOLE per water,
and an electrostatic field is dominated by its monopoles — six pocket waters
would be five charge units of pure invention sitting on top of the answer.
Placing the hydrogens is not a repair either: a water's entire electrostatic
identity is its dipole DIRECTION, so inventing an orientation points it
confidently the wrong way. Waters are excluded, counted, and the reason rides
on the response.
CURRENCY GUARD on both physics SCF paths, from a peer's frontend state audit.
runSurface/runTorsion committed a multi-second result with no check that the
ligand was still the one asked about: click A, click B while A is solving, and
A's number renders into B's scene with nothing about it looking wrong.
field-wells has had this guard since this morning; this facet, written hours
later, did not. Third instance today of a fix landing on one path of two.
isCurrentLigandGeneration is exported deliberately so gate 8 can mechanise ONE
invariant — every SCF-reaching path is bounded AND its result is checked before
it lands — instead of two with only one enforced.1 parent 68c48a3 commit c62187d
4 files changed
Lines changed: 109 additions & 17 deletions
File tree
- backend
- scripts
- src/app.frontend.facets.molstar-rdkit.editable/facets
- field-wells
- ligand-physics
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1257 | 1257 | | |
1258 | 1258 | | |
1259 | 1259 | | |
| 1260 | + | |
| 1261 | + | |
1260 | 1262 | | |
1261 | 1263 | | |
1262 | 1264 | | |
| |||
1293 | 1295 | | |
1294 | 1296 | | |
1295 | 1297 | | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
1296 | 1312 | | |
1297 | 1313 | | |
1298 | 1314 | | |
| |||
1358 | 1374 | | |
1359 | 1375 | | |
1360 | 1376 | | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
1361 | 1382 | | |
1362 | 1383 | | |
1363 | 1384 | | |
| |||
1433 | 1454 | | |
1434 | 1455 | | |
1435 | 1456 | | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
1436 | 1463 | | |
1437 | 1464 | | |
1438 | 1465 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
81 | 89 | | |
82 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
83 | 93 | | |
84 | 94 | | |
85 | 95 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
857 | 857 | | |
858 | 858 | | |
859 | 859 | | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
860 | 866 | | |
861 | 867 | | |
862 | 868 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
79 | 97 | | |
80 | 98 | | |
81 | 99 | | |
| |||
295 | 313 | | |
296 | 314 | | |
297 | 315 | | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
298 | 331 | | |
299 | 332 | | |
300 | 333 | | |
| 334 | + | |
301 | 335 | | |
302 | | - | |
| 336 | + | |
303 | 337 | | |
| 338 | + | |
304 | 339 | | |
305 | | - | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
306 | 347 | | |
307 | 348 | | |
308 | 349 | | |
| |||
334 | 375 | | |
335 | 376 | | |
336 | 377 | | |
| 378 | + | |
337 | 379 | | |
338 | 380 | | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
339 | 387 | | |
340 | 388 | | |
341 | 389 | | |
| |||
404 | 452 | | |
405 | 453 | | |
406 | 454 | | |
| 455 | + | |
407 | 456 | | |
408 | 457 | | |
409 | 458 | | |
| |||
0 commit comments