diff --git a/dashboard.md b/dashboard.md
index e764d3f..1936d10 100644
--- a/dashboard.md
+++ b/dashboard.md
@@ -29,7 +29,8 @@ One row per active project โ the next thing, what it is holding, and when it l
| Project | Next task | Awaiting | Running | Last ruling |
|---|---|---:|---:|---|
-| euclid_dr1_prelim | Is the ordered run's 8-nat gain ordering or library drift | 0 | 3 | - |
+| euclid_dr1_prelim | Is the ordered run's 8-nat gain ordering or library drift | 0 | 4 | - |
+| ic50_workspace | Does EP match the graphical joint fit end to end | 0 | 1 | - |
| slope_hierarchy_scale | Does hierarchical slope recovery hold at N=25 to 50 | 0 | 1 | - |
| subhalo_validation | Does rectangular_adapt false-detect a subhalo on the clumpy source | 0 | 5 | 2026-09-07 |
@@ -40,7 +41,6 @@ One row per active project โ the next thing, what it is holding, and when it l
| concr | dormant | none | retire โ |
| cowls_diana | dormant | none | retire โ |
| euclid | dormant | planned 3 | retire โ |
-| ic50_workspace | dormant | planned 1 | retire โ |
| pj011646 | dormant | none | retire โ |
| profiling | dormant | none | retire โ |
| subhalo_simulations | dormant | none | retire โ |
@@ -69,14 +69,6 @@ One row per active project โ the next thing, what it is holding, and when it l
-๐ retire ic50_workspace
-
-```
-/cortex โ retire the science project ic50_workspace: confirm it is holding nothing live, then in PyAutoCortex run `python3 scripts/cortex.py retire ic50_workspace --why ""`, `python3 scripts/cortex.py check`, `pyauto-brain cortex dashboard --apply`, and push the ledger. The row, its tasks and its rulings all stay โ only the status and the note change.
-```
-
-
-
๐ retire pj011646
```
@@ -118,7 +110,7 @@ One row per active project โ the next thing, what it is holding, and when it l
**RAL** `/mnt/ral/jnightin/euclid_dr1_prelim`
-active ยท both partition ยท tasks: gated 1 ยท running 2 ยท submitted 1
+active ยท both partition ยท tasks: running 2 ยท submitted 2
๐ Is the ordered run's 8-nat gain ordering or library drift โ running โ runs 342377_0 ยท wall 0:00 of 8:00 (0%)
@@ -144,17 +136,34 @@ Report where the runs of the PyAutoCortex task tasks/euclid_dr1_prelim/dr1_preli
-๐ Do ordered Nautilus reruns reproduce the euclid catalogue values? โ gated โ euclid_strong_lens_modeling_pipeline#60
+๐ Do ordered Nautilus reruns reproduce the euclid catalogue values? โ submitted โ runs 342398 ยท wall 0:00 of 36:00 (0%)
```
-python3 scripts/cortex.py gates # then, once they have closed: move tasks/euclid_dr1_prelim/ordered_rerun_catalogue_parity.md ready
-# gates: euclid_strong_lens_modeling_pipeline#60
+Report where the runs of the PyAutoCortex task tasks/euclid_dr1_prelim/ordered_rerun_catalogue_parity.md (342398) stand.
```
[tasks/euclid_dr1_prelim/](https://github.com/PyAutoLabs/PyAutoCortex/tree/main/tasks/euclid_dr1_prelim/)
+### ic50_workspace
+
+**Local** `/mnt/c/Users/Jammy/Science/ic50_workspace`
+
+**RAL** `/mnt/ral/jnightin/ic50_workspace`
+
+active ยท ral partition ยท tasks: submitted 1
+
+๐ Does EP match the graphical joint fit end to end โ submitted โ runs 342408, 342409 ยท wall 0:00 of 48:00 (0%)
+
+```
+cd /mnt/c/Users/Jammy/Science/ic50_workspace && hpc/sync jobs
+```
+
+
+
+[tasks/ic50_workspace/](https://github.com/PyAutoLabs/PyAutoCortex/tree/main/tasks/ic50_workspace/) ยท [issues](https://github.com/Jammy2211/ic50_workspace/issues)
+
### slope_hierarchy_scale
**Local** `/mnt/c/Users/Jammy/Science/slope_hierarchy_scale`
diff --git a/projects.yaml b/projects.yaml
index 332c74c..345a195 100644
--- a/projects.yaml
+++ b/projects.yaml
@@ -211,10 +211,10 @@ ic50_workspace:
ral_root: /mnt/ral/jnightin/ic50_workspace
mirror: none
sync_cli: hpc/sync
- sync_verbs: [pull]
- ledger: README.md
+ sync_verbs: [push, pull, logs, sync, push-data-init, pull-full, status, submit, push-submit, jobs, sacct, cancel, wait-and-pull, tail, du, check, clear-logs]
+ ledger: NOTES.md
assistant: none
witness_file: results/**/*.json
- partition: both
- status: dormant
- note: "personal remote, recorded as a fact โ not a PyAutoLabs repo; ral_root planned, sync_verbs unverified"
+ partition: ral
+ status: active
+ note: "personal remote, recorded as a fact โ not a PyAutoLabs repo; activated 2026-09-09 for graphical-ep phase 4, ral_root created and first runs submitted; NOTES.md predates the graphical/HPC work and needs a refresh"
diff --git a/tasks/ic50_workspace/ep_scale_up.md b/tasks/ic50_workspace/ep_scale_up.md
index 55f2ea3..7138bf4 100644
--- a/tasks/ic50_workspace/ep_scale_up.md
+++ b/tasks/ic50_workspace/ep_scale_up.md
@@ -2,11 +2,11 @@
Project: ic50_workspace
Summary: Does EP match the graphical joint fit end to end
-State: planned
+State: submitted
Gates:
Witness: one committed EP-vs-graphical parity table (means ยฑ errors) at small N, EP running at the largest N reached with per-rung timings committed, and any derived-variable or scaling blocker recorded as its own filed prompt
Budget: 48:00
-Runs:
+Runs: 342408, 342409
Ruling:
Review-minutes: 25
Epic: graphical-ep
@@ -15,7 +15,12 @@ Migrated-from: PyAutoMind/draft/research/graphical_ep/ic50_ep_scale_up.md
## Question
-Ready when: graphical-ep phase 2 (Mind) is issued โ add its ref to `Gates:` and move to `gated`.
+Started 2026-09-09. Phases 1 and 2 of the campaign shipped on 2026-09-02 (the whole
+D1โD6 PyAutoFit fix wave: #1558, #1560, #1562, #1572, #1573, #1574, #1576, #1578,
+#1580), so the gate this task was waiting on is cleared and it went
+`planned โ ready โ submitted` directly. The RAL PyAutoFit mirror was verified to
+contain #1580 before submitting, so unlike phase 3's EP arm these runs carry the
+stale-mask fixed-point fix.
The IC50 cancer use case is the scale target: the end goal is graphical + EP fits at 10 000+
datasets, with a clear demonstration that EP matches the graphical joint fit at small N before
@@ -55,9 +60,14 @@ Acceptance, verbatim from the Mind prompt:
- Mind `draft/feature/autofit/ep_lbfgs_jax.md` โ the development half (the speed lever)
- Mind `research/graphical_ep/ep_campaign.md` phase 4 โ the campaign row this feeds
- Mind `research/autofit/autofit_profiling_bootstrap.md` โ where the wrapper-overhead evidence goes
+- `scripts/compare_graphical_ep.py` (in the project) โ writes the parity table this
+ task's witness asks for, to `results/graphical_ep_comparison_.{txt,json}`
## Runs
+- 342408: submitted โ ral โ submitted 2026-09-09 โ wall 0:00 โ EP sim, nlive 150, max_steps 12
+- 342409: submitted โ ral โ submitted 2026-09-09 โ wall 0:00 โ graphical sim joint Dynesty, nlive 150
+
## Ruling
(none)