diff --git a/complete/2026/08/autocti-workspace-navigator-check.md b/complete/2026/08/autocti-workspace-navigator-check.md new file mode 100644 index 00000000..289c4719 --- /dev/null +++ b/complete/2026/08/autocti-workspace-navigator-check.md @@ -0,0 +1,193 @@ +- completed: 2026-08-24 +- issue: https://github.com/PyAutoLabs/autocti_workspace/issues/29 (closed 2026-08-24) +- prs: + - https://github.com/PyAutoLabs/autocti_workspace/pull/30 (merged, `4b162ae`) +- summary: | + `autocti_workspace` is in PyAutoHeart's `workspaces` group, whose + `required_workflows` are `["Smoke Tests", "Navigator Check"]`. Only the + former existed (added days earlier by #27/#28, the repo's first CI), and + `heart/checks/ci_status.rollup()` never satisfies `all_green` while a + required workflow has no runs — so the repo rolled up as permanently + `in_progress`: able to go red, never able to go green. This added the + missing `Navigator Check` and committed the catalogue it gates on. + +## What landed + +- `.github/workflows/navigator_check.yml` — a thin caller of PyAutoHands' + reusable `navigator_check.yml@main` with `project: autocti`, mirroring the + four sibling workspaces. +- `llms-full.txt` + `workspace_index.json` — the generated catalogue, 79 + scripts. +- 12 script docstrings: title underline `-----` → `=====`. +- `AGENTS.md` — a "Navigator catalogue (CI)" section. + +## Traps and findings + +**`Navigator Check` is a PyAutoHands reusable, not a Heart one.** Each workspace +owns a ~30-line thin caller of +`PyAutoLabs/PyAutoHands/.github/workflows/navigator_check.yml@main`, whose only +input is `project:`. The reusable runs three jobs: `check_navigator.py +--banners=fail` (paths + banner lint), `check_search_memory.py` (unbatched +multi-start guard), and a staleness job that regenerates the catalogue and then +`git diff --exit-code llms-full.txt workspace_index.json`. + +**The filing prompt's premise did not hold, and it was load-bearing.** The +prompt said the repo already had root-level catalogue files (`llms.txt`, +`llms-full.txt`, `workspace_index.json`). `git ls-files` found none of the +three — the line it drew that from, in `autocti_assistant`'s +`wiki-currency.yml`, is a comment about git's *cone-mode* behaviour, not an +assertion the files exist. That matters because `git diff --exit-code` on +**untracked** paths exits 0: the staleness job would have gone green while +checking nothing. Committing the generated pair is the substance of the fix, +not a side effect of it. + +**Twelve docstrings catalogued as a run of dashes.** The generator only treats a +line as a title underline when it is `=`, so twelve scripts whose underline was +`-----` catalogued with the dashes as their summary. Fixed one line per file, +line endings preserved (six of the twelve are CRLF). + +## Acceptance criterion — the roll-up, not the workflow + +The prompt was explicit that "the workflow passes" is not the criterion. Both +required workflows completed `success` on `main` HEAD `4b162ae` (Navigator Check +run 32778904395, Smoke Tests run 32778904379), and `rollup()` fed with the real +`workspaces` required list flipped: + +``` +BEFORE (Navigator Check had never run) -> {'conclusion': '', 'status': 'in_progress'} +AFTER (both green on 4b162ae) -> {'conclusion': 'success', 'status': 'completed'} +``` + +Re-verified on 2026-08-27 against the then-current `main` HEAD `ea3e424`: both +workflows `success` on that sha too, so `on_head` (the third of `rollup`'s three +per-workflow conditions, alongside `conclusion == "success"` and `status == +"completed"`) still holds. The repo can reach `conclusion: success`. + +## Work item 4 — the general case, surveyed not implemented + +The prompt asked for a proposal, not a widened task. All 15 repos in the four +groups carrying `required_workflows` were surveyed for "does a workflow file +exist whose `name:` matches each required entry": + +| group | required | missing a file | +|---|---|---| +| `libraries` | `Tests` | none (all carry `main.yml`) | +| `workspaces` | `Smoke Tests`, `Navigator Check` | **autocti_workspace** only | +| `workspaces_test` | `Smoke Tests` | none | +| `howto` | `Smoke Tests`, `Navigator Check` | none | + +So the class had exactly one instance, which #30 removed. It is still worth a +Heart-side drift check: the failure mode is silent by construction (a missing +gate reads as *pending*, indistinguishable from *a run is in flight*), and the +hole reopens on every edit to `repos.yaml` that adds a repo to a group or a +workflow to a group's required list. Suggested shape — a cheap static check in +the deep/on-demand tier (not the <30 s tick), matching on each workflow's parsed +`name:` field rather than its filename, and reporting a miss as a +**configuration** finding rather than red CI, since the repo's code is fine and +its gate is not wired up. Full survey: +https://github.com/PyAutoLabs/autocti_workspace/issues/29#issuecomment-5401319712 +Filed and shipped 2026-08-27 as PyAutoHeart#188 — `active/required_workflow_file_drift.md`. + +## Left for separate tasks + +- A hand-curated `llms.txt` (the siblings carry one; the generator never writes + it). +- 13 scripts that catalogue as `(no summary in script docstring)`. +- Notebook regeneration, blocked for this workspace entirely because `autocti` + is absent from `build_util.COLAB_PROJECTS`. + +## Mind-side note (why this record is late) + +The work shipped on 2026-08-24 but the prompt was never advanced out of +`draft/maintenance/ci/` — no `active.md` entry, no `active/` prompt, no record. +It therefore kept rendering on the dashboard as pickable backlog, and a +`/start_dev` run on 2026-08-27 picked it up before finding PR #30 already +merged. Nothing detects this class automatically (`lifecycle.py check` reported +OK throughout — a `draft/` prompt with no registry entry is a valid state); it +is the "shipped but never retired" drift `PyAutoMind/AGENTS.md` warns about. +This record is that retirement, written retrospectively from the merged PR, the +closed issue and its three comments. + +## Original prompt + +# autocti_workspace has no Navigator Check, so its CI can never roll up green + +Type: maintenance +Target: autocti_workspace +Repos: +- @autocti_workspace +- @PyAutoHeart +Difficulty: medium +Autonomy: supervised +Priority: high +Status: formalised +Filed: 2026-08-24 + +`PyAutoHeart/config/repos.yaml` lists `autocti_workspace` in the `workspaces` +group, whose required workflows are: + +```yaml +required_workflows: + workspaces: ["Smoke Tests", "Navigator Check"] # smoke_tests.yml + navigator_check.yml +``` + +`Smoke Tests` now exists (autocti_workspace#27/#28, 2026-08-24 — the repo's first +CI). **`Navigator Check` does not.** That is not cosmetic. + +## Why this blocks readiness, not just tidiness + +`heart/checks/ci_status.py` rolls a repo up over its *required* workflows. A +required workflow with **no runs at all** is not scored as a failure — it simply +never satisfies `all_green`. Verified directly against the real function: + +``` +required for `workspaces`: ['Smoke Tests', 'Navigator Check'] + +Smoke green, Navigator MISSING -> {'conclusion': '', 'status': 'in_progress'} +both green -> {'conclusion': 'success', 'status': 'completed'} +smoke red, Navigator MISSING -> {'conclusion': 'failure', 'status': 'completed'} +``` + +So `autocti_workspace` rolls up as **permanently `in_progress`** — never green, +never red. It cannot reach `conclusion: success` no matter how healthy it is, +which means the readiness/release gate can never see this repo as CI-clean. +Adding Smoke Tests was necessary but not sufficient. + +Note the asymmetry in that table: a *red* Smoke Tests still reports failure +correctly. So the repo can go red but can never go green — the worst shape for a +gate to be in. + +## Work + +1. **Find out what `Navigator Check` actually is.** It is not a Heart reusable + workflow — `PyAutoHeart/.github/workflows/` has no `navigator_check.yml`; the + name appears only in `config/repos.yaml` and `heart/checks/ci_status.py`. + Each workspace owns its own `.github/workflows/navigator_check.yml`. Read a + sibling that has one (`autolens_workspace`, `autogalaxy_workspace`, + `autofit_workspace`, or a `HowTo*` repo) and mirror it. Do **not** invent a + check from the name. +2. **Add it to `autocti_workspace`**, adapted to this repo's actual navigator + surface. autocti_workspace has root-level catalogue files the assistant's + citation checks already lean on (`llms.txt`, `llms-full.txt`, + `workspace_index.json` are sparse-checked out by + `autocti_assistant/.github/workflows/wiki-currency.yml`), so there is a real + navigator surface here to validate. +3. **Confirm the roll-up flips to `success`** once both workflows are green on + `main` HEAD — that is the actual acceptance criterion, not "the workflow + passes". +4. **Consider the general case.** If other repos in a required group are missing + a required workflow, they have the same silent-never-green defect. A Heart-side + drift check ("every repo in a required group has a workflow file for each of + its required workflows") would catch this class rather than this instance. + Raise it as a proposal with findings; do not widen this task unilaterally. + +## Why it was left out of the smoke task + +autocti_workspace#28 was scoped to the ordered-trap smoke coverage (CTI epic +Phase 5). Adding a second, unrelated workflow would have widened that PR beyond +its task. Filed here instead, deliberately. + +## Context + +`PyAutoMind/complete/2026/08/phase5-smoke-ordered-trap-scripts.md` — how the +repo got its first CI, and the `arcticpy: true` caller convention it uses. diff --git a/complete/2026/08/required-workflow-file-drift.md b/complete/2026/08/required-workflow-file-drift.md new file mode 100644 index 00000000..6ec5aff3 --- /dev/null +++ b/complete/2026/08/required-workflow-file-drift.md @@ -0,0 +1,291 @@ +- completed: 2026-08-27 +- issue: https://github.com/PyAutoLabs/PyAutoHeart/issues/188 (closed 2026-08-27) +- prs: + - https://github.com/PyAutoLabs/PyAutoHeart/pull/189 (merged, `2a1391f`) +- summary: | + The general case behind autocti_workspace#29/#30, filed and shipped the same + day. `heart/checks/ci_status.rollup()` scores a repo over its group's + `required_workflows`, and a required workflow with **no runs** is never + scored as a failure — it just never satisfies `all_green`, so the repo sits + at `{"conclusion": "", "status": "in_progress"}` forever: able to go red, + never able to go green. On the dashboard that is indistinguishable from a + run in flight, which is why the state survives unnoticed. + `heart/checks/required_workflow_drift.py` makes it nameable. + +## What landed + +- `heart/checks/required_workflow_drift.py` — for every repo in a group that + declares `required_workflows`, assert a workflow exists whose `name` matches + each required entry. `polled_repos` / `gating_repos` / `fetch_workflow_names` + / `check_one` / `run`, mirroring `manifest_drift.py`'s shape (own sidecar, + `available: false` when it cannot run, coloured one-line `main()`). +- `heart/state.py` — aggregates `required_workflow_drift.json` into `state.json`. +- `heart/tick.sh` — runs it, `|| heart_log WARN` like its siblings. +- `heart/readiness.py` — YELLOW per missing workflow (`required_workflow_drift`), + plus a stale `required workflows unverified` reason + (`required_workflow_unknown`); scoring weights for both keys. +- 15 new tests (`tests/test_required_workflow_drift.py` + four cases in + `tests/test_readiness.py`). Full suite 656 passed. + +## The two design calls, and why + +**Read the workflow list, not the runs.** The runs payload `ci_status` already +fetches cannot separate the two causes of "no runs" — a workflow file that does +not exist, and one that exists but has never run on `main`. Only +`GET /repos/{owner}/{repo}/actions/workflows` can, so that is the one call +added. The second case is genuinely pending and must stay pending; a test pins +it (`test_workflow_present_but_never_run_is_not_missing`). + +**Match on `name`, never the filename.** `name` is what `ci_status` matches runs +against, so a filename-based check could pass while the roll-up still starves. +Confirmed against a live repo: `actions/workflows` returns +`name: "Navigator Check"` with `path: ".github/workflows/navigator_check.yml"` — +exactly that case. + +Classified YELLOW and as a **configuration** finding rather than red CI: the +repo's code is fine, its gate is not wired up, and red would misattribute the +fault. + +## The trap: the tenant firewall scans docstrings and tests + +`heart-tests.yml` runs `repos_sync.py --only "tenant firewall (organ code)"` on +every Heart PR. It scans every organ `.py`/`.sh` **line** — docstrings, comments +and test fixtures included — for non-organ repo names and GitHub owners, and +treats *any* instance fact in an unlisted file as drift. + +The first draft named a workspace repo in the module docstring (recounting the +incident) and used real repo names in the test fixture config. Both would have +reddened CI. Rewritten to name no instance fact at all — the docstring says "one +workspace repo", the fixture uses invented names — rather than growing +`FIREWALL_ALLOWLIST`, which `repos_sync.py` explicitly warns against ("never +grow it casually — a new entry means a new file an adopting fork must rewrite"). +So this change added no allowlist entry, and the module is tenant-agnostic, +which is the better design anyway. + +Verified the gate genuinely scans the new files rather than trusting a green: +appended a canary token, watched the check fail naming the exact file and line, +removed it, watched it pass. + +## The prompt's cost note held up + +The original proposal (autocti_workspace#29) assumed a periodic Actions-API +sweep or a check that runs where sibling checkouts exist, and so belonged in a +deep/on-demand tier. `ci_status.sh` says otherwise: it already loops every +polled repo in parallel making two cheap `gh api` metadata calls each +(`actions/runs?branch=main`, `commits/main`). The third is the same shape and +cost, and only repos in a group that *gates* need it — 17 today; advisory groups +are skipped without a call. + +## Deliberately not done + +- Folding the finding into `ci_status`'s sidecar or `rollup()`'s return. + `rollup()` is the release gate; reshaping it to carry a configuration finding + would ripple through readiness, dashboard and publish for no gain. +- The release-ci profile's `unobserved` list, whose sentence is specifically + about dev-box-local evidence. This check is not dev-box-local. +- `docs/readiness_evidence_audit.md` — a dated 2026-07-16 audit deliverable with + "writer last ran" columns, not a living index; adding a 2026-08-27 row would + misdate it. + +## Session notes (remote web session) + +No `gh` and no task worktree: PyAutoHeart was attached with `add_repo` and cloned +flat at `/home/user/pyautoheart`, GitHub driven through the `mcp__github__*` +tools. Two consequences worth knowing: + +- **Heart's own gate read YELLOW, entirely from the environment.** 17 × + "CI status unavailable" (no `gh` for `ci_status.sh` to call) and one + "manifest drift: local checkout origins" — `add_repo` clones from + `PyAutoLabs/pyautoheart` while the body map says `PyAutoHeart`, and GitHub is + case-insensitive where `repos_sync.py` is not. Nothing about the diff. +- **`--depth 1` clones single-branch.** Its fetch refspec is + `+refs/heads/main:refs/remotes/origin/main`, so `git push -u` set the upstream + but no `origin/feature/*` tracking ref ever existed, and a local git-state + check read the pushed branch as unpushed. The remote branch was correct + throughout; the fix is to widen the refspec, never to re-push. + +## Original prompt + +# Heart cannot see a required workflow that has no file — the silent never-green defect + +Type: feature +Target: pyautoheart +Repos: +- @PyAutoHeart +Difficulty: medium +Autonomy: supervised +Priority: normal +Status: formalised +Filed: 2026-08-27 +Issued: 2026-08-27 + +`PyAutoHeart/config/repos.yaml` declares `required_workflows` per group, and +`heart/checks/ci_status.py`'s `rollup()` scores a repo over exactly those +workflows. A required workflow that has **no runs at all** is not scored as a +failure — it simply never satisfies `all_green`, so the repo sits at +`{"conclusion": "", "status": "in_progress"}` forever: able to go red, never +able to go green, and invisible to the readiness/release gate as CI-clean. + +That is indistinguishable, on the dashboard, from "a run is in flight". Nothing +anywhere says "this repo is missing a gate". + +This was found the hard way: `autocti_workspace` sat in that state from whenever +it was added to the `workspaces` group until 2026-08-24, when a human noticed the +asymmetry (a red Smoke Tests still reported failure correctly, so the repo could +go red but never green). Fixed for that instance by autocti_workspace#30; the +class was left as a proposal, deliberately, so the fix PR was not widened. This +is that proposal, filed. + +## Why it is worth a check even though the class is currently empty + +A survey of all 15 repos across the four groups carrying `required_workflows` +(run 2026-08-24, on the issue) found `autocti_workspace` was the **only** +instance, and #30 removed it. So this is not a bug hunt — it is a guard against +the hole reopening, which it does on every edit to `config/repos.yaml`: + +- adding a repo to a group silently makes it un-greenable until it carries a file + for each of that group's required workflows; +- adding a workflow to a group's `required_workflows` silently does the same to + **every** repo in the group at once. + +Both edits look harmless in review. Neither produces a red anything. + +## Shape + +A cheap per-repo assertion: for every repo in a group with `required_workflows`, +a workflow exists whose parsed `name:` field matches each required entry. Match +on `name:`, not the filename — `name:` is what `ci_status` matches against, so a +filename-based check could pass while the roll-up still starves. + +Two design notes, one of which corrects the original proposal: + +1. **It probably needs no new data source, and no sibling checkouts.** The + original proposal assumed either a periodic Actions-API sweep or a check that + runs where the workspace checkouts exist. But `heart/checks/ci_status.sh` + already loops every polled repo in parallel and makes two cheap `gh api` + metadata calls each (`actions/runs?branch=main`, `commits/main`). A third — + `GET /repos/{owner}/{repo}/actions/workflows`, which returns every workflow + file with its `name` — is the same shape and the same cost, and it is the + only call that can tell *missing file* from *file exists, has never run on + main*. Check whether that fits the <30 s tick budget before falling back to a + deep/on-demand tier; `ci_status.sh`'s own header argues the existing two calls + are cheap enough, so a third plausibly is too. +2. **A missing file is a configuration finding, not red CI.** The repo's code is + fine; its gate is not wired up. Colouring it red misattributes the fault. + `heart/checks/manifest_drift.py` is the precedent to mirror — a drift check + that classifies as YELLOW ("hygiene that will eventually break something, not + an immediate release blocker"), writes its own sidecar, and is consumed by + `readiness.py` as a caution rather than a gate. + +The `required_workflows` block in `config/repos.yaml` already carries each +group's filenames in a trailing comment (`# smoke_tests.yml + navigator_check.yml`), +which is a useful cross-check but not the matching key. + +## Acceptance + +- Adding a repo to a group whose required workflows it does not have produces a + named finding, not a silent `in_progress`. +- The finding distinguishes "no workflow file" from "workflow exists, no runs on + main HEAD yet" — the second is genuinely pending and must stay pending. +- A test in `PyAutoHeart/tests/` alongside `test_manifest_drift.py` / + `test_ci_status.py`. + +## Context + +- `PyAutoMind/complete/2026/08/autocti-workspace-navigator-check.md` — the + instance, and the roll-up table that shows the defect. +- https://github.com/PyAutoLabs/autocti_workspace/issues/29#issuecomment-5401319712 + — the original proposal and the full 15-repo survey. + +## Original prompt + +# Heart cannot see a required workflow that has no file — the silent never-green defect + +Type: feature +Target: pyautoheart +Repos: +- @PyAutoHeart +Difficulty: medium +Autonomy: supervised +Priority: normal +Status: formalised +Filed: 2026-08-27 +Issued: 2026-08-27 + +`PyAutoHeart/config/repos.yaml` declares `required_workflows` per group, and +`heart/checks/ci_status.py`'s `rollup()` scores a repo over exactly those +workflows. A required workflow that has **no runs at all** is not scored as a +failure — it simply never satisfies `all_green`, so the repo sits at +`{"conclusion": "", "status": "in_progress"}` forever: able to go red, never +able to go green, and invisible to the readiness/release gate as CI-clean. + +That is indistinguishable, on the dashboard, from "a run is in flight". Nothing +anywhere says "this repo is missing a gate". + +This was found the hard way: `autocti_workspace` sat in that state from whenever +it was added to the `workspaces` group until 2026-08-24, when a human noticed the +asymmetry (a red Smoke Tests still reported failure correctly, so the repo could +go red but never green). Fixed for that instance by autocti_workspace#30; the +class was left as a proposal, deliberately, so the fix PR was not widened. This +is that proposal, filed. + +## Why it is worth a check even though the class is currently empty + +A survey of all 15 repos across the four groups carrying `required_workflows` +(run 2026-08-24, on the issue) found `autocti_workspace` was the **only** +instance, and #30 removed it. So this is not a bug hunt — it is a guard against +the hole reopening, which it does on every edit to `config/repos.yaml`: + +- adding a repo to a group silently makes it un-greenable until it carries a file + for each of that group's required workflows; +- adding a workflow to a group's `required_workflows` silently does the same to + **every** repo in the group at once. + +Both edits look harmless in review. Neither produces a red anything. + +## Shape + +A cheap per-repo assertion: for every repo in a group with `required_workflows`, +a workflow exists whose parsed `name:` field matches each required entry. Match +on `name:`, not the filename — `name:` is what `ci_status` matches against, so a +filename-based check could pass while the roll-up still starves. + +Two design notes, one of which corrects the original proposal: + +1. **It probably needs no new data source, and no sibling checkouts.** The + original proposal assumed either a periodic Actions-API sweep or a check that + runs where the workspace checkouts exist. But `heart/checks/ci_status.sh` + already loops every polled repo in parallel and makes two cheap `gh api` + metadata calls each (`actions/runs?branch=main`, `commits/main`). A third — + `GET /repos/{owner}/{repo}/actions/workflows`, which returns every workflow + file with its `name` — is the same shape and the same cost, and it is the + only call that can tell *missing file* from *file exists, has never run on + main*. Check whether that fits the <30 s tick budget before falling back to a + deep/on-demand tier; `ci_status.sh`'s own header argues the existing two calls + are cheap enough, so a third plausibly is too. +2. **A missing file is a configuration finding, not red CI.** The repo's code is + fine; its gate is not wired up. Colouring it red misattributes the fault. + `heart/checks/manifest_drift.py` is the precedent to mirror — a drift check + that classifies as YELLOW ("hygiene that will eventually break something, not + an immediate release blocker"), writes its own sidecar, and is consumed by + `readiness.py` as a caution rather than a gate. + +The `required_workflows` block in `config/repos.yaml` already carries each +group's filenames in a trailing comment (`# smoke_tests.yml + navigator_check.yml`), +which is a useful cross-check but not the matching key. + +## Acceptance + +- Adding a repo to a group whose required workflows it does not have produces a + named finding, not a silent `in_progress`. +- The finding distinguishes "no workflow file" from "workflow exists, no runs on + main HEAD yet" — the second is genuinely pending and must stay pending. +- A test in `PyAutoHeart/tests/` alongside `test_manifest_drift.py` / + `test_ci_status.py`. + +## Context + +- `PyAutoMind/complete/2026/08/autocti-workspace-navigator-check.md` — the + instance, and the roll-up table that shows the defect. +- https://github.com/PyAutoLabs/autocti_workspace/issues/29#issuecomment-5401319712 + — the original proposal and the full 15-repo survey. diff --git a/complete/2026/08/smoke-runner-delegation.md b/complete/2026/08/smoke-runner-delegation.md index 7298e8bb..d9101e16 100644 --- a/complete/2026/08/smoke-runner-delegation.md +++ b/complete/2026/08/smoke-runner-delegation.md @@ -117,6 +117,29 @@ The merged `claude/smoke-copy-drift-ci-docs-ozntvv` branches across nine repos were not deleted — this session's git proxy refuses delete refspecs (`send-pack: unexpected disconnect`). They are all proven merged into `main`. +## Mind-side note: a stale draft copy survived this record (removed 2026-08-27) + +The prompt was issued from a copy, not moved: `draft/maintenance/ci/run_smoke_copy_drift.md` +stayed behind when the task went to `active/` and then into this record. It was a +strict prefix of the folded copy below — identical through the re-scoped task +list, missing only the `Issued:`/`Filed:` headers and the 2026-08-24 +re-measurement — so it kept rendering on the dashboard as pickable backlog for +work that had already shipped. Nothing detects this: `lifecycle.py check` reports +OK, because a `draft/` prompt with no registry entry is a valid state. + +Removed under `/prm`'s reconcile leg on 2026-08-27, after verifying the merged +end state rather than trusting this record: + +- `autolens_workspace` and `autogalaxy_workspace` `.github/scripts/run_smoke.py` + are both 119-line shims on `origin/main`, and `_BUILD_DIR` — the vestigial line + the prompt's step 4 asked about — is gone, that step being moot once the + variant was replaced wholesale. +- The acceptance criterion that consolidation must not cost + `autolens_workspace_test` its per-script timeout holds through the shared path: + `build_util.execute_scripts_in_folder` → `execute_script` → `timeout_for(env)` + with `run_capped(timeout=…)` and `TimeoutExpired` handling, so every delegating + repo enforces the cap the one repo used to carry alone. + ## Original prompt # run_smoke.py: three runner variants across 10 repos, no sync mechanism diff --git a/complete/index.md b/complete/index.md index d42b05f3..37cf4819 100644 --- a/complete/index.md +++ b/complete/index.md @@ -6,7 +6,7 @@ Token-light navigation over the finished-work records (schema: only then grep a dated bucket. Curators: edit the band between the CURATED markers; everything below GENERATED is rebuilt. -1160 records across 7 buckets. +1162 records across 7 buckets. ## Highlights @@ -30,6 +30,7 @@ _(curate hard-won records here — survives regeneration.)_ - [autoarray-input-validation-guards](2026/08/autoarray-input-validation-guards.md) - [autoarray-pixel-scales-scalar-widening](2026/08/autoarray-pixel-scales-scalar-widening.md) - [autocti-util-dataset-export](2026/08/autocti-util-dataset-export.md) — no GitHub issue — worked directly from the draft prompt in a cloud session on explicit human instruction; the … +- [autocti-workspace-navigator-check](2026/08/autocti-workspace-navigator-check.md) - [autofit-mock-all-ones-ell-comps](2026/08/autofit-mock-all-ones-ell-comps.md) - [autofit-plot-functions-kwargs](2026/08/autofit-plot-functions-kwargs.md) - [autofit-sampler-database](2026/08/autofit-sampler-database.md) @@ -229,6 +230,7 @@ _(curate hard-won records here — survives regeneration.)_ - [repo-settings-bash-e-abort](2026/08/repo-settings-bash-e-abort.md) - [repo-settings-org-enumeration](2026/08/repo-settings-org-enumeration.md) - [repos-sync-target-repo-lint-awareness](2026/08/repos-sync-target-repo-lint-awareness.md) +- [required-workflow-file-drift](2026/08/required-workflow-file-drift.md) - [resolve-border-relocator-hazard](2026/08/resolve-border-relocator-hazard.md) — Reconciled the likelihood hazard instrument after the border-relocator source fix. The resolved backend-diverg… - [resolve-curvature-floor-doc-drift](2026/08/resolve-curvature-floor-doc-drift.md) — Reconciled the curvature-floor documentation finding after PyAutoArray#444. The detector now requires both run… - [resolve-sersic-ell-comps-gradient](2026/08/resolve-sersic-ell-comps-gradient.md) — Reconciled the numerical-hazard evidence after the Sersic Cartesian-radius fix. The stable conditional detecto… diff --git a/dashboard.html b/dashboard.html index b18f8d81..89e4b446 100644 --- a/dashboard.html +++ b/dashboard.html @@ -204,7 +204,7 @@
Intent. Priority. Flow.
Every task the Mind is holding. Tap a task's 📋 and its /start_dev command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task. Recent is the same work by date — what has been happening rather than what to do next.
Last updated 2026-08-27. 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.
134 filed prompts, not started — sorted most-pickable first (priority, then size). 24 of them belong to an epic and are listed only under Epics below.
+132 filed prompts, not started — sorted most-pickable first (priority, then size). 24 of them belong to an epic and are listed only under Epics below.
Un-park multi_galaxy/features/scaling_relation/slam once a capped run passes
- @@ -474,12 +472,6 @@jax<0.7 pin — CI is on the right jax… |
| 2026-08-22 | filed | Untrack the generated FITS test artifacts in autoarray |
| 2026-08-22 | filed | The reconstruction noise map describes a different estimator than the… |
+| 2026-08-22 | filed | Point-source JSON datasets record no resolution regime |
@PyAutoFit TransformedMessage.logpdf/pdf omit the transform… |
@@ -1243,12 +1226,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par
| 2026-08-09 | found | isothermal-ell-sph-oversampling-at-the-cusp |
| 2026-08-08 | parked | pyautoreduce-slacs1430-acs-comparison |
| 2026-08-08 | filed | Regenerate autolens_workspace markdown/ so the MGE pages show… |
+| 2026-08-07 | filed | Regenerate setup_notebook-drifted notebooks in… |