Skip to content

Commit 254a518

Browse files
committed
mind: regenerate dashboard with the current PyAutoBrain generator
The dashboard_refresh check went red: the pages were generated by a local PyAutoBrain checkout that was three commits behind Brain's main, missing PyAutoBrain#265 (the dashboard now states its own freshness). CI regenerates with Brain@main, so the committed pages read as stale even though they were correct for the generator that wrote them. Brain checkout fast-forwarded to main and the pages regenerated. The delta is purely the new freshness block. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018nDAxBEavkzb6Zkz1cYHef
1 parent 0058429 commit 254a518

2 files changed

Lines changed: 65 additions & 0 deletions

File tree

dashboard.html

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,42 @@
134134
.boards a:hover{opacity:1;text-decoration:none}
135135
.mdsrc{font-size:.85em}
136136
.boards a[data-organ="mind"]{color:#0a7d72}@media(prefers-color-scheme:dark){.boards a[data-organ="mind"]{color:#2ee6cf}}.boards a[data-organ="brain"]{color:#2159c9}@media(prefers-color-scheme:dark){.boards a[data-organ="brain"]{color:#6f9dff}}.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="memory"]{color:#6b34d6}@media(prefers-color-scheme:dark){.boards a[data-organ="memory"]{color:#b37eff}}.boards a[data-organ="organism"]{color:#0b6fa4}@media(prefers-color-scheme:dark){.boards a[data-organ="organism"]{color:#5ec7f5}}
137+
.fresh{margin:0 0 1.2rem;padding:.7rem .9rem .4rem;border:1px solid var(--edge);
138+
border-radius:11px;background:var(--tint)}
139+
.fresh>p{margin:0 0 .3rem}
140+
.fresh .task{border-bottom:0}
137141
</style>
138142
</head>
139143
<body>
140144
<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="M20.2,37.6 L20.2,33.6 C20.2,32.4 19.4,31.6 18.4,30.8 C16.8,29.6 15.8,28.2 15.6,26.6 C15.5,25.6 14.9,25.2 13.9,24.9 C12.6,24.5 12.3,23.7 13.0,22.7 C13.8,21.6 14.5,20.6 14.6,19.4 C15.0,15.4 18.2,12.2 22.4,11.8 C27.2,11.3 31.6,14.6 32.3,19.2 C32.8,22.4 31.6,25.0 30.6,27.0 C29.9,28.4 29.6,29.6 29.6,31.2 L29.6,37.6"/><circle cx="24.6" cy="19.6" r="4.4"/><path d="M22.5,19.7 L24.0,21.3 L26.8,18.1"/><path d="M34.2,16.5 L38.8,16.5 M35.2,21.0 L39.4,21.0 M33.6,25.5 L37.2,25.5"/><g fill="currentColor" stroke="none"><circle cx="40.1" cy="16.5" r="1.4"/><circle cx="40.7" cy="21.0" r="1.4"/><circle cx="38.5" cy="25.5" r="1.4"/></g></svg></span><h1>PyAuto<b>Mind</b><span class="kind">Dashboard</span></h1><div class="rule"></div><p class="tag">Intent. Priority. Flow.</p></header><p class="lede">Every task the Mind is holding. Tap a task's 📋 and its <code>/start_dev</code> command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task. <a href="#recent">Recent</a> is the same work by date — what has been happening rather than what to do next.</p>
141145
<ul class="stats"><li><b>2</b><span>In flight</span></li><li><b>3</b><span>Parked</span></li><li><b>5</b><span>Planned</span></li><li><b>139</b><span>Backlog</span></li></ul>
146+
<div class="fresh"><p><b>Last updated 2026-08-24.</b> This page is generated from <code>active/</code>, <code>draft/</code> and the registry files, so it is only as current as they are. <code>dashboard_refresh.yml</code> re-renders it on every push to <code>main</code> — that heals a stale page, but not a stale prompt: a task that shipped without its prompt advancing to <code>complete/</code> keeps rendering here as pickable backlog. Reconciling those is the refresh below.</p>
147+
<div class="task"><button class="copy" data-cmd="Bring the PyAutoMind dashboard up to date. Work in the PyAutoMind checkout:
148+
149+
1. `git fetch origin &amp;&amp; git status`. If behind `origin/main`, `git pull --ff-only`
150+
before touching anything.
151+
2. `python3 scripts/lifecycle.py check`, `orphans`, and `index --check`. Fix
152+
whatever drift they report.
153+
3. Reconcile finished work — this is the part nothing automates. For every prompt
154+
under `draft/` and `active/`, decide whether it is already done: a `Status:`
155+
header saying shipped/superseded/absorbed, a merged PR named in its body, or a
156+
record in `complete/` whose scope already covers it (check `complete/index.md`
157+
and grep the dated buckets). Treat a same-subject record as evidence, not
158+
proof — read both and confirm the scope really matches before retiring a
159+
prompt.
160+
4. For each one that IS done, write its record and retire the prompt:
161+
`python3 scripts/lifecycle.py record &lt;slug&gt; --date &lt;YYYY-MM-DD&gt; --from-file
162+
&lt;body&gt; --apply`, where &lt;body&gt; ends with `## Original prompt` followed by the
163+
prompt's full text. Then `git rm` the prompt file and repoint every
164+
cross-reference to it (grep the slug across `draft/`, `active/`, `epics.md`
165+
and the registry files).
166+
5. Regenerate the page: `pyauto-brain intake --apply dashboard`. Never hand-edit
167+
`dashboard.md` or `dashboard.html` — they are generated.
168+
6. Commit and push to `main`, so `dashboard_refresh.yml` agrees with the tree.
169+
170+
Report what you retired, what you deliberately left in the backlog and why, and
171+
anything you could not verify." aria-label="Copy the Claude command">📋</button><p><b>Refresh this page</b> — reconcile finished prompts, then regenerate</p></div>
172+
</div>
142173
<p class="muted mdsrc"><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/dashboard.md">markdown version</a></p>
143174
<h2>Start here</h2>
144175
<h3>Highest priority <span class="facets">(filed as high) — showing 12 of 14</span></h3>

dashboard.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,40 @@ This is the markdown version of the [PyAutoMind Dashboard](https://pyautolabs.gi
66

77
Every task the Mind is holding, on one page: what is in flight, what is parked, and the whole backlog to pick from. Pick a task and run its `/start_dev` command in a Claude Code chat to start it. [Recent](#recent) is the same work by date — what has been happening rather than what to do next.
88

9+
> **Last updated 2026-08-24.** This page is generated from `active/`, `draft/` and the registry files, so it is only as current as they are. `dashboard_refresh.yml` re-renders it on every push to `main` — that heals a stale page, but not a stale prompt: a task that shipped without its prompt advancing to `complete/` keeps rendering here as pickable backlog. Reconciling those is the refresh below.
10+
11+
<details><summary>📋 <b>Refresh this page</b> — reconcile finished prompts, then regenerate</summary>
12+
13+
```
14+
Bring the PyAutoMind dashboard up to date. Work in the PyAutoMind checkout:
15+
16+
1. `git fetch origin && git status`. If behind `origin/main`, `git pull --ff-only`
17+
before touching anything.
18+
2. `python3 scripts/lifecycle.py check`, `orphans`, and `index --check`. Fix
19+
whatever drift they report.
20+
3. Reconcile finished work — this is the part nothing automates. For every prompt
21+
under `draft/` and `active/`, decide whether it is already done: a `Status:`
22+
header saying shipped/superseded/absorbed, a merged PR named in its body, or a
23+
record in `complete/` whose scope already covers it (check `complete/index.md`
24+
and grep the dated buckets). Treat a same-subject record as evidence, not
25+
proof — read both and confirm the scope really matches before retiring a
26+
prompt.
27+
4. For each one that IS done, write its record and retire the prompt:
28+
`python3 scripts/lifecycle.py record <slug> --date <YYYY-MM-DD> --from-file
29+
<body> --apply`, where <body> ends with `## Original prompt` followed by the
30+
prompt's full text. Then `git rm` the prompt file and repoint every
31+
cross-reference to it (grep the slug across `draft/`, `active/`, `epics.md`
32+
and the registry files).
33+
5. Regenerate the page: `pyauto-brain intake --apply dashboard`. Never hand-edit
34+
`dashboard.md` or `dashboard.html` — they are generated.
35+
6. Commit and push to `main`, so `dashboard_refresh.yml` agrees with the tree.
36+
37+
Report what you retired, what you deliberately left in the backlog and why, and
38+
anything you could not verify.
39+
```
40+
41+
</details>
42+
943
| Where | Count |
1044
|-------|------:|
1145
| [In flight](#in-flight) (`active/`) | 2 |

0 commit comments

Comments
 (0)