Skip to content

feat(cortex): board leads with the check-in prompt, a freshness stamp and projects; epics discarded - #355

Merged
Jammy2211 merged 2 commits into
mainfrom
feature/cortex-dashboard-projects-first
Sep 4, 2026
Merged

Jammy2211 merged 2 commits into
mainfrom
feature/cortex-dashboard-projects-first

Conversation

@Jammy2211

@Jammy2211 Jammy2211 commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Closes #354.

What changed

The Cortex dashboard is reordered around the reader's morning. In both twins (dashboard.md and the Pages HTML):

  1. Check-in chip first. A 📋 "check in since last time" task row before every section: the paste for the laptop science chat, naming the last check-in stamp.
  2. Last check-in stamp, read from PyAutoCortex/checkin.yaml. cortex checkin and collect --apply now write the refresh stamp there before rendering, so push_ledger carries it with the ledger. The HTML twin colours it red on view (plus "stale, paste the check-in") when the viewer's clock is more than 60 minutes past it. Missing file renders "never checked in"; a file without a readable refreshed: is a tree problem.
  3. Summary table: one row per active project with next phase + state, awaiting / running / ready counts, last ruling date.
  4. Projects replaces both the old leading "By project" wall and the trailing Projects table. Ordered active → planned → dormant; Local / Mirror / RAL on their own bold lines; the project's next phase (awaiting > live > ready > gated > planned, lowest number) with its chip; the remaining open phases folded behind links to their phase files, phases/<project>/ and the project's issues page. No where-to-look bullets on the page (census --by-project and the check-in printout keep the full tree).
  5. Awaiting ruling is the first state section. Running / submitted drops the "run it again" chip. Ready shows one phase per project and folds the rest. Gated and Recent rulings are unchanged.
  6. Epics discarded: the section, parse_epics, c["epics"] and the epics.md dependency are gone. Science projects are long exploratory programmes by nature; epics stay a Mind concept for chaining development tasks. The optional Epic: phase header remains as a join key.

Docs: cortex conductor AGENTS.md, skills/cortex/cortex.md, docs/organs/cortex.md.

Tests

tests/test_cortex_conductor.py: the old order / epics / rerun / where-to-look pins rewritten, 13 tests added (80 in the file). Full suite in the task worktree: 909 passed, 0 failed. Tenant firewall check OK.

Merge order

Merge this first. PyAutoCortex PR PyAutoLabs/PyAutoCortex#14 removes epics.md, adds checkin.yaml and carries the regenerated pages; its dashboard_refresh.yml check runs against PyAutoBrain main, so it stays red until this PR has merged and its check is re-run.

API Changes

  • census(root) result: epics key removed; checkin key added (stamp string, "" when missing).
  • project_paths(row) now returns (label, path) pairs; project_paths_line(row) keeps the one-line form for the printout.
  • phase_chips no longer yields the rerun chip for submitted / running phases.
  • New helpers: read_checkin, write_checkin, summary_rows, next_open_phase, open_phases, ready_groups, project_order.
  • parse_epics and _epic_payload removed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FDMikgtrzGV799S5WXPpFq

… and projects; epics discarded

The Cortex board opened with every phase of every active project, so a
reader scrolled past the whole Euclid plan before reaching what needed a
verdict, and nothing said when the science state was last refreshed.

- A 📋 "check in since last time" chip is the first task row: the paste
  for the laptop science chat, naming the last check-in.
- "Last check-in" is read from PyAutoCortex/checkin.yaml, which
  `cortex checkin` / `collect --apply` now write before rendering so
  push_ledger carries it; the HTML twin turns it red on view when the
  viewer's clock is more than 60 min past it. Age is computed on view,
  never at render, and the file is stable between renders so --check
  needs no new normaliser rule.
- Summary table: one row per active project (next phase, awaiting /
  running / ready, last ruling).
- Projects replaces both the leading By-project wall and the trailing
  Projects table: active → planned → dormant, Local / Mirror / RAL on
  their own bold lines, the next phase with its chip, the remaining open
  phases folded behind links to the phase files, phases/<project>/ and
  the project's issues. No where-to-look bullets on the page; the
  printout and census --by-project keep the full tree.
- Awaiting ruling is the first state section; Running / submitted drops
  the "run it again" chip; Ready shows one phase per project and folds
  the rest; Gated and Recent rulings unchanged.
- Epics: section, parse_epics and the epics.md dependency removed. The
  optional `Epic:` phase header stays as a join key to a Mind epic.

Closes #354

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FDMikgtrzGV799S5WXPpFq
… is ledger

CI clones PyAutoCortex main beside the Brain, where ledger_merge.py still
lists epics.md until PyAutoCortex#14 merges — and that PR waits on this
one. The classification is the Cortex's own claim and its ledger tests
already pin it, so the check-in test keeps to what the Brain writes and
renders.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FDMikgtrzGV799S5WXPpFq
@Jammy2211
Jammy2211 merged commit 912b19f into main Sep 4, 2026
3 checks passed
@Jammy2211
Jammy2211 deleted the feature/cortex-dashboard-projects-first branch September 4, 2026 18:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cortex): dashboard leads with projects, check-in prompt and a freshness stamp; epics discarded

1 participant