Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
2ffc4e7
branch
TieuLongPhan May 13, 2026
7f090b6
Merge branch 'main' of github.com:TieuLongPhan/SynKit
TieuLongPhan Jul 10, 2026
bafa039
update stereo and radical
TieuLongPhan Jul 14, 2026
92289d0
Complete Sprint 10 stereo rule semantics
TieuLongPhan Jul 16, 2026
d6c9106
checkpoint
TieuLongPhan Jul 16, 2026
9f5d54f
Complete Sprint 11 stereo interchange phase
TieuLongPhan Jul 16, 2026
f3a5cd0
Add map-invariant stereo graph identity
TieuLongPhan Jul 16, 2026
ad2fb11
Complete Sprint 11 stereo deduplication audit
TieuLongPhan Jul 16, 2026
0b02599
Harden Phase 2R Lewis-state replay invariants
TieuLongPhan Jul 16, 2026
fc92e14
Complete Phase 2R reversal and stereo matrix
TieuLongPhan Jul 16, 2026
ac14912
Refine Phase 2R chemistry fixtures
TieuLongPhan Jul 16, 2026
130f514
Add square-planar RDKit stereo adapter
TieuLongPhan Jul 16, 2026
0d48cac
Add trigonal-bipyramidal RDKit stereo adapter
TieuLongPhan Jul 16, 2026
5b84846
Add octahedral RDKit stereo adapter
TieuLongPhan Jul 16, 2026
1a4349b
Add assigned atrop RDKit stereo adapter
TieuLongPhan Jul 16, 2026
4323cc1
Remove RDKit authority from stereo equivalence
TieuLongPhan Jul 16, 2026
74a4321
Add non-tetrahedral rewrite conformance
TieuLongPhan Jul 16, 2026
e98b095
Align stereo capability boundary
TieuLongPhan Jul 16, 2026
042c912
beta version for stereograph
TieuLongPhan Jul 16, 2026
48232b7
beta release for rbl
TieuLongPhan Jul 17, 2026
5debd9e
stable beta
TieuLongPhan Jul 17, 2026
98aaa7b
Add permutation-orbit stereo kernel
TieuLongPhan Jul 17, 2026
8f3559c
Migrate stereo descriptors to orbit identity
TieuLongPhan Jul 17, 2026
4a37114
Add proof-bearing stereo morphisms
TieuLongPhan Jul 17, 2026
8b8515c
sprint 19
TieuLongPhan Jul 17, 2026
7298b42
done sprint 20 and wait for reviewing
TieuLongPhan Jul 17, 2026
263449b
checkpoint stereo benchmark, 2/300 fail, need to restructure stereoce…
TieuLongPhan Jul 18, 2026
1577fa8
beta release for LLG
TieuLongPhan Jul 20, 2026
c8f78de
refactir
TieuLongPhan Jul 21, 2026
d8820c9
Prepare 1.6.0 LWG release
TieuLongPhan Jul 22, 2026
ac89c25
Complete native stereo graph and reaction workflows
TieuLongPhan Jul 31, 2026
8000679
Add portable FLOWER replay workflow
TieuLongPhan Jul 31, 2026
2a17d28
Add reproducible partial expansion runtime replay
TieuLongPhan Jul 31, 2026
330baa8
Track MechanismBench stereo fixtures
TieuLongPhan Jul 31, 2026
215f2b3
Add single-process hydrogen extension comparison
TieuLongPhan Jul 31, 2026
d04de62
Fix hydrogen expansion reference benchmark
TieuLongPhan Jul 31, 2026
61cb1e9
Separate hydrogen reference backends
TieuLongPhan Jul 31, 2026
be7d0c8
Optimize exact HExtend class clustering
TieuLongPhan Jul 31, 2026
4a497b6
Reuse hydrogen benchmark references
TieuLongPhan Jul 31, 2026
0579e0d
Prefilter symmetric HExtend candidates
TieuLongPhan Jul 31, 2026
fc54984
Formalize HExtend invariant partitioning
TieuLongPhan Jul 31, 2026
8a004bf
Add complete stereo benchmark metadata
TieuLongPhan Jul 31, 2026
2394816
Retain FLOWER replay summary
TieuLongPhan Aug 1, 2026
60fecd8
Merge origin/main into lwg after upstream squash
TieuLongPhan Aug 1, 2026
9f28985
Prepare 1.6.1 release
TieuLongPhan Aug 1, 2026
93b59b9
Improve README and add LLG preprint
TieuLongPhan Aug 1, 2026
87b6ea2
Fix cross-platform validation budgets
TieuLongPhan Aug 1, 2026
6bff242
Use new SynKit graphical abstract
TieuLongPhan Aug 1, 2026
f209ff2
Fix release-only Docker packaging
TieuLongPhan Aug 1, 2026
0cd62d7
Fix Windows benchmark portability
TieuLongPhan Aug 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# The image is built from the wheel. Keep large benchmark and documentation
# corpora out of the Docker build context.
*
!pyproject.toml
!README.md
!LICENSE
!synkit/
!synkit/**
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.json text eol=lf
4 changes: 0 additions & 4 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@ name: Publish SynKit Docker Package

on:
push:
# Fire on semver tags for real releases…
tags:
- 'v*.*.*'
# …and on any push to the refractor branch for testing
branches:
- 'staging'

jobs:
build-and-push:
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/publish-package.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: PyPI publish

on:
release:
types:
- published
push:
branches:
- stereo
paths:
- .github/workflows/publish-package.yml

permissions:
contents: read
Expand Down Expand Up @@ -78,7 +80,7 @@ jobs:
publish:
name: Publish package to PyPI
needs: build
if: github.event_name == 'release'
if: github.event_name == 'push' && github.ref == 'refs/heads/stereo'
runs-on: ubuntu-latest

environment:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test-and-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Test & Lint

on:
push:
branches: [ "main", "staging", "mech", "stereo" ]
branches: [ "main", "staging", "mech", "stereo", "lwg" ]
pull_request:
branches: [ "main" ]

Expand Down Expand Up @@ -44,20 +44,20 @@ jobs:
shell: bash -l {0}
run: |
conda activate synkit-env
bash lint.sh
bash scripts/lint.sh

# 3b) Lint on Windows
- name: Lint (Windows)
if: matrix.os == 'windows-latest'
shell: bash -l {0}
run: |
conda activate synkit-env
bash lint.sh
bash scripts/lint.sh


# 4) Test
- name: Test
shell: bash -l {0}
run: |
conda activate synkit-env
bash pytest.sh
bash scripts/pytest.sh
47 changes: 41 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
*.pyc
*cachedir
*.csv
!Experiment/Lewis/Data/all.csv
!Experiment/Lewis/Data/combinatorial_all.csv
!Experiment/Lewis/mech_path/Data/reconstruction_audit/polar-failures.csv
!Experiment/Lewis/mech_path/Data/reconstruction_audit/radical-failures.csv
!Experiment/Lewis/mech_path/Data/reconstruction_audit/radical-arrow-review.csv
*/catboost_info/*


Expand All @@ -9,12 +14,6 @@

.coverage
dev/*
# Local development, audit, and debugging helpers.
/tools/
!/tools/
/tools/*
!/tools/stereo_conformance.py
!/tools/check_python_file_size.py
/debug/
/Test/Conformance/
*.rdf
Expand All @@ -30,6 +29,7 @@ Data/Benchmark/mech/*
!Data/Benchmark/mech/polar-failures.csv
!Data/Benchmark/mech/radical-failures.csv
*.json.gz
!Experiment/Lewis/Data/benchmark.json.gz
# *.png

run.sh
Expand All @@ -46,12 +46,31 @@ Data/Study/CRN/case_formose/*
synkit/Graph/dev/*
*.ipynb
*.json
# Stereo benchmark inputs are versioned for reproducible fresh-clone runs.
# Generated reports stay Git-visible so completed results can be committed
# explicitly, including reports created by the long raw stress stages.
!Experiment/Stereo/Data/**/*.csv
!Experiment/Stereo/Data/**/*.json
!Data/Schema/
!Data/Schema/attribute_propagation_v1_5.json
!/tools/python_file_size_baseline.json
!Data/Mech/polar.json
!Data/Mech/radical.json
!Data/Mech/stereo.json
!Experiment/Lewis/Data/hydrogen.pkl.gz
# Canonical reviewed MechanismBench partitions are executable test data.
!Experiment/Lewis/mech_path/Data/MechanismBench/polar.json
!Experiment/Lewis/mech_path/Data/MechanismBench/radical.json
!Experiment/Lewis/mech_path/Data/MechanismBench/stereo.json
!Experiment/Lewis/mech_path/Data/MechanismBench/electrocyclic_machinery.json
!Experiment/Lewis/mech_path/Data/MechanismBench/stereo_branch_coverage.json
!Experiment/Lewis/mech_path/Data/MechanismBench/stereo_couplings.json
!Experiment/Lewis/mech_path/Data/MechanismBench/evidence/mechanismbench_evidence.json
!Experiment/Lewis/rule_replay/Data/bidirectional-replay/results.json
!Experiment/Lewis/rule_replay/Data/relative-lone-pair/results.json
!Experiment/Stereo/Data/manifest.json
!Experiment/Stereo/Data/Perception/perception_conformance_cases.json
!Experiment/Stereo/Data/Perception/full_detection_report.json
!Test/Synthesis/Reactor/fixtures/small_rewrite_conformance.json
!Data/Conformance/stereomolgraph_graph_conformance.json
!Data/Benchmark/Stereo/
Expand All @@ -67,6 +86,22 @@ test_syn.py
measure_candidate_stages.py
run_valid_bug_cases.py
paper/*
# Nested standalone Git repository.
/paper/og_paper/

# Fresh benchmark runs are reproducible and can be large. Retained reference
# outputs live inside each experiment's Data directory.
Experiment/Lewis/Runs/

# Generated FLOWER intermediates and long-run evidence. The portable
# full-reaction batch payload is intentionally retained in Git.
Experiment/Lewis/FLOWER/batches/
Experiment/Lewis/FLOWER/full_reactions/
Experiment/Lewis/FLOWER/replay-debug/
Experiment/Lewis/FLOWER/replay-runs/
Experiment/Lewis/FLOWER/replay-results*/
!Experiment/Lewis/FLOWER/full-reaction-batches/manifest.json
!Experiment/Lewis/FLOWER/full-reaction-replay-summary.json

# Keep generated Python bytecode ignored after directory re-inclusions above.
**/__pycache__/
Expand Down
101 changes: 0 additions & 101 deletions Data/Benchmark/Stereo/BACKEND_DISAGREEMENT_REVIEW.md

This file was deleted.

128 changes: 0 additions & 128 deletions Data/Benchmark/Stereo/README.md

This file was deleted.

Loading
Loading