Ecosystem Pipeline#
This notebook shows the intended package boundary in the StringForge ecosystem. Only the StringForge/JAXVacua part is public and executable in the first release. KahlerJAX and JAXiverse are shown as planned downstream consumers, with schematic code blocks only.
Public release path: StringForge → JAXVacua#
StringForge retrieves catalogue data and constructs a JAXVacua-compatible model. JAXVacua then owns the flux-vacuum computation.
from stringforge import LCSDatabase
sf_db = LCSDatabase(dataset="tdf")
rows = sf_db.query(has_conifolds=True).head(1)
row = rows.iloc[0]
finder = sf_db.load_model(
ks_id=int(row["ks_id"]),
triang_id=int(row["triang_id"]),
h11=int(row["h11"]),
h12=int(row["h12"]),
include_gv=False,
include_conifolds=False,
)
type(finder).__name__
Planned downstream path: KahlerJAX#
KahlerJAX is not part of this release. There is no public install command, no stable API promise, and StringForge does not import it. The sketch below is documentation of the intended data flow only.
# Schematic only; not executed in this notebook.
# kahler_data = stringforge_export_for_planned_kahlerjax(row, finder)
# stabilised = planned_kahlerjax_solver(kahler_data)
Planned downstream path: JAXiverse#
JAXiverse is also not part of this release. The intended role is to consume stabilised geometric/EFT data and produce axion-sector observables once its public API exists.
# Schematic only; not executed in this notebook.
# axion_inputs = stringforge_export_for_planned_jaxiverse(stabilised)
# spectrum = planned_jaxiverse_spectrum(axion_inputs)
Ownership summary#
Stage |
Package |
Release status |
Owned output |
|---|---|---|---|
Catalogue/cache/vault |
StringForge |
Public |
database rows, cached shards, vault records, provenance metadata |
Flux-vacuum physics |
JAXVacua |
Public |
|
Kähler-sector stabilisation |
KahlerJAX |
Planned |
Kähler moduli and volume data |
Axion observables |
JAXiverse |
Planned |
axion masses, decay constants, couplings |
Future optimisation tooling such as PFV/fan-roots workflows should be linked only when the corresponding repositories and APIs are public.