Subgraph nodes use concat(coords, trunk h) so the fragment encoder sees the same-step global geometry context; first sub_conv is GCNConv(3+hidden, hidden).
Made-with: Cursor
Add self-loops on batched subgraph edges, LayerNorm after subgraph pool, small Xavier init on the torsion MLP, nan_to_num and optional output clamp, and a separate Adam LR group for subgraph modules via --subgraph-lr-scale/--subgraph-torsion-clip.
Made-with: Cursor
Include rotatable bond endpoints in each movable-side subgraph, use a dedicated subgraph GCN stack (not weight-tied to the full-graph trunk), and run one batched forward over all B×T subgraphs.
Made-with: Cursor
Add pre-commit guard against staging train.py with README.md, document the two-commit workflow, gitignore *.sdf, and remove trajectory SDFs from the index so logs stay small.
Made-with: Cursor
Apply movable_mask only to build induced subgraphs and run shared GCN on subgraph coords; remove mask values as direct MLP inputs. Log calibration run and eval artifacts.
Made-with: Cursor
Per-torsion predictions use bond endpoints and movable masks with pooled context; document smoke runs and persist latest eval artifacts.
Made-with: Cursor
Replace experimental Fourier-band and shared trunk MLP options with a structural readout choice (mean vs learned softmax pooling) for GCN, keeping the original fixed time embedding.
Made-with: Cursor
Introduce an upper-quantile tail penalty option in training loss, run the first S4 experiment, and commit README/eval artifacts per per-attempt logging policy.
Made-with: Cursor
Record the latest no-improvement result in README and persist evaluation outputs so each experiment is fully logged and committed before the next run.
Made-with: Cursor
Require immediate README logging plus per-attempt commits, and publish latest diagnostics/reports and trajectory-analysis utility without carrying train.py changes.
Made-with: Cursor
Sync workflow rules for merge-time gating and micro-tuning limits, and bring recent failed-attempt diagnostics into the README without including train.py or experiment artifacts.
Made-with: Cursor
Add NaN/Inf guards for geodesic loss and RMSD evaluation, document best-update merge policy in guidelines, and record stabilization attempt notes before mandatory integration to main.
Made-with: Cursor
Make wrapped torsion loss mandatory, add configurable train-loss early stopping controls, and log new architecture/loss attempts; latest geodesic run improves mean_rmsd_100 to 2.429895 for mainline integration.
Made-with: Cursor
Document that README Attempt Log lines from feature branches must land on
main via docs-only commit when train.py is not merged; add missing branch
eval summary to main README.
Made-with: Cursor
Run flow-matching constraints whenever train.py is staged; apply strict mean_rmsd_100 and best-artifact updates only on the main branch. Update GUIDELINES and README for branch-per-attempt commits and cherry-pick re-integration.
Made-with: Cursor
Forbid using the final RMSD metric (or equivalent) as a training-time stop signal; allow train-side stopping only. Add rollback hygiene when failures accumulate without beating BEST_PRACTICE, and log the executed rollback to the attempt log.
Made-with: Cursor
Record outcomes for terminal-consistency and decoupled-head architecture experiments, including the near-best no-terminal variant, while keeping best-practice baseline unchanged.
Made-with: Cursor
Clarify that independent attempts must be research-level changes, enforce logging of both successful and failed trials, and document checkpoint promotion flow for latest-eval vs best artifacts.
Made-with: Cursor
Require attempt-log updates on train.py commits, save per-run checkpoint as latest_eval_best_model, and let pre-commit promote improved runs to best_model while refreshing best trajectories. Also improved mean_rmsd_100 to 2.461592.
Made-with: Cursor
Increase rotational and torsional emphasis in normalized velocity loss with gradient clipping, yielding a better 100-run final-time RMSD while preserving random-time flow-matching training.
Made-with: Cursor
Save the best training checkpoint into a git-tracked artifact, enforce random-time flow matching, and have pre-commit regenerate/stage six trajectory visualizations whenever BEST_PRACTICE is improved.
Made-with: Cursor
Run final RMSD evaluation from the best model (selected during training), using 100 random initializations rolled out to time=1, and persist the metric to latest/best/last practice files.
Made-with: Cursor
Switch success tracking from train loss to final mean RMSD over 100 rollout predictions, and persist latest/best metric artifacts for gated train.py commits.
Made-with: Cursor
Set up project policy files, baseline best-practice tracking, and a pre-commit performance gate so future train.py commits require measured RMSD improvement.
Made-with: Cursor