Skip to content

Commit 790fa3e

Browse files
author
James Nightingale
authored
Merge pull request #15 from PyAutoLabs/feature/cortex-checkin-stamp-prominent
chore(dashboard): regenerate for the prominent check-in stamp
2 parents 5e6d8b0 + 07dc1db commit 790fa3e

2 files changed

Lines changed: 39 additions & 15 deletions

File tree

‎dashboard.html‎

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,15 +219,15 @@
219219
a.go:hover{opacity:.9;text-decoration:none}
220220
.mdsrc{font-size:.85em}
221221
.boards a[data-organ="brain"]{color:#2159c9}@media(prefers-color-scheme:dark){.boards a[data-organ="brain"]{color:#6f9dff}}.boards a[data-organ="mind"]{color:#0a7d72}@media(prefers-color-scheme:dark){.boards a[data-organ="mind"]{color:#2ee6cf}}.boards a[data-organ="cortex"]{color:#a5177d}@media(prefers-color-scheme:dark){.boards a[data-organ="cortex"]{color:#ff7ad9}}.boards a[data-organ="memory"]{color:#6b34d6}@media(prefers-color-scheme:dark){.boards a[data-organ="memory"]{color:#b37eff}}.boards a[data-organ="heart"]{color:#b50f1a}@media(prefers-color-scheme:dark){.boards a[data-organ="heart"]{color:#ff6b73}}.boards a[data-organ="hands"]{color:#9a5400}@media(prefers-color-scheme:dark){.boards a[data-organ="hands"]{color:#ffa733}}.boards a[data-organ="organism"]{color:#0b6fa4}@media(prefers-color-scheme:dark){.boards a[data-organ="organism"]{color:#5ec7f5}}
222-
.fresh{border-left:3px solid var(--edge);padding:.1rem .9rem;margin:1.2rem 0;background:var(--tint)}.fresh p{margin:.5rem 0}table.map{width:100%;border-collapse:collapse;font-size:.95em}table.map th{text-align:left;color:var(--muted);font-weight:600}table.map td,table.map th{border-bottom:1px solid var(--line);padding:.4rem .5rem .4rem 0;vertical-align:top}.checkin{margin:.2rem 0 1.4rem}.paths{margin:.2rem 0}.paths b{display:inline-block;min-width:3.6rem}.stale{color:var(--bad);font-weight:600}</style>
222+
.fresh{padding:.1rem .9rem;margin:1.2rem 0;background:var(--tint)}.fresh p{margin:.5rem 0}table.map{width:100%;border-collapse:collapse;font-size:.95em}table.map th{text-align:left;color:var(--muted);font-weight:600}table.map td,table.map th{border-bottom:1px solid var(--line);padding:.4rem .5rem .4rem 0;vertical-align:top}.checkin{display:flex;gap:.9rem;align-items:center;padding:.9rem 1.2rem;border:2px solid var(--line);border-radius:.6rem;margin:.2rem 0 1.4rem}.checkin .mark{font-size:2rem;line-height:1}.checkin .label{display:block;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.checkin time{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;display:block}.checkin .note{font-size:.85rem;color:var(--muted)}.checkin.fresh-ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.checkin.fresh-ok .mark{color:var(--ok)}.checkin.fresh-bad{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent)}.checkin.fresh-bad .mark{color:var(--bad)}.project h3{font-size:1.35rem;font-weight:700;padding-bottom:.2rem;border-bottom:2px solid var(--accent);letter-spacing:.01em;margin-top:1.6rem}.paths{margin:.2rem 0}.paths b{display:inline-block;min-width:3.6rem}.stale{color:var(--bad);font-weight:600}</style>
223223
</head>
224224
<body>
225225
<header class="hero"><span class="orb"><svg class="mark" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="24" cy="24" r="20.4"/><path d="M11.8,18.6 C14.4,14.8 17.8,14.4 20.1,17.1 C22.4,19.8 25.8,20.2 28.5,17.9 C31.2,15.6 34.4,16.2 36.1,19.1"/><path d="M11.6,24.6 C14.2,20.8 17.6,20.4 19.9,23.1 C22.2,25.8 25.6,26.2 28.3,23.9 C31.0,21.6 34.2,22.2 35.9,25.1"/><path d="M12.8,30.6 C15.3,27.2 18.4,26.8 20.5,29.4 C22.6,32.0 25.7,32.4 28.2,30.2"/><circle cx="32.6" cy="33.0" r="3.8"/><g fill="currentColor" stroke="none"><circle cx="32.6" cy="33.0" r="1.5"/><circle cx="11.7" cy="18.6" r="1.2"/><circle cx="11.5" cy="24.6" r="1.2"/></g></svg></span><h1>PyAuto<b>Cortex</b><span class="kind">Dashboard</span></h1><div class="rule"></div><p class="tag">Question. Run. Rule.</p></header><p class="lede">Every science phase the Cortex is holding. Tap a phase's 📋 and its next command is on your clipboard. The verdict is always yours — this page hands you the command, never the ruling.</p>
226226
<ul class="stats"><li><b>0</b><span>Awaiting ruling</span></li><li><b>2</b><span>Running / submitted</span></li><li><b>5</b><span>Ready</span></li><li><b>1</b><span>Gated</span></li><li><b>27</b><span>Recent rulings</span></li></ul>
227-
<div class="fresh"><p><b>Last updated 2026-09-04.</b> This page is generated from <code>phases/</code>, <code>rulings/</code> and <code>projects.yaml</code>, so it is only as current as they are. <code>dashboard_refresh.yml</code> re-renders it on every push to <code>main</code>.</p></div>
227+
<div class="fresh"><p class="muted">Last updated 2026-09-04.</p></div>
228228
<p class="muted mdsrc"><a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/dashboard.md">markdown version</a> · <a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/README.md">GitHub Page</a></p>
229229
<div class="task"><button class="copy" data-cmd="/cortex — check in on every active science project since the last check-in (2026-09-04T17:18Z): pull each project through its sync CLI, score every live run against its pre-registered witness, move what came back, re-render and push the board, then read me the by-project summary with the prompt each phase needs next." aria-label="Copy the Claude command">📋</button><p>check in since last time</p></div>
230-
<p class="checkin"><b>Last check-in:</b> <time id="checkin" datetime="2026-09-04T17:18Z">2026-09-04T17:18Z</time></p>
230+
<div class="checkin" id="checkin-box"><span class="mark" id="checkin-mark"></span><div><span class="label">Last check-in</span><time id="checkin" datetime="2026-09-04T17:18Z">2026-09-04T17:18Z</time><span class="note" id="checkin-note"></span></div></div>
231231
<a id="summary"></a><h2>Summary</h2>
232232
<p class="muted">One row per active project — the next thing, what it is holding, and when it last ruled.</p>
233233
<table class="map">
@@ -236,7 +236,20 @@
236236
<tr><td><b>inference_programme</b></td><td>21 gated</td><td>0</td><td>0</td><td>0</td><td>2026-09-04</td></tr>
237237
<tr><td><b>subhalo_validation</b></td><td>5 running</td><td>0</td><td>2</td><td>4</td><td>2026-09-02</td></tr>
238238
</table>
239-
<a id="projects"></a><h2>Projects <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/projects.yaml">markdown version</a></h2><p class="muted">The science body map, active first: where each project lives, what it is holding, and the one phase of it to act on next. The plans and the issues are one click away — this page routes to them rather than reprinting them; <code>census --by-project</code> and the check-in printout keep the full per-phase tree.</p>
239+
<h3>Nothing open</h3>
240+
<table class="map">
241+
<tr><th>Project</th><th>Status</th><th>Phases</th></tr>
242+
<tr><td>euclid_dr1_prelim</td><td>planned</td><td>none</td></tr>
243+
<tr><td>concr</td><td>dormant</td><td>none</td></tr>
244+
<tr><td>cowls_diana</td><td>dormant</td><td>none</td></tr>
245+
<tr><td>ic50_workspace</td><td>dormant</td><td>planned 1</td></tr>
246+
<tr><td>pj011646</td><td>dormant</td><td>none</td></tr>
247+
<tr><td>profiling</td><td>dormant</td><td>none</td></tr>
248+
<tr><td>slope_hierarchy</td><td>dormant</td><td>planned 2</td></tr>
249+
<tr><td>subhalo_simulations</td><td>dormant</td><td>none</td></tr>
250+
</table>
251+
<a id="projects"></a><h2>Projects <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/projects.yaml">markdown version</a></h2>
252+
<section class="project">
240253
<h3>euclid</h3>
241254
<p class="paths"><b>Local</b> <code>/mnt/c/Users/Jammy/Science/euclid</code></p>
242255
<p class="paths"><b>RAL</b> <code>/mnt/ral/jnightin/euclid_strong_lens_modeling_pipeline</code></p>
@@ -249,6 +262,8 @@ <h3>euclid</h3>
249262
<li><a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/phases/euclid/sersic_index_recovery.md">Euclid — phase 6: do we recover Sersic indices? 10 simulated Euclid lenses vs the real prior-edge pile-up</a> <span class="facets">— planned</span></li>
250263
<li><a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/phases/euclid/magnification_robustness.md">Euclid — phase 7: how robust are magnification estimates? model-match vs mismatch across the 10 Euclid lenses</a> <span class="facets">— planned</span></li>
251264
</ul><p><a href="https://github.com/PyAutoLabs/PyAutoCortex/tree/main/phases/euclid/">phases/euclid/</a></p></details>
265+
</section>
266+
<section class="project">
252267
<h3>inference_programme</h3>
253268
<p class="paths"><b>Local</b> <code>/home/jammy/Code/PyAutoLabs/autolens_profiling</code></p>
254269
<p class="paths"><b>Mirror</b> <code>/mnt/c/Users/Jammy/Science/inference_programme</code></p>
@@ -262,6 +277,8 @@ <h3>inference_programme</h3>
262277
<li><a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/phases/inference_programme/prodigy_mass_pix.md">Inference_programme — phase 22: MultiStartProdigy on mass_pix — does a gradient search beat Nautilus in a SLaM mass[1] shape?</a> <span class="facets">— planned</span></li>
263278
<li><a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/phases/inference_programme/likelihood_term_levers.md">Inference_programme — phase 23: likelihood-term levers on mass_pix — slogdet vs cholesky, relative jitter on reg.Adapt</a> <span class="facets">— planned</span></li>
264279
</ul><p><a href="https://github.com/PyAutoLabs/PyAutoCortex/tree/main/phases/inference_programme/">phases/inference_programme/</a> · <a href="https://github.com/PyAutoLabs/autolens_profiling/issues">issues</a></p></details>
280+
</section>
281+
<section class="project">
265282
<h3>subhalo_validation</h3>
266283
<p class="paths"><b>Local</b> <code>/mnt/c/Users/Jammy/Science/subhalo_validation</code></p>
267284
<p class="paths"><b>RAL</b> <code>/mnt/ral/jnightin/subhalo_validation</code></p>
@@ -274,7 +291,7 @@ <h3>subhalo_validation</h3>
274291
<li><a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/phases/subhalo_validation/delaunay_adapt_split_pl_eff_1_outer.md">Subhalo_validation — phase 3: delaunay_adapt_split on pl_eff_1_outer — the outer-component lens, plus the AdaptSplit fix rerun</a> <span class="facets">— ready</span></li>
275292
<li><a href="https://github.com/PyAutoLabs/PyAutoCortex/blob/main/phases/subhalo_validation/rectangular_adapt_pl_sersic_0.md">Subhalo_validation — phase 4: rectangular_adapt on pl_sersic_0 — the RectangularBilinear comparison</a> <span class="facets">— ready</span></li>
276293
</ul><p><a href="https://github.com/PyAutoLabs/PyAutoCortex/tree/main/phases/subhalo_validation/">phases/subhalo_validation/</a> · <a href="https://github.com/PyAutoLabs/subhalo_validation/issues">issues</a></p></details>
277-
<p class="muted">8 project(s) with nothing open: <code>euclid_dr1_prelim</code> (planned · none) · <code>concr</code> (dormant · none) · <code>cowls_diana</code> (dormant · none) · <code>ic50_workspace</code> (dormant · planned 1) · <code>pj011646</code> (dormant · none) · <code>profiling</code> (dormant · none) · <code>slope_hierarchy</code> (dormant · planned 2) · <code>subhalo_simulations</code> (dormant · none)</p>
294+
</section>
278295
<a id="awaiting-ruling"></a><h2>Awaiting ruling <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoCortex/tree/main/phases/">markdown version</a></h2><p class="muted">Results are in and nothing is running — the human's verdict is the only thing outstanding. Ordered failures first, then the phases a ruling is required for, then the clean ones.</p>
279296
<p class="muted">(nothing awaiting a ruling)</p>
280297
<a id="running--submitted"></a><h2>Running / submitted <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoCortex/tree/main/phases/">markdown version</a></h2><p class="muted">On the queue or on the machine. Wall is what the run lines record at the last refresh, against the phase's own budget.</p>
@@ -330,6 +347,6 @@ <h3>subhalo_validation</h3>
330347
document.addEventListener("click",e=>{
331348
const b=e.target.closest("button.copy");if(b)copyCmd(b);});
332349
</script>
333-
<script>(function(){var e=document.getElementById('checkin');if(!e)return;var t=e.getAttribute('datetime'),d=t?new Date(t):null;if(!d||isNaN(d.getTime())||(Date.now()-d.getTime())/60000>60){e.classList.add('stale');e.textContent+=' \u00b7 stale, paste the check-in';}})();</script>
350+
<script>(function(){var e=document.getElementById('checkin'),b=document.getElementById('checkin-box'),m=document.getElementById('checkin-mark'),n=document.getElementById('checkin-note');if(!e||!b)return;var t=e.getAttribute('datetime'),d=t?new Date(t):null;if(!d||isNaN(d.getTime())||(Date.now()-d.getTime())/60000>180){b.classList.add('fresh-bad');e.classList.add('stale');if(m)m.textContent='✗';if(n)n.textContent=t?'stale, paste the check-in':'never checked in';}else{b.classList.add('fresh-ok');if(m)m.textContent='✓';var a=Math.round((Date.now()-d.getTime())/60000);if(n)n.textContent='fresh · '+(a<60?a+' min':Math.round(a/60)+' h')+' ago';}})();</script>
334351
</body>
335352
</html>

‎dashboard.md‎

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This is the markdown version of the [PyAutoCortex Dashboard](https://pyautolabs.
66

77
Every science phase the Cortex is holding, on one page: what is waiting on your verdict, what is running, what could be launched next and what is still gated on development work. The verdict is always yours — this page hands you the command, never the ruling.
88

9-
> **Last updated 2026-09-04.** This page is generated from `phases/`, `rulings/` and `projects.yaml`, so it is only as current as they are. `dashboard_refresh.yml` re-renders it on every push to `main`.
9+
> **Last updated 2026-09-04.**
1010
1111
| Where | Count |
1212
|-------|------:|
@@ -24,7 +24,7 @@ Every science phase the Cortex is holding, on one page: what is waiting on your
2424

2525
</details>
2626

27-
**Last check-in:** 2026-09-04T17:18Z
27+
### Last check-in: 2026-09-04T17:18Z
2828

2929
## Summary
3030

@@ -36,9 +36,22 @@ One row per active project — the next thing, what it is holding, and when it l
3636
| inference_programme | 21 gated | 0 | 0 | 0 | 2026-09-04 |
3737
| subhalo_validation | 5 running | 0 | 2 | 4 | 2026-09-02 |
3838

39+
#### Nothing open
40+
41+
| Project | Status | Phases |
42+
|---|---|---|
43+
| euclid_dr1_prelim | planned | none |
44+
| concr | dormant | none |
45+
| cowls_diana | dormant | none |
46+
| ic50_workspace | dormant | planned 1 |
47+
| pj011646 | dormant | none |
48+
| profiling | dormant | none |
49+
| slope_hierarchy | dormant | planned 2 |
50+
| subhalo_simulations | dormant | none |
51+
3952
## Projects
4053

41-
[markdown version](https://github.com/PyAutoLabs/PyAutoCortex/blob/main/projects.yaml) — The science body map, active first: where each project lives, what it is holding, and the one phase of it to act on next. The plans and the issues are one click away — this page routes to them rather than reprinting them; `census --by-project` and the check-in printout keep the full per-phase tree.
54+
[markdown version](https://github.com/PyAutoLabs/PyAutoCortex/blob/main/projects.yaml)
4255

4356
### euclid
4457

@@ -126,12 +139,6 @@ cd /mnt/c/Users/Jammy/Science/subhalo_validation && hpc/sync jobs
126139

127140
</details>
128141

129-
<details><summary>8 project(s) with nothing open</summary>
130-
131-
`euclid_dr1_prelim` (planned · none) · `concr` (dormant · none) · `cowls_diana` (dormant · none) · `ic50_workspace` (dormant · planned 1) · `pj011646` (dormant · none) · `profiling` (dormant · none) · `slope_hierarchy` (dormant · planned 2) · `subhalo_simulations` (dormant · none)
132-
133-
</details>
134-
135142
## Awaiting ruling
136143

137144
[markdown version](https://github.com/PyAutoLabs/PyAutoCortex/tree/main/phases/) — Results are in and nothing is running — the human's verdict is the only thing outstanding. Ordered failures first, then the phases a ruling is required for, then the clean ones.

0 commit comments

Comments
 (0)