diff --git a/.envrc b/.envrc new file mode 100644 index 000000000..b48edb47f --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ + +export SCITEX_TODO_AGENT_ID="scitex-python" +export SCITEX_TODO_TASKS_YAML_SHARED="$HOME/.scitex/todo/tasks.yaml" diff --git a/.scitex/clew/db.sqlite b/.scitex/clew/runtime/db.sqlite similarity index 100% rename from .scitex/clew/db.sqlite rename to .scitex/clew/runtime/db.sqlite diff --git a/.worktrees/fix-umbrella-ml-canonical b/.worktrees/fix-umbrella-ml-canonical new file mode 160000 index 000000000..760528812 --- /dev/null +++ b/.worktrees/fix-umbrella-ml-canonical @@ -0,0 +1 @@ +Subproject commit 76052881269c66efdf976c2bbe6eeb5cd0fb3696 diff --git a/.worktrees/full-green b/.worktrees/full-green new file mode 160000 index 000000000..14c03fbee --- /dev/null +++ b/.worktrees/full-green @@ -0,0 +1 @@ +Subproject commit 14c03fbee5fdbe50f165bb6bdecc22ecf9a3dfe4 diff --git a/.worktrees/gen-deprecation-shim b/.worktrees/gen-deprecation-shim new file mode 160000 index 000000000..1f29601e9 --- /dev/null +++ b/.worktrees/gen-deprecation-shim @@ -0,0 +1 @@ +Subproject commit 1f29601e9fe10f29cbb91ab6de65d172cbe478ba diff --git a/.worktrees/gen-deprecation-shim-clean b/.worktrees/gen-deprecation-shim-clean new file mode 160000 index 000000000..17c68f212 --- /dev/null +++ b/.worktrees/gen-deprecation-shim-clean @@ -0,0 +1 @@ +Subproject commit 17c68f2124025e8e092908712b3d78df6d17ef20 diff --git a/.worktrees/reconcile-pins b/.worktrees/reconcile-pins new file mode 160000 index 000000000..6820c5475 --- /dev/null +++ b/.worktrees/reconcile-pins @@ -0,0 +1 @@ +Subproject commit 6820c5475ab97500e6307166f053c32edeeb4ff2 diff --git a/.worktrees/scitex-python-rel b/.worktrees/scitex-python-rel new file mode 160000 index 000000000..403dab431 --- /dev/null +++ b/.worktrees/scitex-python-rel @@ -0,0 +1 @@ +Subproject commit 403dab4318ad7811e606534a91284de6185d58a0 diff --git a/.worktrees/step-c-figrecipe b/.worktrees/step-c-figrecipe new file mode 160000 index 000000000..423b253e2 --- /dev/null +++ b/.worktrees/step-c-figrecipe @@ -0,0 +1 @@ +Subproject commit 423b253e28b5ea007cdefb2a0c69fe65c606e54a diff --git a/.worktrees/umbrella-session-reexport b/.worktrees/umbrella-session-reexport new file mode 160000 index 000000000..41ff63203 --- /dev/null +++ b/.worktrees/umbrella-session-reexport @@ -0,0 +1 @@ +Subproject commit 41ff632030861f825b1693ad19b424fc283028da diff --git a/docs/architecture/06_ecosystem_loose_coupling.mmd b/docs/architecture/06_ecosystem_loose_coupling.mmd new file mode 100644 index 000000000..121189551 --- /dev/null +++ b/docs/architecture/06_ecosystem_loose_coupling.mmd @@ -0,0 +1,28 @@ +%% SciTeX ecosystem — loose coupling (record → read → render). +%% Every edge is a data contract (optional hook / neutral file / JSON export), +%% never a code import. clew = provenance hub; writer = render/UI hub. +%% Producer topology finalized 2026-07-04 (writer/clew/scholar/figrecipe agreed). +flowchart TB + subgraph SUB["record → read → render — no imports across edges"] + direction TB + IO["scitex-io
save / load + record_output hooks"] + SESS["scitex-session
provenance session (@stx.session)"] + STATS["scitex-stats
stat outputs"] + FIG["figrecipe
figures = recipe + data"] + SCH["scitex-scholar
citations / DOI"] + CLEW["scitex-clew
provenance DAG · claims · citations · stat · source-gate
exports JSON — renderer-agnostic"] + WRITER["scitex-writer
compile + editor UI
neutral Hints feed (manuscript-hints/1) + renders marks"] + end + + IO -->|"record_output (optional hook)"| CLEW + SESS -->|"session records"| CLEW + STATS -->|"recorded outputs"| CLEW + FIG -->|"tracker files (provenance)"| CLEW + SCH -->|"citations/v1 data"| CLEW + CLEW -->|"claims.json / export_manuscript_hints (JSON)"| WRITER + FIG -->|"figure-quality hints (direct, source:figrecipe)"| WRITER + + classDef core fill:#dbeafe,stroke:#1d4ed8,color:#0b1324,stroke-width:2px; + classDef prod fill:#dcfce7,stroke:#166534,color:#0b1324; + class CLEW,WRITER core + class IO,SESS,STATS,FIG,SCH prod