diff --git a/AGENTS.md b/AGENTS.md index 2220cdb9..3e8e374e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,16 +20,26 @@ For the full workflow narrative, conventions, and registry schemas, read ## Layout (operational) -- **Prompts** — `//.md` (free-form markdown, one task - per file). The **first** folder is the *kind of work*; the **second** is the - *target repo or domain*. Work-types: `feature/`, `bug/`, `refactor/`, `docs/`, - `test/`, `release/`, `maintenance/`, `research/`, `experiment/` (plus `triage/` - for prompts whose classification is still unclear). PyAutoBrain routes by the - first folder — see [README.md](README.md) "Prompt taxonomy" and `ROUTING.md`. - Lifecycle/meta folders are **not** work-types and keep their own names: - `issued/` (routed prompts), `z_features/` (multi-task epic trackers), - `z_vault/` (deferred prompts — the former `shelved/` merged here), and - `autoprompt/` (prompts about this repo's own infrastructure). +- **Prompt lifecycle (issue #71)** — a prompt file advances through three + top-level state folders, mirroring the task ledger: + - `draft///.md` — intaken, **not started**. The + first folder under `draft/` is the *kind of work*; the second is the + *target repo or domain*. Work-types: `feature/`, `bug/`, `refactor/`, + `docs/`, `test/`, `release/`, `maintenance/`, `research/`, `experiment/` + (plus `triage/` for prompts whose classification is still unclear). + PyAutoBrain routes by the work-type folder — see [README.md](README.md) + "Prompt taxonomy" and `ROUTING.md`. + - `active/.md` — **issued** (an open GitHub issue / in flight). The + ship skills advance the file to `complete/` on merge. + - `complete///.md` — **shipped**; the rich completion record + (see `complete/AGENTS.md`). Months are zero-padded so lexical order is + numerical order. `scripts/lifecycle.py` owns the moves and drift-checks + them. + + Meta folders are **not** lifecycle states and keep their own names: + `z_features/` (multi-task epic trackers), `z_vault/` (deferred prompts — the + former `shelved/` merged here), and `autoprompt/` (prompts about this repo's + own infrastructure). - **Registry** — root-level markdown files, each with one job: `active.md` (in-flight tasks), `planned.md` (scoped, not started), `complete.md` (shipped), `parked.md` (started but not in flight), `queue.md` (ordered @@ -65,24 +75,25 @@ For the full workflow narrative, conventions, and registry schemas, read ## When you are asked to add a new prompt -Write the file under `//.md` — pick the work-type from -the list above (use `triage/` if genuinely unsure) and the target repo/domain as -the second folder, e.g. `feature/autolens/potential_corrections.md` or -`bug/autoarray/mask_edge_case.md`. Don't touch `active.md` or `issued/` directly -— those are managed by `$start-dev` and `$create-issue` (`/start_dev` and -`/create_issue` in Claude). +Write the file under `draft///.md` — pick the work-type +from the list above (use `triage/` if genuinely unsure) and the target +repo/domain as the second folder, e.g. `draft/feature/autolens/potential_corrections.md` +or `draft/bug/autoarray/mask_edge_case.md`. Don't touch `active.md`, `active/` +or `complete/` directly — those are managed by `$start-dev`, `$create-issue` +and the ship skills (`/start_dev` and `/create_issue` in Claude). To skip the manual filing, run **`$intake`** (`/intake` in Claude), the PyAutoBrain Intake/Conception Agent. It classifies a raw idea into the right -`//` folder, +`draft///` folder, writes the light header (incl. the optional `Difficulty:/Autonomy:/Priority:` keys — see README "Prompt file format"), and files the prompt for you. It files a prompt only; `$start-dev` (`/start_dev` in Claude) remains the separate next step. ## When you are asked to start work on an existing prompt -Use `$start-dev //.md` (`/start_dev` in Claude). Older -`/.md` paths from before the taxonomy migration still work. It +Use `$start-dev draft///.md` (`/start_dev` in Claude). +Older `//.md` and bare `/.md` paths from +before the lifecycle migration still resolve. It routes to `$start-library` or `$start-workspace` (`/start_library` or `/start_workspace` in Claude) based on the repos referenced in the prompt body; routing keys off `@RepoName` references in the content, not the folder. diff --git a/README.md b/README.md index 378253b4..ef78d3c2 100644 --- a/README.md +++ b/README.md @@ -16,15 +16,19 @@ What lives here: | File / folder | What it is | |---------------|------------| | `ideas.md` | raw incubating ideas, no structure required | -| `//*.md` | scoped prompts (`feature/`, `bug/`, `docs/`, …) | -| `active.md`, `planned.md`, `complete.md` | the task registry: in flight, queued, done | -| `issued/` | prompts that have become tracked issues | +| `draft///*.md` | scoped prompts, **not started** (`feature/`, `bug/`, `docs/`, …) | +| `active/.md` | **issued** prompts — an open issue, in flight | +| `complete///.md` | **shipped** — the rich completion record (`complete/AGENTS.md`) | +| `active.md`, `planned.md`, `complete.md` | the task ledger: in flight, queued, done | | `repos.yaml` | the body map — the single source of repo identity | -| `scripts/` | registry sync + drift checks (`repos_sync.py`) | - -A prompt flows: idea → prompt file → `/start_dev` → GitHub issue + -`active.md` entry → worktree development → PR → `complete.md`. The registry -is shared state, so any machine or session can pick up an in-flight task. +| `scripts/` | registry sync + drift checks (`repos_sync.py`, `lifecycle.py`) | + +A prompt flows through three file states that mirror the ledger: idea → +`draft/…` → `/start_dev` → GitHub issue + `active/` + `active.md` entry → +worktree development → PR → merge → `complete///` + +`complete.md`. `scripts/lifecycle.py` advances the file and drift-checks the +invariant. The registry is shared state, so any machine or session can pick up +an in-flight task. The schemas and conventions — prompt taxonomy, prompt file format, the `active.md` / `complete.md` schemas, epic trackers, bootstrap on a new diff --git a/REFERENCE.md b/REFERENCE.md index 1ecd3e70..215f9c3f 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -88,12 +88,12 @@ fine — write naturally, the AI fills in the rest. idea ── you write it in ideas.md │ ▼ - draft prompt ── you write a markdown file under //.md - │ + draft prompt ── you write a markdown file under + │ draft///.md ▼ /start_dev ── reads the prompt, audits the code, drafts an issue, │ creates the GitHub issue, registers the task in - │ active.md, moves the prompt to issued/ + │ active.md, moves the prompt draft/ → active/ ▼ active.md entry ── the task is now tracked across machines and sessions │ @@ -111,8 +111,9 @@ fine — write naturally, the AI fills in the rest. /ship_workspace │ ▼ - PR merged ── post-merge cleanup deletes the worktree, removes the - │ active.md entry, appends a summary to complete.md + PR merged ── post-merge cleanup deletes the worktree, moves the + │ active.md entry to complete.md, and advances the prompt + │ file active/ → complete/// (lifecycle.py move) ▼ done ``` @@ -144,28 +145,25 @@ PyAutoMind/ ├── queue.md ← processing queue for /register_and_iterate │ -│ PROMPTS — organised by WORK TYPE (first folder), then TARGET (second folder). +│ PROMPT-FILE LIFECYCLE (issue #71): draft/ → active/ → complete/YYYY/MM/. +│ Drafts are organised by WORK TYPE (first folder), then TARGET (second). │ See "Prompt taxonomy" below and ROUTING.md. -├── feature/ ← new user-facing or scientific capabilities -│ ├── autoarray/ autofit/ autogalaxy/ autolens/ autolens_assistant/ … -│ ├── workspaces/ ← any *_workspace repo -│ ├── pyautobrain/ ← prompts that implement PyAutoBrain agents -│ ├── jax_substructure/ weak/ cluster/ ← numbered topic series (kept together) -├── bug/ ← incorrect behaviour, crashes, regressions -│ ├── autofit/ autogalaxy/ autolens/ autoarray/ priors/ … -├── refactor/ ← internal restructuring, no intended behaviour change -├── docs/ ← documentation, tutorials, notebooks, examples -├── test/ ← test coverage, smoke tests, validation scripts -├── release/ ← packaging, versions, deployment, release readiness -├── maintenance/ ← dependency updates, hygiene, cleanup, small tech debt -├── research/ ← exploratory scientific / algorithmic investigation -├── experiment/ ← prototypes, spikes, proof-of-concept work -├── triage/ ← classification still unclear; needs manual review +├── draft/ ← NOT STARTED (intaken, pre /start_dev) +│ ├── feature/ ← new user-facing or scientific capabilities +│ │ ├── autoarray/ autofit/ autogalaxy/ autolens/ workspaces/ pyautobrain/ … +│ ├── bug/ ← incorrect behaviour, crashes, regressions +│ ├── refactor/ ← internal restructuring, no intended behaviour change +│ ├── docs/ ← documentation, tutorials, notebooks, examples +│ ├── test/ release/ maintenance/ research/ experiment/ +│ └── triage/ ← classification still unclear; needs manual review │ -│ LIFECYCLE / META — not work-types; keep their own names. -├── issued/ ← prompts that have been routed via /start_dev -│ └── autolens_workspace_developer/ ← per-target subdirs preserved +├── active/ ← ISSUED, in flight (moved here by /start_dev) │ +├── complete/ ← SHIPPED — rich completion records (see complete/AGENTS.md) +│ ├── AGENTS.md ← archive schema + how to look records up +│ └── 2026/07/.md ← bucketed by completion date (zero-padded months) +│ +│ LIFECYCLE / META — not work-types; keep their own names. ├── z_features/ ← multi-task epic trackers (one tracker → many sub-prompts) │ └── complete/ ← archived trackers (all sub-prompts shipped) │ @@ -176,6 +174,7 @@ PyAutoMind/ │ ├── scripts/ │ ├── status.sh ← prompt inventory helper +│ ├── lifecycle.py ← prompt-file lifecycle engine (move/split/check) │ └── prompt_sync.sh ← commit/push helpers sourced by skills │ └── skills/ ← Mind-owned skills + the ownership audit @@ -208,7 +207,8 @@ replaces a now-removed `admin_sync.sh` helper that formerly operated on PyAutoMind organises **intent by the kind of thinking required; PyAutoBrain uses that structure to choose the right reasoning agent.** -Prompts live at `//.md`: +Prompts start at `draft///.md` (and advance +`draft/ → active/ → complete/YYYY/MM/`; issue #71): - The **first folder** answers *what kind of thinking or agent is needed?* — the work type. @@ -249,7 +249,7 @@ experiment/autoarray/jax_sparse_mapping.md ### Not work-types -`issued/`, `z_features/`, `z_vault/` are **workflow lifecycle** +`active/`, `complete/`, `z_features/`, `z_vault/` are **workflow lifecycle** folders, and `autoprompt/` holds **meta** prompts about this repo's own infrastructure. They keep their own names and are not routed by work type. @@ -372,16 +372,16 @@ which sub-prompts are not-yet-issued / in-flight / shipped, and offers to move the tracker to `z_features/complete/` once everything has landed. **Naming convention for clean audit:** the audit derives task-name -candidates from each sub-prompt's `issued/` filename stem with `_`→`-`. For +candidates from each sub-prompt's `active/` filename stem with `_`→`-`. For the audit to auto-match against `complete.md` headings, **the task slug in `active.md` / `complete.md` must equal the issued filename's stem after that transform**. | Issued filename | Task slug that matches | Task slug that does NOT match | |---|---|---| -| `issued/latent_module_autogalaxy.md` | `latent-module-autogalaxy` ✓ | `latent-autogalaxy-module` ✗ | -| `issued/latent_smoke_test.md` | `latent-smoke-test` ✓ | `smoke-test-latent` ✗ | -| `issued/latent_variables_tutorial_expand_autofit.md` | `latent-variables-tutorial-expand-autofit` ✓ | `latent-tutorial-autofit` ✗ | +| `active/latent_module_autogalaxy.md` | `latent-module-autogalaxy` ✓ | `latent-autogalaxy-module` ✗ | +| `active/latent_smoke_test.md` | `latent-smoke-test` ✓ | `smoke-test-latent` ✗ | +| `active/latent_variables_tutorial_expand_autofit.md` | `latent-variables-tutorial-expand-autofit` ✓ | `latent-tutorial-autofit` ✗ | The third row is the trap — if `/start_dev` renames the prompt on move (e.g. appends a repo suffix for disambiguation) and `active.md`'s task slug @@ -409,7 +409,7 @@ flags anything in `z_vault/` that's been sitting for a while. ### From inside Claude Code - `/health status` — dashboard of registry state (active, planned, recent complete; PyAutoHeart, via the `/health` door) -- `/start_dev //.md` — read a prompt and route it (PyAutoBrain) +- `/start_dev draft///.md` — read a prompt and route it (PyAutoBrain) - `/worktree_status` — cross-references registry with task worktrees (PyAutoHeart) --- diff --git a/ROUTING.md b/ROUTING.md index a9c04712..b4ca4950 100644 --- a/ROUTING.md +++ b/ROUTING.md @@ -10,9 +10,10 @@ maps that to a reasoning agent. ## The map -Prompts live at `//.md`. The **work-type** (first folder) -determines the agent; the **target** (second folder) tells the agent which repo or -domain is affected. +Draft prompts live at `draft///.md`. The **work-type** +(first folder under `draft/`) determines the agent; the **target** (second +folder) tells the agent which repo or domain is affected. Once issued the file +advances to `active/`, and on merge to `complete///` (issue #71). | Work-type folder | Intent | PyAutoBrain agent | |------------------|--------|-------------------| @@ -61,6 +62,6 @@ commands; PyAutoBrain performs the routing.* Bodies + the boundary live in ## Not routed by work type -`issued/`, `z_features/`, `z_vault/` are workflow-lifecycle folders; -`autoprompt/` holds meta prompts about this repo's own infrastructure. None of -these are work-type folders and PyAutoBrain does not route them. +`active/`, `complete/`, `z_features/`, `z_vault/` are workflow-lifecycle +folders; `autoprompt/` holds meta prompts about this repo's own infrastructure. +None of these are work-type folders and PyAutoBrain does not route them. diff --git a/issued/01_log_gaussian_with_limits_crash.md b/active/01_log_gaussian_with_limits_crash.md similarity index 100% rename from issued/01_log_gaussian_with_limits_crash.md rename to active/01_log_gaussian_with_limits_crash.md diff --git a/issued/01_status_dashboard.md b/active/01_status_dashboard.md similarity index 100% rename from issued/01_status_dashboard.md rename to active/01_status_dashboard.md diff --git a/issued/02_gitignore_noise.md b/active/02_gitignore_noise.md similarity index 100% rename from issued/02_gitignore_noise.md rename to active/02_gitignore_noise.md diff --git a/issued/02_uniform_logpdf_array_handling.md b/active/02_uniform_logpdf_array_handling.md similarity index 100% rename from issued/02_uniform_logpdf_array_handling.md rename to active/02_uniform_logpdf_array_handling.md diff --git a/issued/03_gamma_from_mode_wrong_formula.md b/active/03_gamma_from_mode_wrong_formula.md similarity index 100% rename from issued/03_gamma_from_mode_wrong_formula.md rename to active/03_gamma_from_mode_wrong_formula.md diff --git a/issued/03_history_rewrite_guard.md b/active/03_history_rewrite_guard.md similarity index 100% rename from issued/03_history_rewrite_guard.md rename to active/03_history_rewrite_guard.md diff --git a/issued/04_truncated_normal_log_partition_incomplete.md b/active/04_truncated_normal_log_partition_incomplete.md similarity index 100% rename from issued/04_truncated_normal_log_partition_incomplete.md rename to active/04_truncated_normal_log_partition_incomplete.md diff --git a/issued/05_inv_beta_suffstats_clamp_noop.md b/active/05_inv_beta_suffstats_clamp_noop.md similarity index 100% rename from issued/05_inv_beta_suffstats_clamp_noop.md rename to active/05_inv_beta_suffstats_clamp_noop.md diff --git a/issued/05_sync_slash_command.md b/active/05_sync_slash_command.md similarity index 100% rename from issued/05_sync_slash_command.md rename to active/05_sync_slash_command.md diff --git a/issued/06_normal_message_sigma_negative_unchecked.md b/active/06_normal_message_sigma_negative_unchecked.md similarity index 100% rename from issued/06_normal_message_sigma_negative_unchecked.md rename to active/06_normal_message_sigma_negative_unchecked.md diff --git a/issued/06_repo_health_audit.md b/active/06_repo_health_audit.md similarity index 100% rename from issued/06_repo_health_audit.md rename to active/06_repo_health_audit.md diff --git a/issued/07_log_prior_normalisation_convention.md b/active/07_log_prior_normalisation_convention.md similarity index 100% rename from issued/07_log_prior_normalisation_convention.md rename to active/07_log_prior_normalisation_convention.md diff --git a/issued/08_relative_width_modifier_safety.md b/active/08_relative_width_modifier_safety.md similarity index 100% rename from issued/08_relative_width_modifier_safety.md rename to active/08_relative_width_modifier_safety.md diff --git a/issued/08_test_summary.md b/active/08_test_summary.md similarity index 100% rename from issued/08_test_summary.md rename to active/08_test_summary.md diff --git a/issued/10_fixed_message_cache_growth.md b/active/10_fixed_message_cache_growth.md similarity index 100% rename from issued/10_fixed_message_cache_growth.md rename to active/10_fixed_message_cache_growth.md diff --git a/issued/10_sigma_crit_jax.md b/active/10_sigma_crit_jax.md similarity index 100% rename from issued/10_sigma_crit_jax.md rename to active/10_sigma_crit_jax.md diff --git a/issued/10_solver_over_under_prediction.md b/active/10_solver_over_under_prediction.md similarity index 100% rename from issued/10_solver_over_under_prediction.md rename to active/10_solver_over_under_prediction.md diff --git a/issued/11_small_datasets_cluster.md b/active/11_small_datasets_cluster.md similarity index 100% rename from issued/11_small_datasets_cluster.md rename to active/11_small_datasets_cluster.md diff --git a/issued/1_autonomy_contract.md b/active/1_autonomy_contract.md similarity index 100% rename from issued/1_autonomy_contract.md rename to active/1_autonomy_contract.md diff --git a/issued/1_workspace_visualization.md b/active/1_workspace_visualization.md similarity index 100% rename from issued/1_workspace_visualization.md rename to active/1_workspace_visualization.md diff --git a/issued/2_csv.md b/active/2_csv.md similarity index 100% rename from issued/2_csv.md rename to active/2_csv.md diff --git a/issued/2_modeling_cluster.md b/active/2_modeling_cluster.md similarity index 100% rename from issued/2_modeling_cluster.md rename to active/2_modeling_cluster.md diff --git a/issued/2_review_faculty.md b/active/2_review_faculty.md similarity index 100% rename from issued/2_review_faculty.md rename to active/2_review_faculty.md diff --git a/issued/2_scaling_relation.md b/active/2_scaling_relation.md similarity index 100% rename from issued/2_scaling_relation.md rename to active/2_scaling_relation.md diff --git a/issued/2_workspace_jax_likelihood.md b/active/2_workspace_jax_likelihood.md similarity index 100% rename from issued/2_workspace_jax_likelihood.md rename to active/2_workspace_jax_likelihood.md diff --git a/issued/3_autonomous_ship_gate.md b/active/3_autonomous_ship_gate.md similarity index 100% rename from issued/3_autonomous_ship_gate.md rename to active/3_autonomous_ship_gate.md diff --git a/issued/3_fit.md b/active/3_fit.md similarity index 100% rename from issued/3_fit.md rename to active/3_fit.md diff --git a/issued/3_test_workspace.md b/active/3_test_workspace.md similarity index 100% rename from issued/3_test_workspace.md rename to active/3_test_workspace.md diff --git a/issued/3_unit_tests_masked_loop.md b/active/3_unit_tests_masked_loop.md similarity index 100% rename from issued/3_unit_tests_masked_loop.md rename to active/3_unit_tests_masked_loop.md diff --git a/issued/4_auto_dev_mode.md b/active/4_auto_dev_mode.md similarity index 100% rename from issued/4_auto_dev_mode.md rename to active/4_auto_dev_mode.md diff --git a/issued/4_jax_interp_2d.md b/active/4_jax_interp_2d.md similarity index 100% rename from issued/4_jax_interp_2d.md rename to active/4_jax_interp_2d.md diff --git a/issued/4_likelihood_function.md b/active/4_likelihood_function.md similarity index 100% rename from issued/4_likelihood_function.md rename to active/4_likelihood_function.md diff --git a/issued/4_modeling.md b/active/4_modeling.md similarity index 100% rename from issued/4_modeling.md rename to active/4_modeling.md diff --git a/issued/5_checkpoint_and_continue.md b/active/5_checkpoint_and_continue.md similarity index 100% rename from issued/5_checkpoint_and_continue.md rename to active/5_checkpoint_and_continue.md diff --git a/issued/5_ellipse_xp.md b/active/5_ellipse_xp.md similarity index 100% rename from issued/5_ellipse_xp.md rename to active/5_ellipse_xp.md diff --git a/issued/5_likelihood_function.md b/active/5_likelihood_function.md similarity index 100% rename from issued/5_likelihood_function.md rename to active/5_likelihood_function.md diff --git a/issued/5_profiling.md b/active/5_profiling.md similarity index 100% rename from issued/5_profiling.md rename to active/5_profiling.md diff --git a/issued/6_dpie_lenstool_parameterization.md b/active/6_dpie_lenstool_parameterization.md similarity index 100% rename from issued/6_dpie_lenstool_parameterization.md rename to active/6_dpie_lenstool_parameterization.md diff --git a/issued/6_fit_ellipse_masked_jax.md b/active/6_fit_ellipse_masked_jax.md similarity index 100% rename from issued/6_fit_ellipse_masked_jax.md rename to active/6_fit_ellipse_masked_jax.md diff --git a/issued/6_refactor_conductor.md b/active/6_refactor_conductor.md similarity index 100% rename from issued/6_refactor_conductor.md rename to active/6_refactor_conductor.md diff --git a/issued/6_visualization_profiles.md b/active/6_visualization_profiles.md similarity index 100% rename from issued/6_visualization_profiles.md rename to active/6_visualization_profiles.md diff --git a/issued/7_analysis_ellipse_jax.md b/active/7_analysis_ellipse_jax.md similarity index 100% rename from issued/7_analysis_ellipse_jax.md rename to active/7_analysis_ellipse_jax.md diff --git a/issued/7_queue_runner.md b/active/7_queue_runner.md similarity index 100% rename from issued/7_queue_runner.md rename to active/7_queue_runner.md diff --git a/issued/7_real_data.md b/active/7_real_data.md similarity index 100% rename from issued/7_real_data.md rename to active/7_real_data.md diff --git a/issued/7_scaling_relation_lenstool_convention.md b/active/7_scaling_relation_lenstool_convention.md similarity index 100% rename from issued/7_scaling_relation_lenstool_convention.md rename to active/7_scaling_relation_lenstool_convention.md diff --git a/issued/8_lenstool_users_example.md b/active/8_lenstool_users_example.md similarity index 100% rename from issued/8_lenstool_users_example.md rename to active/8_lenstool_users_example.md diff --git a/issued/8_memory_faculty.md b/active/8_memory_faculty.md similarity index 100% rename from issued/8_memory_faculty.md rename to active/8_memory_faculty.md diff --git a/issued/8_strong_lensing.md b/active/8_strong_lensing.md similarity index 100% rename from issued/8_strong_lensing.md rename to active/8_strong_lensing.md diff --git a/issued/9_cluster_visualization.md b/active/9_cluster_visualization.md similarity index 100% rename from issued/9_cluster_visualization.md rename to active/9_cluster_visualization.md diff --git a/issued/9_scholar_intake.md b/active/9_scholar_intake.md similarity index 100% rename from issued/9_scholar_intake.md rename to active/9_scholar_intake.md diff --git a/issued/9_small_datasets.md b/active/9_small_datasets.md similarity index 100% rename from issued/9_small_datasets.md rename to active/9_small_datasets.md diff --git a/issued/Kernel2D.md b/active/Kernel2D.md similarity index 100% rename from issued/Kernel2D.md rename to active/Kernel2D.md diff --git a/issued/adapt_images_pytree_fix.md b/active/adapt_images_pytree_fix.md similarity index 100% rename from issued/adapt_images_pytree_fix.md rename to active/adapt_images_pytree_fix.md diff --git a/issued/add_a_formalise_mode_to_the_pyautobrain.md b/active/add_a_formalise_mode_to_the_pyautobrain.md similarity index 100% rename from issued/add_a_formalise_mode_to_the_pyautobrain.md rename to active/add_a_formalise_mode_to_the_pyautobrain.md diff --git a/issued/add_a_reconcile_mode_to_the_pyautobrain.md b/active/add_a_reconcile_mode_to_the_pyautobrain.md similarity index 100% rename from issued/add_a_reconcile_mode_to_the_pyautobrain.md rename to active/add_a_reconcile_mode_to_the_pyautobrain.md diff --git a/issued/add_census_and_dashboard_modes_to_the.md b/active/add_census_and_dashboard_modes_to_the.md similarity index 100% rename from issued/add_census_and_dashboard_modes_to_the.md rename to active/add_census_and_dashboard_modes_to_the.md diff --git a/issued/adopt_the_lenstool_reference_magnitude_mag0_conv.md b/active/adopt_the_lenstool_reference_magnitude_mag0_conv.md similarity index 100% rename from issued/adopt_the_lenstool_reference_magnitude_mag0_conv.md rename to active/adopt_the_lenstool_reference_magnitude_mag0_conv.md diff --git a/issued/aggregator_output_contracts.md b/active/aggregator_output_contracts.md similarity index 100% rename from issued/aggregator_output_contracts.md rename to active/aggregator_output_contracts.md diff --git a/issued/aggregator_output_png.md b/active/aggregator_output_png.md similarity index 100% rename from issued/aggregator_output_png.md rename to active/aggregator_output_png.md diff --git a/issued/alma_datacube.md b/active/alma_datacube.md similarity index 100% rename from issued/alma_datacube.md rename to active/alma_datacube.md diff --git a/issued/alma_interferometer_support.md b/active/alma_interferometer_support.md similarity index 100% rename from issued/alma_interferometer_support.md rename to active/alma_interferometer_support.md diff --git a/issued/analysis_shared_state_cross_factor.md b/active/analysis_shared_state_cross_factor.md similarity index 100% rename from issued/analysis_shared_state_cross_factor.md rename to active/analysis_shared_state_cross_factor.md diff --git a/issued/api_baseline_refresh.md b/active/api_baseline_refresh.md similarity index 100% rename from issued/api_baseline_refresh.md rename to active/api_baseline_refresh.md diff --git a/issued/array2d_native_jit_safety.md b/active/array2d_native_jit_safety.md similarity index 100% rename from issued/array2d_native_jit_safety.md rename to active/array2d_native_jit_safety.md diff --git a/issued/assertions_fix.md b/active/assertions_fix.md similarity index 100% rename from issued/assertions_fix.md rename to active/assertions_fix.md diff --git a/issued/assistant_benchmarks.md b/active/assistant_benchmarks.md similarity index 100% rename from issued/assistant_benchmarks.md rename to active/assistant_benchmarks.md diff --git a/issued/autobrain.md b/active/autobrain.md similarity index 100% rename from issued/autobrain.md rename to active/autobrain.md diff --git a/issued/autobuild_bash.md b/active/autobuild_bash.md similarity index 100% rename from issued/autobuild_bash.md rename to active/autobuild_bash.md diff --git a/issued/autofit_assistant_birth.md b/active/autofit_assistant_birth.md similarity index 100% rename from issued/autofit_assistant_birth.md rename to active/autofit_assistant_birth.md diff --git a/issued/autofit_assistant_planning.md b/active/autofit_assistant_planning.md similarity index 100% rename from issued/autofit_assistant_planning.md rename to active/autofit_assistant_planning.md diff --git a/issued/autofit_assistant_wiki_currency_wiring.md b/active/autofit_assistant_wiki_currency_wiring.md similarity index 100% rename from issued/autofit_assistant_wiki_currency_wiring.md rename to active/autofit_assistant_wiki_currency_wiring.md diff --git a/issued/autofit_workspace_plot_update.md b/active/autofit_workspace_plot_update.md similarity index 100% rename from issued/autofit_workspace_plot_update.md rename to active/autofit_workspace_plot_update.md diff --git a/issued/autofit_workspace_test_database_scrape_paths.md b/active/autofit_workspace_test_database_scrape_paths.md similarity index 100% rename from issued/autofit_workspace_test_database_scrape_paths.md rename to active/autofit_workspace_test_database_scrape_paths.md diff --git a/issued/autogalaxy_extra_galaxies_audit.md b/active/autogalaxy_extra_galaxies_audit.md similarity index 100% rename from issued/autogalaxy_extra_galaxies_audit.md rename to active/autogalaxy_extra_galaxies_audit.md diff --git a/issued/autogalaxy_workspace_test.md b/active/autogalaxy_workspace_test.md similarity index 100% rename from issued/autogalaxy_workspace_test.md rename to active/autogalaxy_workspace_test.md diff --git a/issued/autogalaxy_workspace_test_ci.md b/active/autogalaxy_workspace_test_ci.md similarity index 100% rename from issued/autogalaxy_workspace_test_ci.md rename to active/autogalaxy_workspace_test_ci.md diff --git a/issued/autogalaxy_workspace_test_imaging.md b/active/autogalaxy_workspace_test_imaging.md similarity index 100% rename from issued/autogalaxy_workspace_test_imaging.md rename to active/autogalaxy_workspace_test_imaging.md diff --git a/issued/autogalaxy_workspace_test_jax_grad_imaging.md b/active/autogalaxy_workspace_test_jax_grad_imaging.md similarity index 100% rename from issued/autogalaxy_workspace_test_jax_grad_imaging.md rename to active/autogalaxy_workspace_test_jax_grad_imaging.md diff --git a/issued/autogalaxy_workspace_test_jax_grad_interferometer.md b/active/autogalaxy_workspace_test_jax_grad_interferometer.md similarity index 100% rename from issued/autogalaxy_workspace_test_jax_grad_interferometer.md rename to active/autogalaxy_workspace_test_jax_grad_interferometer.md diff --git a/issued/autogalaxy_workspace_test_jax_grad_multi.md b/active/autogalaxy_workspace_test_jax_grad_multi.md similarity index 100% rename from issued/autogalaxy_workspace_test_jax_grad_multi.md rename to active/autogalaxy_workspace_test_jax_grad_multi.md diff --git a/issued/autogalaxy_workspace_test_jax_likelihood_imaging.md b/active/autogalaxy_workspace_test_jax_likelihood_imaging.md similarity index 100% rename from issued/autogalaxy_workspace_test_jax_likelihood_imaging.md rename to active/autogalaxy_workspace_test_jax_likelihood_imaging.md diff --git a/issued/autogalaxy_workspace_test_jax_likelihood_interferometer.md b/active/autogalaxy_workspace_test_jax_likelihood_interferometer.md similarity index 100% rename from issued/autogalaxy_workspace_test_jax_likelihood_interferometer.md rename to active/autogalaxy_workspace_test_jax_likelihood_interferometer.md diff --git a/issued/autogalaxy_workspace_test_jax_likelihood_multi.md b/active/autogalaxy_workspace_test_jax_likelihood_multi.md similarity index 100% rename from issued/autogalaxy_workspace_test_jax_likelihood_multi.md rename to active/autogalaxy_workspace_test_jax_likelihood_multi.md diff --git a/issued/autogalaxy_workspace_test_model_composition.md b/active/autogalaxy_workspace_test_model_composition.md similarity index 100% rename from issued/autogalaxy_workspace_test_model_composition.md rename to active/autogalaxy_workspace_test_model_composition.md diff --git a/issued/autolens_profiling.md b/active/autolens_profiling.md similarity index 100% rename from issued/autolens_profiling.md rename to active/autolens_profiling.md diff --git a/issued/autolens_results_aggregator_valid_dataset.md b/active/autolens_results_aggregator_valid_dataset.md similarity index 100% rename from issued/autolens_results_aggregator_valid_dataset.md rename to active/autolens_results_aggregator_valid_dataset.md diff --git a/issued/autolens_workspace_developer/imaging_delaunay_jax_profiling.md b/active/autolens_workspace_developer/imaging_delaunay_jax_profiling.md similarity index 100% rename from issued/autolens_workspace_developer/imaging_delaunay_jax_profiling.md rename to active/autolens_workspace_developer/imaging_delaunay_jax_profiling.md diff --git a/issued/autolens_workspace_developer/imaging_mge_pytree_migration.md b/active/autolens_workspace_developer/imaging_mge_pytree_migration.md similarity index 100% rename from issued/autolens_workspace_developer/imaging_mge_pytree_migration.md rename to active/autolens_workspace_developer/imaging_mge_pytree_migration.md diff --git a/issued/autolens_workspace_developer/rectangular_spline_adapt_image_jit_fix.md b/active/autolens_workspace_developer/rectangular_spline_adapt_image_jit_fix.md similarity index 100% rename from issued/autolens_workspace_developer/rectangular_spline_adapt_image_jit_fix.md rename to active/autolens_workspace_developer/rectangular_spline_adapt_image_jit_fix.md diff --git a/issued/autolens_workspace_developer/visualization_profiling_cluster.md b/active/autolens_workspace_developer/visualization_profiling_cluster.md similarity index 100% rename from issued/autolens_workspace_developer/visualization_profiling_cluster.md rename to active/autolens_workspace_developer/visualization_profiling_cluster.md diff --git a/issued/automemory.md b/active/automemory.md similarity index 100% rename from issued/automemory.md rename to active/automemory.md diff --git a/issued/automind.md b/active/automind.md similarity index 100% rename from issued/automind.md rename to active/automind.md diff --git a/issued/benchmark_calibration_runs.md b/active/benchmark_calibration_runs.md similarity index 100% rename from issued/benchmark_calibration_runs.md rename to active/benchmark_calibration_runs.md diff --git a/issued/blackjax_nuts.md b/active/blackjax_nuts.md similarity index 100% rename from issued/blackjax_nuts.md rename to active/blackjax_nuts.md diff --git a/issued/bootstrap.md b/active/bootstrap.md similarity index 100% rename from issued/bootstrap.md rename to active/bootstrap.md diff --git a/issued/border_relocator_none_mesh_grid.md b/active/border_relocator_none_mesh_grid.md similarity index 100% rename from issued/border_relocator_none_mesh_grid.md rename to active/border_relocator_none_mesh_grid.md diff --git a/issued/brain_agent_commands.md b/active/brain_agent_commands.md similarity index 100% rename from issued/brain_agent_commands.md rename to active/brain_agent_commands.md diff --git a/issued/bug_agent.md b/active/bug_agent.md similarity index 100% rename from issued/bug_agent.md rename to active/bug_agent.md diff --git a/issued/build.md b/active/build.md similarity index 100% rename from issued/build.md rename to active/build.md diff --git a/issued/cached_property_audit.md b/active/cached_property_audit.md similarity index 100% rename from issued/cached_property_audit.md rename to active/cached_property_audit.md diff --git a/issued/ci_actions.md b/active/ci_actions.md similarity index 100% rename from issued/ci_actions.md rename to active/ci_actions.md diff --git a/issued/ci_linkage.md b/active/ci_linkage.md similarity index 100% rename from issued/ci_linkage.md rename to active/ci_linkage.md diff --git a/issued/cli_noise_clean.md b/active/cli_noise_clean.md similarity index 100% rename from issued/cli_noise_clean.md rename to active/cli_noise_clean.md diff --git a/issued/clone_mitosis_agent.md b/active/clone_mitosis_agent.md similarity index 100% rename from issued/clone_mitosis_agent.md rename to active/clone_mitosis_agent.md diff --git a/issued/codex_brain_skill_wrappers.md b/active/codex_brain_skill_wrappers.md similarity index 100% rename from issued/codex_brain_skill_wrappers.md rename to active/codex_brain_skill_wrappers.md diff --git a/issued/codex_organ_skill_wrappers.md b/active/codex_organ_skill_wrappers.md similarity index 100% rename from issued/codex_organ_skill_wrappers.md rename to active/codex_organ_skill_wrappers.md diff --git a/issued/codex_skill_metadata.md b/active/codex_skill_metadata.md similarity index 100% rename from issued/codex_skill_metadata.md rename to active/codex_skill_metadata.md diff --git a/issued/colab_link_rot.md b/active/colab_link_rot.md similarity index 100% rename from issued/colab_link_rot.md rename to active/colab_link_rot.md diff --git a/issued/colab_maturity.md b/active/colab_maturity.md similarity index 100% rename from issued/colab_maturity.md rename to active/colab_maturity.md diff --git a/issued/colab_sim_verify_install.md b/active/colab_sim_verify_install.md similarity index 100% rename from issued/colab_sim_verify_install.md rename to active/colab_sim_verify_install.md diff --git a/issued/contents_block_renders_as_paragraph.md b/active/contents_block_renders_as_paragraph.md similarity index 100% rename from issued/contents_block_renders_as_paragraph.md rename to active/contents_block_renders_as_paragraph.md diff --git a/issued/convergence_func_xp_threading.md b/active/convergence_func_xp_threading.md similarity index 100% rename from issued/convergence_func_xp_threading.md rename to active/convergence_func_xp_threading.md diff --git a/issued/cse_jax_port.md b/active/cse_jax_port.md similarity index 100% rename from issued/cse_jax_port.md rename to active/cse_jax_port.md diff --git a/issued/data_preparation.md b/active/data_preparation.md similarity index 100% rename from issued/data_preparation.md rename to active/data_preparation.md diff --git a/issued/data_typing.md b/active/data_typing.md similarity index 100% rename from issued/data_typing.md rename to active/data_typing.md diff --git a/issued/datacube_delaunay_release_memory.md b/active/datacube_delaunay_release_memory.md similarity index 100% rename from issued/datacube_delaunay_release_memory.md rename to active/datacube_delaunay_release_memory.md diff --git a/issued/datacube_shared_state_consumer.md b/active/datacube_shared_state_consumer.md similarity index 100% rename from issued/datacube_shared_state_consumer.md rename to active/datacube_shared_state_consumer.md diff --git a/issued/deep_audit_skills_tooling.md b/active/deep_audit_skills_tooling.md similarity index 100% rename from issued/deep_audit_skills_tooling.md rename to active/deep_audit_skills_tooling.md diff --git a/issued/default_branch_release_to_main.md b/active/default_branch_release_to_main.md similarity index 100% rename from issued/default_branch_release_to_main.md rename to active/default_branch_release_to_main.md diff --git a/issued/deferred_skill_tranche.md b/active/deferred_skill_tranche.md similarity index 100% rename from issued/deferred_skill_tranche.md rename to active/deferred_skill_tranche.md diff --git a/issued/deflections_integral_fix.md b/active/deflections_integral_fix.md similarity index 100% rename from issued/deflections_integral_fix.md rename to active/deflections_integral_fix.md diff --git a/issued/delaunay_qhull_only_callback.md b/active/delaunay_qhull_only_callback.md similarity index 100% rename from issued/delaunay_qhull_only_callback.md rename to active/delaunay_qhull_only_callback.md diff --git a/issued/dependencies.md b/active/dependencies.md similarity index 100% rename from issued/dependencies.md rename to active/dependencies.md diff --git a/issued/docs_mass_rst_sync.md b/active/docs_mass_rst_sync.md similarity index 100% rename from issued/docs_mass_rst_sync.md rename to active/docs_mass_rst_sync.md diff --git a/issued/docs_theming_and_hub.md b/active/docs_theming_and_hub.md similarity index 100% rename from issued/docs_theming_and_hub.md rename to active/docs_theming_and_hub.md diff --git a/issued/docstring.md b/active/docstring.md similarity index 100% rename from issued/docstring.md rename to active/docstring.md diff --git a/issued/eager_numpy_regression_assertions.md b/active/eager_numpy_regression_assertions.md similarity index 100% rename from issued/eager_numpy_regression_assertions.md rename to active/eager_numpy_regression_assertions.md diff --git a/issued/einstein_radius_zero_contour_migration.md b/active/einstein_radius_zero_contour_migration.md similarity index 100% rename from issued/einstein_radius_zero_contour_migration.md rename to active/einstein_radius_zero_contour_migration.md diff --git a/issued/ellipse_fitting_jax.md b/active/ellipse_fitting_jax.md similarity index 100% rename from issued/ellipse_fitting_jax.md rename to active/ellipse_fitting_jax.md diff --git a/issued/ellipse_modeling_visualization_jit.md b/active/ellipse_modeling_visualization_jit.md similarity index 100% rename from issued/ellipse_modeling_visualization_jit.md rename to active/ellipse_modeling_visualization_jit.md diff --git a/issued/ellipse_no_run.md b/active/ellipse_no_run.md similarity index 100% rename from issued/ellipse_no_run.md rename to active/ellipse_no_run.md diff --git a/issued/env_variable_check.md b/active/env_variable_check.md similarity index 100% rename from issued/env_variable_check.md rename to active/env_variable_check.md diff --git a/issued/ep_graphical.md b/active/ep_graphical.md similarity index 100% rename from issued/ep_graphical.md rename to active/ep_graphical.md diff --git a/issued/ep_hpc_run.md b/active/ep_hpc_run.md similarity index 100% rename from issued/ep_hpc_run.md rename to active/ep_hpc_run.md diff --git a/issued/ep_normal_message_negative_sigma_crash.md b/active/ep_normal_message_negative_sigma_crash.md similarity index 100% rename from issued/ep_normal_message_negative_sigma_crash.md rename to active/ep_normal_message_negative_sigma_crash.md diff --git a/issued/ep_profiling_breakdown.md b/active/ep_profiling_breakdown.md similarity index 100% rename from issued/ep_profiling_breakdown.md rename to active/ep_profiling_breakdown.md diff --git a/issued/ep_statistics_fix_batch.md b/active/ep_statistics_fix_batch.md similarity index 100% rename from issued/ep_statistics_fix_batch.md rename to active/ep_statistics_fix_batch.md diff --git a/issued/ep_walkthrough_mean_field_summary.md b/active/ep_walkthrough_mean_field_summary.md similarity index 100% rename from issued/ep_walkthrough_mean_field_summary.md rename to active/ep_walkthrough_mean_field_summary.md diff --git a/issued/euclid_assistant_duplicate_bibtex_keys.md b/active/euclid_assistant_duplicate_bibtex_keys.md similarity index 100% rename from issued/euclid_assistant_duplicate_bibtex_keys.md rename to active/euclid_assistant_duplicate_bibtex_keys.md diff --git a/issued/euclid_assistant_style_guide_wiki_and_paper_sweep.md b/active/euclid_assistant_style_guide_wiki_and_paper_sweep.md similarity index 100% rename from issued/euclid_assistant_style_guide_wiki_and_paper_sweep.md rename to active/euclid_assistant_style_guide_wiki_and_paper_sweep.md diff --git a/issued/euclid_eceb_editorial_revision.md b/active/euclid_eceb_editorial_revision.md similarity index 100% rename from issued/euclid_eceb_editorial_revision.md rename to active/euclid_eceb_editorial_revision.md diff --git a/issued/euclid_pipeline.md b/active/euclid_pipeline.md similarity index 100% rename from issued/euclid_pipeline.md rename to active/euclid_pipeline.md diff --git a/issued/factor_graph_visualize_combined_dispatch.md b/active/factor_graph_visualize_combined_dispatch.md similarity index 100% rename from issued/factor_graph_visualize_combined_dispatch.md rename to active/factor_graph_visualize_combined_dispatch.md diff --git a/issued/fast_nnls_solver_optimization.md b/active/fast_nnls_solver_optimization.md similarity index 100% rename from issued/fast_nnls_solver_optimization.md rename to active/fast_nnls_solver_optimization.md diff --git a/issued/fast_viz_zero_contour_perf_fix.md b/active/fast_viz_zero_contour_perf_fix.md similarity index 100% rename from issued/fast_viz_zero_contour_perf_fix.md rename to active/fast_viz_zero_contour_perf_fix.md diff --git a/issued/feature.md b/active/feature.md similarity index 100% rename from issued/feature.md rename to active/feature.md diff --git a/issued/feature_agent_infra_target_resolution.md b/active/feature_agent_infra_target_resolution.md similarity index 100% rename from issued/feature_agent_infra_target_resolution.md rename to active/feature_agent_infra_target_resolution.md diff --git a/issued/file_subplot.md b/active/file_subplot.md similarity index 100% rename from issued/file_subplot.md rename to active/file_subplot.md diff --git a/issued/fit_imaging_pytree.md b/active/fit_imaging_pytree.md similarity index 100% rename from issued/fit_imaging_pytree.md rename to active/fit_imaging_pytree.md diff --git a/issued/fit_pytree_registration_other_datasets.md b/active/fit_pytree_registration_other_datasets.md similarity index 100% rename from issued/fit_pytree_registration_other_datasets.md rename to active/fit_pytree_registration_other_datasets.md diff --git a/issued/fix_ellipse_multipole_scaled_jax.md b/active/fix_ellipse_multipole_scaled_jax.md similarity index 100% rename from issued/fix_ellipse_multipole_scaled_jax.md rename to active/fix_ellipse_multipole_scaled_jax.md diff --git a/issued/frame_registration_shifts.md b/active/frame_registration_shifts.md similarity index 100% rename from issued/frame_registration_shifts.md rename to active/frame_registration_shifts.md diff --git a/issued/graphical_ep_scale_up.md b/active/graphical_ep_scale_up.md similarity index 100% rename from issued/graphical_ep_scale_up.md rename to active/graphical_ep_scale_up.md diff --git a/issued/grid_irregular_xp_propagation.md b/active/grid_irregular_xp_propagation.md similarity index 100% rename from issued/grid_irregular_xp_propagation.md rename to active/grid_irregular_xp_propagation.md diff --git a/issued/group.md b/active/group.md similarity index 100% rename from issued/group.md rename to active/group.md diff --git a/issued/group_20260413.md b/active/group_20260413.md similarity index 100% rename from issued/group_20260413.md rename to active/group_20260413.md diff --git a/issued/group_20260414.md b/active/group_20260414.md similarity index 100% rename from issued/group_20260414.md rename to active/group_20260414.md diff --git a/issued/group_double_einstein_ring.md b/active/group_double_einstein_ring.md similarity index 100% rename from issued/group_double_einstein_ring.md rename to active/group_double_einstein_ring.md diff --git a/issued/group_list_based_api.md b/active/group_list_based_api.md similarity index 100% rename from issued/group_list_based_api.md rename to active/group_list_based_api.md diff --git a/issued/group_mass_stellar_dark.md b/active/group_mass_stellar_dark.md similarity index 100% rename from issued/group_mass_stellar_dark.md rename to active/group_mass_stellar_dark.md diff --git a/issued/group_scaling_relation.md b/active/group_scaling_relation.md similarity index 100% rename from issued/group_scaling_relation.md rename to active/group_scaling_relation.md diff --git a/issued/health.md b/active/health.md similarity index 100% rename from issued/health.md rename to active/health.md diff --git a/issued/health_agent_migrate_to_brain.md b/active/health_agent_migrate_to_brain.md similarity index 100% rename from issued/health_agent_migrate_to_brain.md rename to active/health_agent_migrate_to_brain.md diff --git a/issued/health_dashboard.md b/active/health_dashboard.md similarity index 100% rename from issued/health_dashboard.md rename to active/health_dashboard.md diff --git a/issued/health_sync_noise_filter.md b/active/health_sync_noise_filter.md similarity index 100% rename from issued/health_sync_noise_filter.md rename to active/health_sync_noise_filter.md diff --git a/issued/hierarchical_ep_test_flaky.md b/active/hierarchical_ep_test_flaky.md similarity index 100% rename from issued/hierarchical_ep_test_flaky.md rename to active/hierarchical_ep_test_flaky.md diff --git a/issued/howto_markdown_resync.md b/active/howto_markdown_resync.md similarity index 100% rename from issued/howto_markdown_resync.md rename to active/howto_markdown_resync.md diff --git a/issued/howto_release_window.md b/active/howto_release_window.md similarity index 100% rename from issued/howto_release_window.md rename to active/howto_release_window.md diff --git a/issued/howto_tutorial_release_fixes.md b/active/howto_tutorial_release_fixes.md similarity index 100% rename from issued/howto_tutorial_release_fixes.md rename to active/howto_tutorial_release_fixes.md diff --git a/issued/howtofit.md b/active/howtofit.md similarity index 100% rename from issued/howtofit.md rename to active/howtofit.md diff --git a/issued/howtofit_register.md b/active/howtofit_register.md similarity index 100% rename from issued/howtofit_register.md rename to active/howtofit_register.md diff --git a/issued/howtogalaxy.md b/active/howtogalaxy.md similarity index 100% rename from issued/howtogalaxy.md rename to active/howtogalaxy.md diff --git a/issued/howtolens.md b/active/howtolens.md similarity index 100% rename from issued/howtolens.md rename to active/howtolens.md diff --git a/issued/howtolens_docs_update.md b/active/howtolens_docs_update.md similarity index 100% rename from issued/howtolens_docs_update.md rename to active/howtolens_docs_update.md diff --git a/issued/howtolens_workspace_cleanup.md b/active/howtolens_workspace_cleanup.md similarity index 100% rename from issued/howtolens_workspace_cleanup.md rename to active/howtolens_workspace_cleanup.md diff --git a/issued/hst_acs_phase1.md b/active/hst_acs_phase1.md similarity index 100% rename from issued/hst_acs_phase1.md rename to active/hst_acs_phase1.md diff --git a/issued/human_led_tone_sweep.md b/active/human_led_tone_sweep.md similarity index 100% rename from issued/human_led_tone_sweep.md rename to active/human_led_tone_sweep.md diff --git a/issued/hygiene_agent_phase_1_scaffold.md b/active/hygiene_agent_phase_1_scaffold.md similarity index 100% rename from issued/hygiene_agent_phase_1_scaffold.md rename to active/hygiene_agent_phase_1_scaffold.md diff --git a/issued/hygiene_agent_phase_2_modes.md b/active/hygiene_agent_phase_2_modes.md similarity index 100% rename from issued/hygiene_agent_phase_2_modes.md rename to active/hygiene_agent_phase_2_modes.md diff --git a/issued/hygiene_agent_phase_3_perf.md b/active/hygiene_agent_phase_3_perf.md similarity index 100% rename from issued/hygiene_agent_phase_3_perf.md rename to active/hygiene_agent_phase_3_perf.md diff --git a/issued/hygiene_file_hygiene_modes.md b/active/hygiene_file_hygiene_modes.md similarity index 100% rename from issued/hygiene_file_hygiene_modes.md rename to active/hygiene_file_hygiene_modes.md diff --git a/issued/hygiene_function_profiling.md b/active/hygiene_function_profiling.md similarity index 100% rename from issued/hygiene_function_profiling.md rename to active/hygiene_function_profiling.md diff --git a/issued/hygiene_import_time_leg.md b/active/hygiene_import_time_leg.md similarity index 100% rename from issued/hygiene_import_time_leg.md rename to active/hygiene_import_time_leg.md diff --git a/issued/hygiene_pyautogut_drive_seam.md b/active/hygiene_pyautogut_drive_seam.md similarity index 100% rename from issued/hygiene_pyautogut_drive_seam.md rename to active/hygiene_pyautogut_drive_seam.md diff --git a/issued/hygiene_unit_test_timing.md b/active/hygiene_unit_test_timing.md similarity index 100% rename from issued/hygiene_unit_test_timing.md rename to active/hygiene_unit_test_timing.md diff --git a/issued/hygiene_workspace_testmode_timing.md b/active/hygiene_workspace_testmode_timing.md similarity index 100% rename from issued/hygiene_workspace_testmode_timing.md rename to active/hygiene_workspace_testmode_timing.md diff --git a/issued/import_optimization.md b/active/import_optimization.md similarity index 100% rename from issued/import_optimization.md rename to active/import_optimization.md diff --git a/issued/improve_load_results.md b/active/improve_load_results.md similarity index 100% rename from issued/improve_load_results.md rename to active/improve_load_results.md diff --git a/issued/individual_frame_output_mode.md b/active/individual_frame_output_mode.md similarity index 100% rename from issued/individual_frame_output_mode.md rename to active/individual_frame_output_mode.md diff --git a/issued/instrument_readme_dashboard.md b/active/instrument_readme_dashboard.md similarity index 100% rename from issued/instrument_readme_dashboard.md rename to active/instrument_readme_dashboard.md diff --git a/issued/intake.md b/active/intake.md similarity index 100% rename from issued/intake.md rename to active/intake.md diff --git a/issued/interferometer.md b/active/interferometer.md similarity index 100% rename from issued/interferometer.md rename to active/interferometer.md diff --git a/issued/interferometer_data_prep.md b/active/interferometer_data_prep.md similarity index 100% rename from issued/interferometer_data_prep.md rename to active/interferometer_data_prep.md diff --git a/issued/interferometer_extra_galaxies.md b/active/interferometer_extra_galaxies.md similarity index 100% rename from issued/interferometer_extra_galaxies.md rename to active/interferometer_extra_galaxies.md diff --git a/issued/interferometer_gradients.md b/active/interferometer_gradients.md similarity index 100% rename from issued/interferometer_gradients.md rename to active/interferometer_gradients.md diff --git a/issued/interferometer_linear_light_profiles.md b/active/interferometer_linear_light_profiles.md similarity index 100% rename from issued/interferometer_linear_light_profiles.md rename to active/interferometer_linear_light_profiles.md diff --git a/issued/interferometer_multi_gaussian_expansion.md b/active/interferometer_multi_gaussian_expansion.md similarity index 100% rename from issued/interferometer_multi_gaussian_expansion.md rename to active/interferometer_multi_gaussian_expansion.md diff --git a/issued/interferometer_shapelets.md b/active/interferometer_shapelets.md similarity index 100% rename from issued/interferometer_shapelets.md rename to active/interferometer_shapelets.md diff --git a/issued/jax_autodiff_gradients_audit.md b/active/jax_autodiff_gradients_audit.md similarity index 100% rename from issued/jax_autodiff_gradients_audit.md rename to active/jax_autodiff_gradients_audit.md diff --git a/issued/jax_dataset_model.md b/active/jax_dataset_model.md similarity index 100% rename from issued/jax_dataset_model.md rename to active/jax_dataset_model.md diff --git a/issued/jax_docs_cluster.md b/active/jax_docs_cluster.md similarity index 100% rename from issued/jax_docs_cluster.md rename to active/jax_docs_cluster.md diff --git a/issued/jax_docs_group.md b/active/jax_docs_group.md similarity index 100% rename from issued/jax_docs_group.md rename to active/jax_docs_group.md diff --git a/issued/jax_docs_guide_data_structures.md b/active/jax_docs_guide_data_structures.md similarity index 100% rename from issued/jax_docs_guide_data_structures.md rename to active/jax_docs_guide_data_structures.md diff --git a/issued/jax_docs_guide_galaxies.md b/active/jax_docs_guide_galaxies.md similarity index 100% rename from issued/jax_docs_guide_galaxies.md rename to active/jax_docs_guide_galaxies.md diff --git a/issued/jax_docs_guide_lens_calc.md b/active/jax_docs_guide_lens_calc.md similarity index 100% rename from issued/jax_docs_guide_lens_calc.md rename to active/jax_docs_guide_lens_calc.md diff --git a/issued/jax_docs_guide_tracer.md b/active/jax_docs_guide_tracer.md similarity index 100% rename from issued/jax_docs_guide_tracer.md rename to active/jax_docs_guide_tracer.md diff --git a/issued/jax_docs_guides.md b/active/jax_docs_guides.md similarity index 100% rename from issued/jax_docs_guides.md rename to active/jax_docs_guides.md diff --git a/issued/jax_docs_imaging.md b/active/jax_docs_imaging.md similarity index 100% rename from issued/jax_docs_imaging.md rename to active/jax_docs_imaging.md diff --git a/issued/jax_docs_interferometer.md b/active/jax_docs_interferometer.md similarity index 100% rename from issued/jax_docs_interferometer.md rename to active/jax_docs_interferometer.md diff --git a/issued/jax_docs_multi.md b/active/jax_docs_multi.md similarity index 100% rename from issued/jax_docs_multi.md rename to active/jax_docs_multi.md diff --git a/issued/jax_docs_point_source.md b/active/jax_docs_point_source.md similarity index 100% rename from issued/jax_docs_point_source.md rename to active/jax_docs_point_source.md diff --git a/issued/jax_gradients.md b/active/jax_gradients.md similarity index 100% rename from issued/jax_gradients.md rename to active/jax_gradients.md diff --git a/issued/jax_interface_audit_and_design.md b/active/jax_interface_audit_and_design.md similarity index 100% rename from issued/jax_interface_audit_and_design.md rename to active/jax_interface_audit_and_design.md diff --git a/issued/jax_likelihood_interferometer_parity.md b/active/jax_likelihood_interferometer_parity.md similarity index 100% rename from issued/jax_likelihood_interferometer_parity.md rename to active/jax_likelihood_interferometer_parity.md diff --git a/issued/jax_likelihood_multi_parity.md b/active/jax_likelihood_multi_parity.md similarity index 100% rename from issued/jax_likelihood_multi_parity.md rename to active/jax_likelihood_multi_parity.md diff --git a/issued/jax_likelihood_multi_per_band_priors.md b/active/jax_likelihood_multi_per_band_priors.md similarity index 100% rename from issued/jax_likelihood_multi_per_band_priors.md rename to active/jax_likelihood_multi_per_band_priors.md diff --git a/issued/jax_likelihood_point_source_parity.md b/active/jax_likelihood_point_source_parity.md similarity index 100% rename from issued/jax_likelihood_point_source_parity.md rename to active/jax_likelihood_point_source_parity.md diff --git a/issued/jax_nested.md b/active/jax_nested.md similarity index 100% rename from issued/jax_nested.md rename to active/jax_nested.md diff --git a/issued/jax_point_source_point_smoke_sentinel.md b/active/jax_point_source_point_smoke_sentinel.md similarity index 100% rename from issued/jax_point_source_point_smoke_sentinel.md rename to active/jax_point_source_point_smoke_sentinel.md diff --git a/issued/jax_simulator_release_fixes.md b/active/jax_simulator_release_fixes.md similarity index 100% rename from issued/jax_simulator_release_fixes.md rename to active/jax_simulator_release_fixes.md diff --git a/issued/jax_start_here_intros.md b/active/jax_start_here_intros.md similarity index 100% rename from issued/jax_start_here_intros.md rename to active/jax_start_here_intros.md diff --git a/issued/jax_user_intro_umbrella.md b/active/jax_user_intro_umbrella.md similarity index 100% rename from issued/jax_user_intro_umbrella.md rename to active/jax_user_intro_umbrella.md diff --git a/issued/jax_visualization.md b/active/jax_visualization.md similarity index 100% rename from issued/jax_visualization.md rename to active/jax_visualization.md diff --git a/issued/jax_viz_dataset_coverage.md b/active/jax_viz_dataset_coverage.md similarity index 100% rename from issued/jax_viz_dataset_coverage.md rename to active/jax_viz_dataset_coverage.md diff --git a/issued/jax_viz_interferometer_coverage.md b/active/jax_viz_interferometer_coverage.md similarity index 100% rename from issued/jax_viz_interferometer_coverage.md rename to active/jax_viz_interferometer_coverage.md diff --git a/issued/jax_viz_point_source_coverage.md b/active/jax_viz_point_source_coverage.md similarity index 100% rename from issued/jax_viz_point_source_coverage.md rename to active/jax_viz_point_source_coverage.md diff --git a/issued/jit_regression_constant_drift.md b/active/jit_regression_constant_drift.md similarity index 100% rename from issued/jit_regression_constant_drift.md rename to active/jit_regression_constant_drift.md diff --git a/issued/jwst_frame_products.md b/active/jwst_frame_products.md similarity index 100% rename from issued/jwst_frame_products.md rename to active/jwst_frame_products.md diff --git a/issued/jwst_individual_frame_feasibility.md b/active/jwst_individual_frame_feasibility.md similarity index 100% rename from issued/jwst_individual_frame_feasibility.md rename to active/jwst_individual_frame_feasibility.md diff --git a/issued/jwst_nircam_cosmos_web.md b/active/jwst_nircam_cosmos_web.md similarity index 100% rename from issued/jwst_nircam_cosmos_web.md rename to active/jwst_nircam_cosmos_web.md diff --git a/issued/kaplinghat_sidm_cored_nfw.md b/active/kaplinghat_sidm_cored_nfw.md similarity index 100% rename from issued/kaplinghat_sidm_cored_nfw.md rename to active/kaplinghat_sidm_cored_nfw.md diff --git a/issued/keck_ao_acceptance_checks.md b/active/keck_ao_acceptance_checks.md similarity index 100% rename from issued/keck_ao_acceptance_checks.md rename to active/keck_ao_acceptance_checks.md diff --git a/issued/keck_ao_reduction.md b/active/keck_ao_reduction.md similarity index 100% rename from issued/keck_ao_reduction.md rename to active/keck_ao_reduction.md diff --git a/issued/keck_ao_reduction_plan.md b/active/keck_ao_reduction_plan.md similarity index 100% rename from issued/keck_ao_reduction_plan.md rename to active/keck_ao_reduction_plan.md diff --git a/issued/kernel_forward_chunking.md b/active/kernel_forward_chunking.md similarity index 100% rename from issued/kernel_forward_chunking.md rename to active/kernel_forward_chunking.md diff --git a/issued/knn_barycentric.md b/active/knn_barycentric.md similarity index 100% rename from issued/knn_barycentric.md rename to active/knn_barycentric.md diff --git a/issued/kxs_design.md b/active/kxs_design.md similarity index 100% rename from issued/kxs_design.md rename to active/kxs_design.md diff --git a/issued/kxs_ground_truth.py b/active/kxs_ground_truth.py similarity index 100% rename from issued/kxs_ground_truth.py rename to active/kxs_ground_truth.py diff --git a/issued/kxs_phase_1_design.md b/active/kxs_phase_1_design.md similarity index 100% rename from issued/kxs_phase_1_design.md rename to active/kxs_phase_1_design.md diff --git a/issued/kxs_surface_refactor.md b/active/kxs_surface_refactor.md similarity index 100% rename from issued/kxs_surface_refactor.md rename to active/kxs_surface_refactor.md diff --git a/issued/latent_class_redesign.md b/active/latent_class_redesign.md similarity index 100% rename from issued/latent_class_redesign.md rename to active/latent_class_redesign.md diff --git a/issued/latent_jax_release_failures.md b/active/latent_jax_release_failures.md similarity index 100% rename from issued/latent_jax_release_failures.md rename to active/latent_jax_release_failures.md diff --git a/issued/latent_migration_euclid.md b/active/latent_migration_euclid.md similarity index 100% rename from issued/latent_migration_euclid.md rename to active/latent_migration_euclid.md diff --git a/issued/latent_module_autogalaxy.md b/active/latent_module_autogalaxy.md similarity index 100% rename from issued/latent_module_autogalaxy.md rename to active/latent_module_autogalaxy.md diff --git a/issued/latent_module_autolens.md b/active/latent_module_autolens.md similarity index 100% rename from issued/latent_module_autolens.md rename to active/latent_module_autolens.md diff --git a/issued/latent_prior_mapping_math_autolens.md b/active/latent_prior_mapping_math_autolens.md similarity index 100% rename from issued/latent_prior_mapping_math_autolens.md rename to active/latent_prior_mapping_math_autolens.md diff --git a/issued/latent_profiling_autolens_profiling.md b/active/latent_profiling_autolens_profiling.md similarity index 100% rename from issued/latent_profiling_autolens_profiling.md rename to active/latent_profiling_autolens_profiling.md diff --git a/issued/latent_smoke_test_autolens_workspace_test.md b/active/latent_smoke_test_autolens_workspace_test.md similarity index 100% rename from issued/latent_smoke_test_autolens_workspace_test.md rename to active/latent_smoke_test_autolens_workspace_test.md diff --git a/issued/latent_variables_tutorial_autogalaxy.md b/active/latent_variables_tutorial_autogalaxy.md similarity index 100% rename from issued/latent_variables_tutorial_autogalaxy.md rename to active/latent_variables_tutorial_autogalaxy.md diff --git a/issued/latent_variables_tutorial_autolens.md b/active/latent_variables_tutorial_autolens.md similarity index 100% rename from issued/latent_variables_tutorial_autolens.md rename to active/latent_variables_tutorial_autolens.md diff --git a/issued/latent_variables_tutorial_expand_autofit.md b/active/latent_variables_tutorial_expand_autofit.md similarity index 100% rename from issued/latent_variables_tutorial_expand_autofit.md rename to active/latent_variables_tutorial_expand_autofit.md diff --git a/issued/lens_calc_guide.md b/active/lens_calc_guide.md similarity index 100% rename from issued/lens_calc_guide.md rename to active/lens_calc_guide.md diff --git a/issued/lens_calc_magnification_xp_divergence.md b/active/lens_calc_magnification_xp_divergence.md similarity index 100% rename from issued/lens_calc_magnification_xp_divergence.md rename to active/lens_calc_magnification_xp_divergence.md diff --git a/issued/lensing_transient_citations.md b/active/lensing_transient_citations.md similarity index 100% rename from issued/lensing_transient_citations.md rename to active/lensing_transient_citations.md diff --git a/issued/lifecycle_state_split.md b/active/lifecycle_state_split.md similarity index 100% rename from issued/lifecycle_state_split.md rename to active/lifecycle_state_split.md diff --git a/issued/light_and_mass_profiles.md b/active/light_and_mass_profiles.md similarity index 100% rename from issued/light_and_mass_profiles.md rename to active/light_and_mass_profiles.md diff --git a/issued/light_profiles.md b/active/light_profiles.md similarity index 100% rename from issued/light_profiles.md rename to active/light_profiles.md diff --git a/issued/likelihood_function_assertions.md b/active/likelihood_function_assertions.md similarity index 100% rename from issued/likelihood_function_assertions.md rename to active/likelihood_function_assertions.md diff --git a/issued/likelihood_jit_mirror.md b/active/likelihood_jit_mirror.md similarity index 100% rename from issued/likelihood_jit_mirror.md rename to active/likelihood_jit_mirror.md diff --git a/issued/live_visual_update_context.md b/active/live_visual_update_context.md similarity index 100% rename from issued/live_visual_update_context.md rename to active/live_visual_update_context.md diff --git a/issued/logging.md b/active/logging.md similarity index 100% rename from issued/logging.md rename to active/logging.md diff --git a/issued/magzero_required_latents_crash_search.md b/active/magzero_required_latents_crash_search.md similarity index 100% rename from issued/magzero_required_latents_crash_search.md rename to active/magzero_required_latents_crash_search.md diff --git a/issued/markdown_example_renderings.md b/active/markdown_example_renderings.md similarity index 100% rename from issued/markdown_example_renderings.md rename to active/markdown_example_renderings.md diff --git a/issued/markdown_example_renderings_rollout.md b/active/markdown_example_renderings_rollout.md similarity index 100% rename from issued/markdown_example_renderings_rollout.md rename to active/markdown_example_renderings_rollout.md diff --git a/issued/markdown_renderings_howto.md b/active/markdown_renderings_howto.md similarity index 100% rename from issued/markdown_renderings_howto.md rename to active/markdown_renderings_howto.md diff --git a/issued/mass_profiles.md b/active/mass_profiles.md similarity index 100% rename from issued/mass_profiles.md rename to active/mass_profiles.md diff --git a/issued/mass_profiles_documentation.md b/active/mass_profiles_documentation.md similarity index 100% rename from issued/mass_profiles_documentation.md rename to active/mass_profiles_documentation.md diff --git a/issued/mass_profiles_refactor.md b/active/mass_profiles_refactor.md similarity index 100% rename from issued/mass_profiles_refactor.md rename to active/mass_profiles_refactor.md diff --git a/issued/mass_profiles_spring_clean.md b/active/mass_profiles_spring_clean.md similarity index 100% rename from issued/mass_profiles_spring_clean.md rename to active/mass_profiles_spring_clean.md diff --git a/issued/mass_self_consistency_tests.md b/active/mass_self_consistency_tests.md similarity index 100% rename from issued/mass_self_consistency_tests.md rename to active/mass_self_consistency_tests.md diff --git a/issued/mass_test_fast_full_modes.md b/active/mass_test_fast_full_modes.md similarity index 100% rename from issued/mass_test_fast_full_modes.md rename to active/mass_test_fast_full_modes.md diff --git a/issued/mge_cse_fallback.md b/active/mge_cse_fallback.md similarity index 100% rename from issued/mge_cse_fallback.md rename to active/mge_cse_fallback.md diff --git a/issued/mge_fix.md b/active/mge_fix.md similarity index 100% rename from issued/mge_fix.md rename to active/mge_fix.md diff --git a/issued/mge_potential_elliptical_fix.md b/active/mge_potential_elliptical_fix.md similarity index 100% rename from issued/mge_potential_elliptical_fix.md rename to active/mge_potential_elliptical_fix.md diff --git a/issued/microlensing_imf_citation.md b/active/microlensing_imf_citation.md similarity index 100% rename from issued/microlensing_imf_citation.md rename to active/microlensing_imf_citation.md diff --git a/issued/model_composition_integration.md b/active/model_composition_integration.md similarity index 100% rename from issued/model_composition_integration.md rename to active/model_composition_integration.md diff --git a/issued/morning_routine.md b/active/morning_routine.md similarity index 100% rename from issued/morning_routine.md rename to active/morning_routine.md diff --git a/issued/multi_shared_state_examples.md b/active/multi_shared_state_examples.md similarity index 100% rename from issued/multi_shared_state_examples.md rename to active/multi_shared_state_examples.md diff --git a/issued/multi_shared_state_examples_phase_1_design.md b/active/multi_shared_state_examples_phase_1_design.md similarity index 100% rename from issued/multi_shared_state_examples_phase_1_design.md rename to active/multi_shared_state_examples_phase_1_design.md diff --git a/issued/multi_shared_state_examples_phase_2_core_api.md b/active/multi_shared_state_examples_phase_2_core_api.md similarity index 100% rename from issued/multi_shared_state_examples_phase_2_core_api.md rename to active/multi_shared_state_examples_phase_2_core_api.md diff --git a/issued/multi_shared_state_examples_phase_3_workspace_examples.md b/active/multi_shared_state_examples_phase_3_workspace_examples.md similarity index 100% rename from issued/multi_shared_state_examples_phase_3_workspace_examples.md rename to active/multi_shared_state_examples_phase_3_workspace_examples.md diff --git a/issued/multi_shared_state_examples_phase_4_docs.md b/active/multi_shared_state_examples_phase_4_docs.md similarity index 100% rename from issued/multi_shared_state_examples_phase_4_docs.md rename to active/multi_shared_state_examples_phase_4_docs.md diff --git a/issued/multipole_light.md b/active/multipole_light.md similarity index 100% rename from issued/multipole_light.md rename to active/multipole_light.md diff --git a/issued/nautilus_nn_training_bottleneck.md b/active/nautilus_nn_training_bottleneck.md similarity index 100% rename from issued/nautilus_nn_training_bottleneck.md rename to active/nautilus_nn_training_bottleneck.md diff --git a/issued/navigator-catalogue-refresh.md b/active/navigator-catalogue-refresh.md similarity index 100% rename from issued/navigator-catalogue-refresh.md rename to active/navigator-catalogue-refresh.md diff --git a/issued/nfw_pure_callback.md b/active/nfw_pure_callback.md similarity index 100% rename from issued/nfw_pure_callback.md rename to active/nfw_pure_callback.md diff --git a/issued/nfw_sph_potential_mismatch.md b/active/nfw_sph_potential_mismatch.md similarity index 100% rename from issued/nfw_sph_potential_mismatch.md rename to active/nfw_sph_potential_mismatch.md diff --git a/issued/nightly_activity_gate_silent_fetch_failure.md b/active/nightly_activity_gate_silent_fetch_failure.md similarity index 100% rename from issued/nightly_activity_gate_silent_fetch_failure.md rename to active/nightly_activity_gate_silent_fetch_failure.md diff --git a/issued/nightly_release_activity_gate.md b/active/nightly_release_activity_gate.md similarity index 100% rename from issued/nightly_release_activity_gate.md rename to active/nightly_release_activity_gate.md diff --git a/issued/nightly_release_implementation.md b/active/nightly_release_implementation.md similarity index 100% rename from issued/nightly_release_implementation.md rename to active/nightly_release_implementation.md diff --git a/issued/nnls_bpp_admm_solver_experiment.md b/active/nnls_bpp_admm_solver_experiment.md similarity index 100% rename from issued/nnls_bpp_admm_solver_experiment.md rename to active/nnls_bpp_admm_solver_experiment.md diff --git a/issued/nnls_gpu_bottleneck.md b/active/nnls_gpu_bottleneck.md similarity index 100% rename from issued/nnls_gpu_bottleneck.md rename to active/nnls_gpu_bottleneck.md diff --git a/issued/nnls_gradient.md b/active/nnls_gradient.md similarity index 100% rename from issued/nnls_gradient.md rename to active/nnls_gradient.md diff --git a/issued/nnls_vmap_optimization.md b/active/nnls_vmap_optimization.md similarity index 100% rename from issued/nnls_vmap_optimization.md rename to active/nnls_vmap_optimization.md diff --git a/issued/nss_checkpointing_and_visualization.md b/active/nss_checkpointing_and_visualization.md similarity index 100% rename from issued/nss_checkpointing_and_visualization.md rename to active/nss_checkpointing_and_visualization.md diff --git a/issued/nss_chunked_init_followup.md b/active/nss_chunked_init_followup.md similarity index 100% rename from issued/nss_chunked_init_followup.md rename to active/nss_chunked_init_followup.md diff --git a/issued/nss_chunked_vmap_for_inversion_heavy_likelihoods.md b/active/nss_chunked_vmap_for_inversion_heavy_likelihoods.md similarity index 100% rename from issued/nss_chunked_vmap_for_inversion_heavy_likelihoods.md rename to active/nss_chunked_vmap_for_inversion_heavy_likelihoods.md diff --git a/issued/nss_install_simplification.md b/active/nss_install_simplification.md similarity index 100% rename from issued/nss_install_simplification.md rename to active/nss_install_simplification.md diff --git a/issued/nss_optional_dependency_workspace.md b/active/nss_optional_dependency_workspace.md similarity index 100% rename from issued/nss_optional_dependency_workspace.md rename to active/nss_optional_dependency_workspace.md diff --git a/issued/nss_search_wrapper.md b/active/nss_search_wrapper.md similarity index 100% rename from issued/nss_search_wrapper.md rename to active/nss_search_wrapper.md diff --git a/issued/nss_test_optional_dep_skip.md b/active/nss_test_optional_dep_skip.md similarity index 100% rename from issued/nss_test_optional_dep_skip.md rename to active/nss_test_optional_dep_skip.md diff --git a/issued/nss_tutorial_dispatch.md b/active/nss_tutorial_dispatch.md similarity index 100% rename from issued/nss_tutorial_dispatch.md rename to active/nss_tutorial_dispatch.md diff --git a/issued/numba_docs.md b/active/numba_docs.md similarity index 100% rename from issued/numba_docs.md rename to active/numba_docs.md diff --git a/issued/on_the_fly_docs.md b/active/on_the_fly_docs.md similarity index 100% rename from issued/on_the_fly_docs.md rename to active/on_the_fly_docs.md diff --git a/issued/on_the_fly_modeling.md b/active/on_the_fly_modeling.md similarity index 100% rename from issued/on_the_fly_modeling.md rename to active/on_the_fly_modeling.md diff --git a/issued/optional_dep_latents_should_soft_fail.md b/active/optional_dep_latents_should_soft_fail.md similarity index 100% rename from issued/optional_dep_latents_should_soft_fail.md rename to active/optional_dep_latents_should_soft_fail.md diff --git a/issued/oversampled_psf_simulator.md b/active/oversampled_psf_simulator.md similarity index 100% rename from issued/oversampled_psf_simulator.md rename to active/oversampled_psf_simulator.md diff --git a/issued/oversampled_psf_visible_input.md b/active/oversampled_psf_visible_input.md similarity index 100% rename from issued/oversampled_psf_visible_input.md rename to active/oversampled_psf_visible_input.md diff --git a/issued/oversampling.md b/active/oversampling.md similarity index 100% rename from issued/oversampling.md rename to active/oversampling.md diff --git a/issued/oversampling_design.md b/active/oversampling_design.md similarity index 100% rename from issued/oversampling_design.md rename to active/oversampling_design.md diff --git a/issued/oversampling_ground_truth.py b/active/oversampling_ground_truth.py similarity index 100% rename from issued/oversampling_ground_truth.py rename to active/oversampling_ground_truth.py diff --git a/issued/oversampling_phase_1_design.md b/active/oversampling_phase_1_design.md similarity index 100% rename from issued/oversampling_phase_1_design.md rename to active/oversampling_phase_1_design.md diff --git a/issued/oversampling_phase_2_core_api.md b/active/oversampling_phase_2_core_api.md similarity index 100% rename from issued/oversampling_phase_2_core_api.md rename to active/oversampling_phase_2_core_api.md diff --git a/issued/oversampling_phase_2a_convolver_dataset.md b/active/oversampling_phase_2a_convolver_dataset.md similarity index 100% rename from issued/oversampling_phase_2a_convolver_dataset.md rename to active/oversampling_phase_2a_convolver_dataset.md diff --git a/issued/oversampling_phase_2b_inversion_wiring.md b/active/oversampling_phase_2b_inversion_wiring.md similarity index 100% rename from issued/oversampling_phase_2b_inversion_wiring.md rename to active/oversampling_phase_2b_inversion_wiring.md diff --git a/issued/oversampling_phase_2c_autogalaxy_consumer.md b/active/oversampling_phase_2c_autogalaxy_consumer.md similarity index 100% rename from issued/oversampling_phase_2c_autogalaxy_consumer.md rename to active/oversampling_phase_2c_autogalaxy_consumer.md diff --git a/issued/oversampling_phase_3_workspace_examples.md b/active/oversampling_phase_3_workspace_examples.md similarity index 100% rename from issued/oversampling_phase_3_workspace_examples.md rename to active/oversampling_phase_3_workspace_examples.md diff --git a/issued/oversampling_phase_4_docs.md b/active/oversampling_phase_4_docs.md similarity index 100% rename from issued/oversampling_phase_4_docs.md rename to active/oversampling_phase_4_docs.md diff --git a/issued/oversampling_refactor_followup.md b/active/oversampling_refactor_followup.md similarity index 100% rename from issued/oversampling_refactor_followup.md rename to active/oversampling_refactor_followup.md diff --git a/issued/per_frame_psf.md b/active/per_frame_psf.md similarity index 100% rename from issued/per_frame_psf.md rename to active/per_frame_psf.md diff --git a/issued/pixelization_galaxy.md b/active/pixelization_galaxy.md similarity index 100% rename from issued/pixelization_galaxy.md rename to active/pixelization_galaxy.md diff --git a/issued/plot_rst_functional_api_rewrite.md b/active/plot_rst_functional_api_rewrite.md similarity index 100% rename from issued/plot_rst_functional_api_rewrite.md rename to active/plot_rst_functional_api_rewrite.md diff --git a/issued/point_simulator_errors.md b/active/point_simulator_errors.md similarity index 100% rename from issued/point_simulator_errors.md rename to active/point_simulator_errors.md diff --git a/issued/point_source_jax_profiling.md b/active/point_source_jax_profiling.md similarity index 100% rename from issued/point_source_jax_profiling.md rename to active/point_source_jax_profiling.md diff --git a/issued/point_source_multi.md b/active/point_source_multi.md similarity index 100% rename from issued/point_source_multi.md rename to active/point_source_multi.md diff --git a/issued/polish_phase_1_design.md b/active/polish_phase_1_design.md similarity index 100% rename from issued/polish_phase_1_design.md rename to active/polish_phase_1_design.md diff --git a/issued/polish_phase_2_vram.md b/active/polish_phase_2_vram.md similarity index 100% rename from issued/polish_phase_2_vram.md rename to active/polish_phase_2_vram.md diff --git a/issued/polish_phase_3_runtimes.md b/active/polish_phase_3_runtimes.md similarity index 100% rename from issued/polish_phase_3_runtimes.md rename to active/polish_phase_3_runtimes.md diff --git a/issued/polish_phase_4_breakdown_dashboard.md b/active/polish_phase_4_breakdown_dashboard.md similarity index 100% rename from issued/polish_phase_4_breakdown_dashboard.md rename to active/polish_phase_4_breakdown_dashboard.md diff --git a/issued/portable_user_defaults.md b/active/portable_user_defaults.md similarity index 100% rename from issued/portable_user_defaults.md rename to active/portable_user_defaults.md diff --git a/issued/positions_test_mode_bug.md b/active/positions_test_mode_bug.md similarity index 100% rename from issued/positions_test_mode_bug.md rename to active/positions_test_mode_bug.md diff --git a/issued/post_phase3_consolidation.md b/active/post_phase3_consolidation.md similarity index 100% rename from issued/post_phase3_consolidation.md rename to active/post_phase3_consolidation.md diff --git a/issued/priors_jax_native.md b/active/priors_jax_native.md similarity index 100% rename from issued/priors_jax_native.md rename to active/priors_jax_native.md diff --git a/issued/profile_guide_followup_cleanup.md b/active/profile_guide_followup_cleanup.md similarity index 100% rename from issued/profile_guide_followup_cleanup.md rename to active/profile_guide_followup_cleanup.md diff --git a/issued/profile_return_type_fixes.md b/active/profile_return_type_fixes.md similarity index 100% rename from issued/profile_return_type_fixes.md rename to active/profile_return_type_fixes.md diff --git a/issued/profiling.md b/active/profiling.md similarity index 100% rename from issued/profiling.md rename to active/profiling.md diff --git a/issued/profiling_agent.md b/active/profiling_agent.md similarity index 100% rename from issued/profiling_agent.md rename to active/profiling_agent.md diff --git a/issued/profiling_drift_check.md b/active/profiling_drift_check.md similarity index 100% rename from issued/profiling_drift_check.md rename to active/profiling_drift_check.md diff --git a/issued/prompt_sync_self_locating.md b/active/prompt_sync_self_locating.md similarity index 100% rename from issued/prompt_sync_self_locating.md rename to active/prompt_sync_self_locating.md diff --git a/issued/psf_convolution_docstring_section_in_simulator_py.md b/active/psf_convolution_docstring_section_in_simulator_py.md similarity index 100% rename from issued/psf_convolution_docstring_section_in_simulator_py.md rename to active/psf_convolution_docstring_section_in_simulator_py.md diff --git a/issued/psf_oversampling.md b/active/psf_oversampling.md similarity index 100% rename from issued/psf_oversampling.md rename to active/psf_oversampling.md diff --git a/issued/public_organ_tables_repos_sync.md b/active/public_organ_tables_repos_sync.md similarity index 100% rename from issued/public_organ_tables_repos_sync.md rename to active/public_organ_tables_repos_sync.md diff --git a/issued/pyauto_plot.md b/active/pyauto_plot.md similarity index 100% rename from issued/pyauto_plot.md rename to active/pyauto_plot.md diff --git a/issued/pyautobuild_api_baseline_release.md b/active/pyautobuild_api_baseline_release.md similarity index 100% rename from issued/pyautobuild_api_baseline_release.md rename to active/pyautobuild_api_baseline_release.md diff --git a/issued/pyautogut_repo_skeleton.md b/active/pyautogut_repo_skeleton.md similarity index 100% rename from issued/pyautogut_repo_skeleton.md rename to active/pyautogut_repo_skeleton.md diff --git a/issued/pyautoreduce_hst_reduction_pipeline.md b/active/pyautoreduce_hst_reduction_pipeline.md similarity index 100% rename from issued/pyautoreduce_hst_reduction_pipeline.md rename to active/pyautoreduce_hst_reduction_pipeline.md diff --git a/issued/pyautoreduce_pj011646_wfc3_comparison.md b/active/pyautoreduce_pj011646_wfc3_comparison.md similarity index 100% rename from issued/pyautoreduce_pj011646_wfc3_comparison.md rename to active/pyautoreduce_pj011646_wfc3_comparison.md diff --git a/issued/pyautoreduce_slacs1430_acs_comparison.md b/active/pyautoreduce_slacs1430_acs_comparison.md similarity index 100% rename from issued/pyautoreduce_slacs1430_acs_comparison.md rename to active/pyautoreduce_slacs1430_acs_comparison.md diff --git a/issued/pyautoscientist_3b_clone_seed.md b/active/pyautoscientist_3b_clone_seed.md similarity index 100% rename from issued/pyautoscientist_3b_clone_seed.md rename to active/pyautoscientist_3b_clone_seed.md diff --git a/issued/pyautoscientist_3b_config_extraction.md b/active/pyautoscientist_3b_config_extraction.md similarity index 100% rename from issued/pyautoscientist_3b_config_extraction.md rename to active/pyautoscientist_3b_config_extraction.md diff --git a/issued/pyautoscientist_3b_smoke_reusable.md b/active/pyautoscientist_3b_smoke_reusable.md similarity index 100% rename from issued/pyautoscientist_3b_smoke_reusable.md rename to active/pyautoscientist_3b_smoke_reusable.md diff --git a/issued/pyautoscientist_generalisation.md b/active/pyautoscientist_generalisation.md similarity index 100% rename from issued/pyautoscientist_generalisation.md rename to active/pyautoscientist_generalisation.md diff --git a/issued/pyautoscientist_phase3a.md b/active/pyautoscientist_phase3a.md similarity index 100% rename from issued/pyautoscientist_phase3a.md rename to active/pyautoscientist_phase3a.md diff --git a/issued/pyautoscientist_phase3b_spawn.md b/active/pyautoscientist_phase3b_spawn.md similarity index 100% rename from issued/pyautoscientist_phase3b_spawn.md rename to active/pyautoscientist_phase3b_spawn.md diff --git a/issued/pyautotest_mode_visualize.md b/active/pyautotest_mode_visualize.md similarity index 100% rename from issued/pyautotest_mode_visualize.md rename to active/pyautotest_mode_visualize.md diff --git a/issued/quantity_modeling_visualization_jit.md b/active/quantity_modeling_visualization_jit.md similarity index 100% rename from issued/quantity_modeling_visualization_jit.md rename to active/quantity_modeling_visualization_jit.md diff --git a/issued/quick_update_display_id.md b/active/quick_update_display_id.md similarity index 100% rename from issued/quick_update_display_id.md rename to active/quick_update_display_id.md diff --git a/issued/rect_adapt.md b/active/rect_adapt.md similarity index 100% rename from issued/rect_adapt.md rename to active/rect_adapt.md diff --git a/issued/rectangular_adapt_cdf.md b/active/rectangular_adapt_cdf.md similarity index 100% rename from issued/rectangular_adapt_cdf.md rename to active/rectangular_adapt_cdf.md diff --git a/issued/rectangular_kernel_cdf_mesh.md b/active/rectangular_kernel_cdf_mesh.md similarity index 100% rename from issued/rectangular_kernel_cdf_mesh.md rename to active/rectangular_kernel_cdf_mesh.md diff --git a/issued/redesign.md b/active/redesign.md similarity index 100% rename from issued/redesign.md rename to active/redesign.md diff --git a/issued/reference_assistant_audit.md b/active/reference_assistant_audit.md similarity index 100% rename from issued/reference_assistant_audit.md rename to active/reference_assistant_audit.md diff --git a/issued/regenerate_notebooks_catalogue.md b/active/regenerate_notebooks_catalogue.md similarity index 100% rename from issued/regenerate_notebooks_catalogue.md rename to active/regenerate_notebooks_catalogue.md diff --git a/issued/release/pyautoheart/morning_status_and_daily_release_rehearsal.md b/active/release/pyautoheart/morning_status_and_daily_release_rehearsal.md similarity index 100% rename from issued/release/pyautoheart/morning_status_and_daily_release_rehearsal.md rename to active/release/pyautoheart/morning_status_and_daily_release_rehearsal.md diff --git a/issued/release_checks.md b/active/release_checks.md similarity index 100% rename from issued/release_checks.md rename to active/release_checks.md diff --git a/issued/release_docs_polish_and_learn_paths.md b/active/release_docs_polish_and_learn_paths.md similarity index 100% rename from issued/release_docs_polish_and_learn_paths.md rename to active/release_docs_polish_and_learn_paths.md diff --git a/issued/release_fixes.md b/active/release_fixes.md similarity index 100% rename from issued/release_fixes.md rename to active/release_fixes.md diff --git a/issued/release_profile_and_wheel_integration.md b/active/release_profile_and_wheel_integration.md similarity index 100% rename from issued/release_profile_and_wheel_integration.md rename to active/release_profile_and_wheel_integration.md diff --git a/issued/release_ships_smoke_datasets.md b/active/release_ships_smoke_datasets.md similarity index 100% rename from issued/release_ships_smoke_datasets.md rename to active/release_ships_smoke_datasets.md diff --git a/issued/release_stamping_slim.md b/active/release_stamping_slim.md similarity index 100% rename from issued/release_stamping_slim.md rename to active/release_stamping_slim.md diff --git a/issued/release_validation.md b/active/release_validation.md similarity index 100% rename from issued/release_validation.md rename to active/release_validation.md diff --git a/issued/release_yml_testpypi_rehearsal_mode.md b/active/release_yml_testpypi_rehearsal_mode.md similarity index 100% rename from issued/release_yml_testpypi_rehearsal_mode.md rename to active/release_yml_testpypi_rehearsal_mode.md diff --git a/issued/remaining_citation_migration.md b/active/remaining_citation_migration.md similarity index 100% rename from issued/remaining_citation_migration.md rename to active/remaining_citation_migration.md diff --git a/issued/remove_deflection_integral.md b/active/remove_deflection_integral.md similarity index 100% rename from issued/remove_deflection_integral.md rename to active/remove_deflection_integral.md diff --git a/issued/remove_nss_sampler_and_infra.md b/active/remove_nss_sampler_and_infra.md similarity index 100% rename from issued/remove_nss_sampler_and_infra.md rename to active/remove_nss_sampler_and_infra.md diff --git a/issued/remove_pulse_compat.md b/active/remove_pulse_compat.md similarity index 100% rename from issued/remove_pulse_compat.md rename to active/remove_pulse_compat.md diff --git a/issued/rename_pyautopulse_to_pyautoheart.md b/active/rename_pyautopulse_to_pyautoheart.md similarity index 100% rename from issued/rename_pyautopulse_to_pyautoheart.md rename to active/rename_pyautopulse_to_pyautoheart.md diff --git a/issued/restore_truncated_howto_tutorial_scripts_and_add.md b/active/restore_truncated_howto_tutorial_scripts_and_add.md similarity index 100% rename from issued/restore_truncated_howto_tutorial_scripts_and_add.md rename to active/restore_truncated_howto_tutorial_scripts_and_add.md diff --git a/issued/result_json.md b/active/result_json.md similarity index 100% rename from issued/result_json.md rename to active/result_json.md diff --git a/issued/result_json_load.md b/active/result_json_load.md similarity index 100% rename from issued/result_json_load.md rename to active/result_json_load.md diff --git a/issued/result_start_here.md b/active/result_start_here.md similarity index 100% rename from issued/result_start_here.md rename to active/result_start_here.md diff --git a/issued/results_start_here_noise_map.md b/active/results_start_here_noise_map.md similarity index 100% rename from issued/results_start_here_noise_map.md rename to active/results_start_here_noise_map.md diff --git a/issued/rst_to_md.md b/active/rst_to_md.md similarity index 100% rename from issued/rst_to_md.md rename to active/rst_to_md.md diff --git a/issued/rtd_hygiene.md b/active/rtd_hygiene.md similarity index 100% rename from issued/rtd_hygiene.md rename to active/rtd_hygiene.md diff --git a/issued/samplers_faculty.md b/active/samplers_faculty.md similarity index 100% rename from issued/samplers_faculty.md rename to active/samplers_faculty.md diff --git a/issued/samples_simplify.md b/active/samples_simplify.md similarity index 100% rename from issued/samples_simplify.md rename to active/samples_simplify.md diff --git a/issued/scaling_relation.md b/active/scaling_relation.md similarity index 100% rename from issued/scaling_relation.md rename to active/scaling_relation.md diff --git a/issued/scaling_relation_csv_loader.md b/active/scaling_relation_csv_loader.md similarity index 100% rename from issued/scaling_relation_csv_loader.md rename to active/scaling_relation_csv_loader.md diff --git a/issued/science_project_api_gate.md b/active/science_project_api_gate.md similarity index 100% rename from issued/science_project_api_gate.md rename to active/science_project_api_gate.md diff --git a/issued/science_project_assistant_ref.md b/active/science_project_assistant_ref.md similarity index 100% rename from issued/science_project_assistant_ref.md rename to active/science_project_assistant_ref.md diff --git a/issued/science_project_per_project_literature.md b/active/science_project_per_project_literature.md similarity index 100% rename from issued/science_project_per_project_literature.md rename to active/science_project_per_project_literature.md diff --git a/issued/script_to_notebook.md b/active/script_to_notebook.md similarity index 100% rename from issued/script_to_notebook.md rename to active/script_to_notebook.md diff --git a/issued/search_config.md b/active/search_config.md similarity index 100% rename from issued/search_config.md rename to active/search_config.md diff --git a/issued/search_interface_simple.md b/active/search_interface_simple.md similarity index 100% rename from issued/search_interface_simple.md rename to active/search_interface_simple.md diff --git a/issued/search_refactor.md b/active/search_refactor.md similarity index 100% rename from issued/search_refactor.md rename to active/search_refactor.md diff --git a/issued/search_update_refactor.md b/active/search_update_refactor.md similarity index 100% rename from issued/search_update_refactor.md rename to active/search_update_refactor.md diff --git a/issued/searches_minimal.md b/active/searches_minimal.md similarity index 100% rename from issued/searches_minimal.md rename to active/searches_minimal.md diff --git a/issued/searches_nautilus_mirror.md b/active/searches_nautilus_mirror.md similarity index 100% rename from issued/searches_nautilus_mirror.md rename to active/searches_nautilus_mirror.md diff --git a/issued/shareable_science_projects.md b/active/shareable_science_projects.md similarity index 100% rename from issued/shareable_science_projects.md rename to active/shareable_science_projects.md diff --git a/issued/simulator_use_jax.md b/active/simulator_use_jax.md similarity index 100% rename from issued/simulator_use_jax.md rename to active/simulator_use_jax.md diff --git a/issued/simulators_mirror.md b/active/simulators_mirror.md similarity index 100% rename from issued/simulators_mirror.md rename to active/simulators_mirror.md diff --git a/issued/skill_location.md b/active/skill_location.md similarity index 100% rename from issued/skill_location.md rename to active/skill_location.md diff --git a/issued/skill_redesign.md b/active/skill_redesign.md similarity index 100% rename from issued/skill_redesign.md rename to active/skill_redesign.md diff --git a/issued/skill_wiki_layer_completeness_and_llms_txt.md b/active/skill_wiki_layer_completeness_and_llms_txt.md similarity index 100% rename from issued/skill_wiki_layer_completeness_and_llms_txt.md rename to active/skill_wiki_layer_completeness_and_llms_txt.md diff --git a/issued/slack-release-notes.md b/active/slack-release-notes.md similarity index 100% rename from issued/slack-release-notes.md rename to active/slack-release-notes.md diff --git a/issued/slam_dspl.md b/active/slam_dspl.md similarity index 100% rename from issued/slam_dspl.md rename to active/slam_dspl.md diff --git a/issued/smoke_notebooks.md b/active/smoke_notebooks.md similarity index 100% rename from issued/smoke_notebooks.md rename to active/smoke_notebooks.md diff --git a/issued/smoke_test_fast.md b/active/smoke_test_fast.md similarity index 100% rename from issued/smoke_test_fast.md rename to active/smoke_test_fast.md diff --git a/issued/smoke_test_fast_pyautofit.md b/active/smoke_test_fast_pyautofit.md similarity index 100% rename from issued/smoke_test_fast_pyautofit.md rename to active/smoke_test_fast_pyautofit.md diff --git a/issued/smoke_workspace_action.md b/active/smoke_workspace_action.md similarity index 100% rename from issued/smoke_workspace_action.md rename to active/smoke_workspace_action.md diff --git a/issued/solver_branch_flips.md b/active/solver_branch_flips.md similarity index 100% rename from issued/solver_branch_flips.md rename to active/solver_branch_flips.md diff --git a/issued/source_science.md b/active/source_science.md similarity index 100% rename from issued/source_science.md rename to active/source_science.md diff --git a/issued/sparse_vs_dense_inversion_path_profile.md b/active/sparse_vs_dense_inversion_path_profile.md similarity index 100% rename from issued/sparse_vs_dense_inversion_path_profile.md rename to active/sparse_vs_dense_inversion_path_profile.md diff --git a/issued/specific_lenses_citations.md b/active/specific_lenses_citations.md similarity index 100% rename from issued/specific_lenses_citations.md rename to active/specific_lenses_citations.md diff --git a/issued/starred_psf_reconstruction.md b/active/starred_psf_reconstruction.md similarity index 100% rename from issued/starred_psf_reconstruction.md rename to active/starred_psf_reconstruction.md diff --git a/issued/starty_here_bug.md b/active/starty_here_bug.md similarity index 100% rename from issued/starty_here_bug.md rename to active/starty_here_bug.md diff --git a/issued/subhalo_redshift_jax_tracer_error.md b/active/subhalo_redshift_jax_tracer_error.md similarity index 100% rename from issued/subhalo_redshift_jax_tracer_error.md rename to active/subhalo_redshift_jax_tracer_error.md diff --git a/issued/test_mode.md b/active/test_mode.md similarity index 100% rename from issued/test_mode.md rename to active/test_mode.md diff --git a/issued/test_mode_fake_sample_count.md b/active/test_mode_fake_sample_count.md similarity index 100% rename from issued/test_mode_fake_sample_count.md rename to active/test_mode_fake_sample_count.md diff --git a/issued/test_mode_output_path.md b/active/test_mode_output_path.md similarity index 100% rename from issued/test_mode_output_path.md rename to active/test_mode_output_path.md diff --git a/issued/test_mode_separate.md b/active/test_mode_separate.md similarity index 100% rename from issued/test_mode_separate.md rename to active/test_mode_separate.md diff --git a/issued/test_mode_skip_latents.md b/active/test_mode_skip_latents.md similarity index 100% rename from issued/test_mode_skip_latents.md rename to active/test_mode_skip_latents.md diff --git a/issued/test_no_run_reasons_fix.md b/active/test_no_run_reasons_fix.md similarity index 100% rename from issued/test_no_run_reasons_fix.md rename to active/test_no_run_reasons_fix.md diff --git a/issued/transform_decorator.md b/active/transform_decorator.md similarity index 100% rename from issued/transform_decorator.md rename to active/transform_decorator.md diff --git a/issued/truncated_gaussian_prior_fast_path.md b/active/truncated_gaussian_prior_fast_path.md similarity index 100% rename from issued/truncated_gaussian_prior_fast_path.md rename to active/truncated_gaussian_prior_fast_path.md diff --git a/issued/truncated_normal_gradient_hessian.md b/active/truncated_normal_gradient_hessian.md similarity index 100% rename from issued/truncated_normal_gradient_hessian.md rename to active/truncated_normal_gradient_hessian.md diff --git a/issued/unify_jax_visualization_path.md b/active/unify_jax_visualization_path.md similarity index 100% rename from issued/unify_jax_visualization_path.md rename to active/unify_jax_visualization_path.md diff --git a/issued/unit_test_profiling.md b/active/unit_test_profiling.md similarity index 100% rename from issued/unit_test_profiling.md rename to active/unit_test_profiling.md diff --git a/issued/unit_test_profiling_autolens.md b/active/unit_test_profiling_autolens.md similarity index 100% rename from issued/unit_test_profiling_autolens.md rename to active/unit_test_profiling_autolens.md diff --git a/issued/update_renamed_repo_abouts.md b/active/update_renamed_repo_abouts.md similarity index 100% rename from issued/update_renamed_repo_abouts.md rename to active/update_renamed_repo_abouts.md diff --git a/issued/url_check.md b/active/url_check.md similarity index 100% rename from issued/url_check.md rename to active/url_check.md diff --git a/issued/use_jax_for_visualization_default_on.md b/active/use_jax_for_visualization_default_on.md similarity index 100% rename from issued/use_jax_for_visualization_default_on.md rename to active/use_jax_for_visualization_default_on.md diff --git a/issued/use_pathlib.md b/active/use_pathlib.md similarity index 100% rename from issued/use_pathlib.md rename to active/use_pathlib.md diff --git a/issued/version_check_compatibility_window.md b/active/version_check_compatibility_window.md similarity index 100% rename from issued/version_check_compatibility_window.md rename to active/version_check_compatibility_window.md diff --git a/issued/version_pinning_design_review.md b/active/version_pinning_design_review.md similarity index 100% rename from issued/version_pinning_design_review.md rename to active/version_pinning_design_review.md diff --git a/issued/visualization_jax_pytree_registration.md b/active/visualization_jax_pytree_registration.md similarity index 100% rename from issued/visualization_jax_pytree_registration.md rename to active/visualization_jax_pytree_registration.md diff --git a/issued/visualization_sanity_rollout_jax_scripts.md b/active/visualization_sanity_rollout_jax_scripts.md similarity index 100% rename from issued/visualization_sanity_rollout_jax_scripts.md rename to active/visualization_sanity_rollout_jax_scripts.md diff --git a/issued/visualization_sanity_rollout_jit_scripts.md b/active/visualization_sanity_rollout_jit_scripts.md similarity index 100% rename from issued/visualization_sanity_rollout_jit_scripts.md rename to active/visualization_sanity_rollout_jit_scripts.md diff --git a/issued/visualizer_fit_for_visualization_dispatch.md b/active/visualizer_fit_for_visualization_dispatch.md similarity index 100% rename from issued/visualizer_fit_for_visualization_dispatch.md rename to active/visualizer_fit_for_visualization_dispatch.md diff --git a/issued/wdm_lya_citations.md b/active/wdm_lya_citations.md similarity index 100% rename from issued/wdm_lya_citations.md rename to active/wdm_lya_citations.md diff --git a/issued/weak_0_docs.md b/active/weak_0_docs.md similarity index 100% rename from issued/weak_0_docs.md rename to active/weak_0_docs.md diff --git a/issued/weak_1_simulator.md b/active/weak_1_simulator.md similarity index 100% rename from issued/weak_1_simulator.md rename to active/weak_1_simulator.md diff --git a/issued/weak_2_visualization.md b/active/weak_2_visualization.md similarity index 100% rename from issued/weak_2_visualization.md rename to active/weak_2_visualization.md diff --git a/issued/weak_dataset_from_json.md b/active/weak_dataset_from_json.md similarity index 100% rename from issued/weak_dataset_from_json.md rename to active/weak_dataset_from_json.md diff --git a/issued/wfc3_reduction.md b/active/wfc3_reduction.md similarity index 100% rename from issued/wfc3_reduction.md rename to active/wfc3_reduction.md diff --git a/issued/wiki_current_api_only.md b/active/wiki_current_api_only.md similarity index 100% rename from issued/wiki_current_api_only.md rename to active/wiki_current_api_only.md diff --git a/issued/workspace_version.md b/active/workspace_version.md similarity index 100% rename from issued/workspace_version.md rename to active/workspace_version.md diff --git a/complete/AGENTS.md b/complete/AGENTS.md new file mode 100644 index 00000000..ed58ee6b --- /dev/null +++ b/complete/AGENTS.md @@ -0,0 +1,38 @@ +# complete/ — the finished-work archive + +One file per shipped task, bucketed by completion date: + +``` +complete///.md # months zero-padded → lexical == numerical order +complete/unknown/.md # entries with no derivable completion date +``` + +This is the third and final state of a prompt's lifecycle +(`draft/ → active/ → complete/`), advanced by `scripts/lifecycle.py move` when +`ship_library` / `ship_workspace` records a task done — in lockstep with the +`active.md → complete.md` ledger move. + +## What a record holds + +Each `.md` is the **rich completion record** (the substance that used to +live as one `## ` section in the monolithic `complete.md`): the summary, +PRs, key traps/findings, worktree notes — plus, appended under +`## Original prompt`, the prompt the task started from. The rich record is the +point: an agent looking up "have we hit this before / what did we learn about +X" reads one record, not a 6000-line file. + +## How to look something up (token-light — RAG is dead) + +1. Read `complete/index.md` (the curated navigation — grouped `[[slug]]` links + with one-line hooks). *(Built by the follow-up Phase-2 task + `complete_archive_wiki.md`; until then, grep the dated buckets.)* +2. Follow one or two `[[slug]]` links to the records you need. +3. Only then grep a specific `complete///` bucket. + +## Provenance + +- Records are **written by the ship skills** via `lifecycle.py`, not by hand. +- `scripts/lifecycle.py check` guards the invariant (no slug in both `active.md` + and `complete.md`; every record has a ledger entry; no file in two states). +- The historical bulk was produced once by `lifecycle.py split-complete` from + `complete.md`; `complete.md` is retired once that split is verified. diff --git a/docs/pyautobrain/spawn_spec.md b/docs/pyautobrain/spawn_spec.md index e08b21da..3821d89d 100644 --- a/docs/pyautobrain/spawn_spec.md +++ b/docs/pyautobrain/spawn_spec.md @@ -36,8 +36,9 @@ deliberately, never silently shipped into a template. | 3 | `README.md` | KEEP verbatim (already generic post-Phase-1) | | 4 | `repos.yaml` | SUBSTITUTE → the **template body map**: the five organ rows kept with `github:` owner replaced by `YOURORG`; all live satellite rows replaced by the PyAutoProject family rows (`PyAutoProject` category `library`, `autoproject_workspace` category `workspace`, `autoproject_workspace_test` category `workspace_test`) + a commented-out `autoproject_assistant` row ("uncomment when the clone agent seeds it") | | 5 | `active.md`, `planned.md`, `complete.md`, `parked.md`, `condemned.md`, `ideas.md`, `queue.md`, `autonomy_log.md` | EMPTY → header line + schema pointer comment only (e.g. `# Active Tasks` + ``); autonomy_log keeps its schema header rows | -| 6 | `feature/ bug/ refactor/ docs/ test/ release/ maintenance/ research/ experiment/ triage/` | SKELETON → keep the work-type dir with a single `.gitkeep`; drop all prompts and target subdirs (`docs/` is a work-type — its live scoping notes drop with the rest of its content) | -| 7 | `issued/ z_features/ z_vault/ autoprompt/` + instance root docs (`dashboard.md`, `overview.md`) + legacy pre-migration prompt dirs (`autolens/`) | DROP (lifecycle + instance content) | +| 6 | `draft/**` (the work-type dirs `feature/ bug/ refactor/ docs/ test/ release/ maintenance/ research/ experiment/ triage/` now live under `draft/`) | SKELETON → keep a single `draft/.gitkeep`; drop all draft prompts and their work-type/target subdirs (a fresh Mind starts with an empty `draft/`; intake recreates the work-type subdirs on demand) | +| 6b | `complete/AGENTS.md` | KEEP verbatim (the finished-work archive **schema** is template content; matched before rule 7's `complete/*` DROP) | +| 7 | `active/ complete/ z_features/ z_vault/ autoprompt/` + instance reference docs (`docs/**` now holds only reference material like `spawn_spec.md`) + instance root docs (`dashboard.md`, `overview.md`) + legacy pre-migration prompt dirs (`autolens/`) | DROP (lifecycle records + instance content) | | 8 | `skills/**`, `policy/**` | KEEP verbatim (`OWNERSHIP.md`, `create_issue/` are generic; `policy/` is org-agnostic safety text) | | 9 | `.github/**` | KEEP verbatim EXCEPT workflows that reference live secrets/repos beyond the org placeholder — those SUBSTITUTE `PyAutoLabs` → `YOURORG` and keep | | 10 | `.claude/**`, `.codex/**` | DROP — agent-discovery symlinks are install artifacts recreated by the PyAutoBrain installer, not source content | diff --git a/bug/autofit/factor_graph_3_14_instance_iteration.md b/draft/bug/autofit/factor_graph_3_14_instance_iteration.md similarity index 100% rename from bug/autofit/factor_graph_3_14_instance_iteration.md rename to draft/bug/autofit/factor_graph_3_14_instance_iteration.md diff --git a/bug/autofit/messages_xp_stack_jax_trace.md b/draft/bug/autofit/messages_xp_stack_jax_trace.md similarity index 100% rename from bug/autofit/messages_xp_stack_jax_trace.md rename to draft/bug/autofit/messages_xp_stack_jax_trace.md diff --git a/bug/autogalaxy/nfw_truncated_potential_accuracy.md b/draft/bug/autogalaxy/nfw_truncated_potential_accuracy.md similarity index 100% rename from bug/autogalaxy/nfw_truncated_potential_accuracy.md rename to draft/bug/autogalaxy/nfw_truncated_potential_accuracy.md diff --git a/bug/autogalaxy/spherical_bug.md b/draft/bug/autogalaxy/spherical_bug.md similarity index 100% rename from bug/autogalaxy/spherical_bug.md rename to draft/bug/autogalaxy/spherical_bug.md diff --git a/bug/autolens/pixelization_eager_vs_jit_divergence.md b/draft/bug/autolens/pixelization_eager_vs_jit_divergence.md similarity index 100% rename from bug/autolens/pixelization_eager_vs_jit_divergence.md rename to draft/bug/autolens/pixelization_eager_vs_jit_divergence.md diff --git a/bug/health_fixes/README.md b/draft/bug/health_fixes/README.md similarity index 100% rename from bug/health_fixes/README.md rename to draft/bug/health_fixes/README.md diff --git a/bug/health_fixes/autofit_sampler_database.md b/draft/bug/health_fixes/autofit_sampler_database.md similarity index 100% rename from bug/health_fixes/autofit_sampler_database.md rename to draft/bug/health_fixes/autofit_sampler_database.md diff --git a/bug/health_fixes/jax_runtime_and_parity.md b/draft/bug/health_fixes/jax_runtime_and_parity.md similarity index 100% rename from bug/health_fixes/jax_runtime_and_parity.md rename to draft/bug/health_fixes/jax_runtime_and_parity.md diff --git a/bug/health_fixes/jit_visualization_outputs.md b/draft/bug/health_fixes/jit_visualization_outputs.md similarity index 100% rename from bug/health_fixes/jit_visualization_outputs.md rename to draft/bug/health_fixes/jit_visualization_outputs.md diff --git a/bug/health_fixes/numerical_inversion_failures.md b/draft/bug/health_fixes/numerical_inversion_failures.md similarity index 100% rename from bug/health_fixes/numerical_inversion_failures.md rename to draft/bug/health_fixes/numerical_inversion_failures.md diff --git a/bug/health_fixes/release_timeout_policy.md b/draft/bug/health_fixes/release_timeout_policy.md similarity index 100% rename from bug/health_fixes/release_timeout_policy.md rename to draft/bug/health_fixes/release_timeout_policy.md diff --git a/bug/health_fixes/samples_parameter_paths.md b/draft/bug/health_fixes/samples_parameter_paths.md similarity index 100% rename from bug/health_fixes/samples_parameter_paths.md rename to draft/bug/health_fixes/samples_parameter_paths.md diff --git a/bug/howto/missing_setup_notebook_audit.md b/draft/bug/howto/missing_setup_notebook_audit.md similarity index 100% rename from bug/howto/missing_setup_notebook_audit.md rename to draft/bug/howto/missing_setup_notebook_audit.md diff --git a/bug/priors/09_prior_property_tests.md b/draft/bug/priors/09_prior_property_tests.md similarity index 100% rename from bug/priors/09_prior_property_tests.md rename to draft/bug/priors/09_prior_property_tests.md diff --git a/bug/priors/11_transformed_message_semantics_doc.md b/draft/bug/priors/11_transformed_message_semantics_doc.md similarity index 100% rename from bug/priors/11_transformed_message_semantics_doc.md rename to draft/bug/priors/11_transformed_message_semantics_doc.md diff --git a/bug/priors/12_single_source_density_refactor.md b/draft/bug/priors/12_single_source_density_refactor.md similarity index 100% rename from bug/priors/12_single_source_density_refactor.md rename to draft/bug/priors/12_single_source_density_refactor.md diff --git a/bug/priors/13_collapse_prior_and_message.md b/draft/bug/priors/13_collapse_prior_and_message.md similarity index 100% rename from bug/priors/13_collapse_prior_and_message.md rename to draft/bug/priors/13_collapse_prior_and_message.md diff --git a/bug/priors/14_replace_transform_stack_with_bijectors.md b/draft/bug/priors/14_replace_transform_stack_with_bijectors.md similarity index 100% rename from bug/priors/14_replace_transform_stack_with_bijectors.md rename to draft/bug/priors/14_replace_transform_stack_with_bijectors.md diff --git a/bug/priors/z_features.md b/draft/bug/priors/z_features.md similarity index 100% rename from bug/priors/z_features.md rename to draft/bug/priors/z_features.md diff --git a/bug/pyautobuild/back_to_back_docstrings_notebook.md b/draft/bug/pyautobuild/back_to_back_docstrings_notebook.md similarity index 100% rename from bug/pyautobuild/back_to_back_docstrings_notebook.md rename to draft/bug/pyautobuild/back_to_back_docstrings_notebook.md diff --git a/bug/pyautobuild/release_datasets_group_b_policy.md b/draft/bug/pyautobuild/release_datasets_group_b_policy.md similarity index 100% rename from bug/pyautobuild/release_datasets_group_b_policy.md rename to draft/bug/pyautobuild/release_datasets_group_b_policy.md diff --git a/bug/pyautobuild/release_ships_simulated_datasets.md b/draft/bug/pyautobuild/release_ships_simulated_datasets.md similarity index 100% rename from bug/pyautobuild/release_ships_simulated_datasets.md rename to draft/bug/pyautobuild/release_ships_simulated_datasets.md diff --git a/bug/pyautobuild/release_version_sync_back_to_main.md b/draft/bug/pyautobuild/release_version_sync_back_to_main.md similarity index 100% rename from bug/pyautobuild/release_version_sync_back_to_main.md rename to draft/bug/pyautobuild/release_version_sync_back_to_main.md diff --git a/bug/pyautoreduce/wfc3_ir_dq_bits_dial.md b/draft/bug/pyautoreduce/wfc3_ir_dq_bits_dial.md similarity index 100% rename from bug/pyautoreduce/wfc3_ir_dq_bits_dial.md rename to draft/bug/pyautoreduce/wfc3_ir_dq_bits_dial.md diff --git a/docs/libraries/pyautofit_plot_rst_dead_plotters.md b/draft/docs/libraries/pyautofit_plot_rst_dead_plotters.md similarity index 100% rename from docs/libraries/pyautofit_plot_rst_dead_plotters.md rename to draft/docs/libraries/pyautofit_plot_rst_dead_plotters.md diff --git a/docs/pyautobuild/markdown_renderings_2a_leftovers.md b/draft/docs/pyautobuild/markdown_renderings_2a_leftovers.md similarity index 100% rename from docs/pyautobuild/markdown_renderings_2a_leftovers.md rename to draft/docs/pyautobuild/markdown_renderings_2a_leftovers.md diff --git a/docs/workspaces/add_vincken_2026_wiki_and_cite_in_euclid.md b/draft/docs/workspaces/add_vincken_2026_wiki_and_cite_in_euclid.md similarity index 100% rename from docs/workspaces/add_vincken_2026_wiki_and_cite_in_euclid.md rename to draft/docs/workspaces/add_vincken_2026_wiki_and_cite_in_euclid.md diff --git a/docs/workspaces/preloads_advanced_workspace_guide.md b/draft/docs/workspaces/preloads_advanced_workspace_guide.md similarity index 100% rename from docs/workspaces/preloads_advanced_workspace_guide.md rename to draft/docs/workspaces/preloads_advanced_workspace_guide.md diff --git a/feature/autoarray/arcsecond_to_decimal.md b/draft/feature/autoarray/arcsecond_to_decimal.md similarity index 100% rename from feature/autoarray/arcsecond_to_decimal.md rename to draft/feature/autoarray/arcsecond_to_decimal.md diff --git a/feature/autoarray/multiwavelength_inversion.md b/draft/feature/autoarray/multiwavelength_inversion.md similarity index 100% rename from feature/autoarray/multiwavelength_inversion.md rename to draft/feature/autoarray/multiwavelength_inversion.md diff --git a/feature/autoarray/nufft_mapping_matrix_column_chunking.md b/draft/feature/autoarray/nufft_mapping_matrix_column_chunking.md similarity index 100% rename from feature/autoarray/nufft_mapping_matrix_column_chunking.md rename to draft/feature/autoarray/nufft_mapping_matrix_column_chunking.md diff --git a/feature/autoarray/nufft_simulator_chunking.md b/draft/feature/autoarray/nufft_simulator_chunking.md similarity index 100% rename from feature/autoarray/nufft_simulator_chunking.md rename to draft/feature/autoarray/nufft_simulator_chunking.md diff --git a/feature/autoarray/oversampling_kxs_coupling.md b/draft/feature/autoarray/oversampling_kxs_coupling.md similarity index 100% rename from feature/autoarray/oversampling_kxs_coupling.md rename to draft/feature/autoarray/oversampling_kxs_coupling.md diff --git a/feature/autoarray/rectangular_adapt_constant_split_guard.md b/draft/feature/autoarray/rectangular_adapt_constant_split_guard.md similarity index 100% rename from feature/autoarray/rectangular_adapt_constant_split_guard.md rename to draft/feature/autoarray/rectangular_adapt_constant_split_guard.md diff --git a/feature/autoarray/rectangular_multi_submesh.md b/draft/feature/autoarray/rectangular_multi_submesh.md similarity index 100% rename from feature/autoarray/rectangular_multi_submesh.md rename to draft/feature/autoarray/rectangular_multi_submesh.md diff --git a/feature/autofit/ep_analytic_updates.md b/draft/feature/autofit/ep_analytic_updates.md similarity index 100% rename from feature/autofit/ep_analytic_updates.md rename to draft/feature/autofit/ep_analytic_updates.md diff --git a/feature/autofit/ep_lbfgs_jax.md b/draft/feature/autofit/ep_lbfgs_jax.md similarity index 100% rename from feature/autofit/ep_lbfgs_jax.md rename to draft/feature/autofit/ep_lbfgs_jax.md diff --git a/feature/autogalaxy/piemass_potential.md b/draft/feature/autogalaxy/piemass_potential.md similarity index 100% rename from feature/autogalaxy/piemass_potential.md rename to draft/feature/autogalaxy/piemass_potential.md diff --git a/feature/autogalaxy/point_source_light.md b/draft/feature/autogalaxy/point_source_light.md similarity index 100% rename from feature/autogalaxy/point_source_light.md rename to draft/feature/autogalaxy/point_source_light.md diff --git a/feature/autolens_workspace/oversampled_psf_dataset_adoption.md b/draft/feature/autolens_workspace/oversampled_psf_dataset_adoption.md similarity index 100% rename from feature/autolens_workspace/oversampled_psf_dataset_adoption.md rename to draft/feature/autolens_workspace/oversampled_psf_dataset_adoption.md diff --git a/feature/autonomy/10_scheduled_runs.md b/draft/feature/autonomy/10_scheduled_runs.md similarity index 100% rename from feature/autonomy/10_scheduled_runs.md rename to draft/feature/autonomy/10_scheduled_runs.md diff --git a/feature/jax_substructure/1_vmap_subhalo_deflections.md b/draft/feature/jax_substructure/1_vmap_subhalo_deflections.md similarity index 100% rename from feature/jax_substructure/1_vmap_subhalo_deflections.md rename to draft/feature/jax_substructure/1_vmap_subhalo_deflections.md diff --git a/feature/jax_substructure/2_tracer_lax_scan.md b/draft/feature/jax_substructure/2_tracer_lax_scan.md similarity index 100% rename from feature/jax_substructure/2_tracer_lax_scan.md rename to draft/feature/jax_substructure/2_tracer_lax_scan.md diff --git a/feature/jax_substructure/3_simulator_jax_e2e.md b/draft/feature/jax_substructure/3_simulator_jax_e2e.md similarity index 100% rename from feature/jax_substructure/3_simulator_jax_e2e.md rename to draft/feature/jax_substructure/3_simulator_jax_e2e.md diff --git a/feature/jax_substructure/4_vmap_batched_simulation.md b/draft/feature/jax_substructure/4_vmap_batched_simulation.md similarity index 100% rename from feature/jax_substructure/4_vmap_batched_simulation.md rename to draft/feature/jax_substructure/4_vmap_batched_simulation.md diff --git a/feature/jax_substructure/5_prng_key_vmap_noise.md b/draft/feature/jax_substructure/5_prng_key_vmap_noise.md similarity index 100% rename from feature/jax_substructure/5_prng_key_vmap_noise.md rename to draft/feature/jax_substructure/5_prng_key_vmap_noise.md diff --git a/feature/jax_substructure/6_deflection_equivalence_test.md b/draft/feature/jax_substructure/6_deflection_equivalence_test.md similarity index 100% rename from feature/jax_substructure/6_deflection_equivalence_test.md rename to draft/feature/jax_substructure/6_deflection_equivalence_test.md diff --git a/feature/pyautobrain/hygiene_agent.md b/draft/feature/pyautobrain/hygiene_agent.md similarity index 100% rename from feature/pyautobrain/hygiene_agent.md rename to draft/feature/pyautobrain/hygiene_agent.md diff --git a/feature/pyautoheart/version_skew_floor_rework.md b/draft/feature/pyautoheart/version_skew_floor_rework.md similarity index 100% rename from feature/pyautoheart/version_skew_floor_rework.md rename to draft/feature/pyautoheart/version_skew_floor_rework.md diff --git a/feature/pyautomind/arxiv_papers_digest.md b/draft/feature/pyautomind/arxiv_papers_digest.md similarity index 100% rename from feature/pyautomind/arxiv_papers_digest.md rename to draft/feature/pyautomind/arxiv_papers_digest.md diff --git a/feature/pyautomind/complete_archive_wiki.md b/draft/feature/pyautomind/complete_archive_wiki.md similarity index 100% rename from feature/pyautomind/complete_archive_wiki.md rename to draft/feature/pyautomind/complete_archive_wiki.md diff --git a/feature/workspaces/group_los_halos.md b/draft/feature/workspaces/group_los_halos.md similarity index 100% rename from feature/workspaces/group_los_halos.md rename to draft/feature/workspaces/group_los_halos.md diff --git a/feature/workspaces/group_subhalo_sensitivity.md b/draft/feature/workspaces/group_subhalo_sensitivity.md similarity index 100% rename from feature/workspaces/group_subhalo_sensitivity.md rename to draft/feature/workspaces/group_subhalo_sensitivity.md diff --git a/feature/workspaces/minimum_library_version_adoption.md b/draft/feature/workspaces/minimum_library_version_adoption.md similarity index 100% rename from feature/workspaces/minimum_library_version_adoption.md rename to draft/feature/workspaces/minimum_library_version_adoption.md diff --git a/feature/workspaces/restore_multiple_sources_lensing_of_lens.md b/draft/feature/workspaces/restore_multiple_sources_lensing_of_lens.md similarity index 100% rename from feature/workspaces/restore_multiple_sources_lensing_of_lens.md rename to draft/feature/workspaces/restore_multiple_sources_lensing_of_lens.md diff --git a/maintenance/autolens_profiling/polish.md b/draft/maintenance/autolens_profiling/polish.md similarity index 100% rename from maintenance/autolens_profiling/polish.md rename to draft/maintenance/autolens_profiling/polish.md diff --git a/maintenance/ci/copilot_auto_review.md b/draft/maintenance/ci/copilot_auto_review.md similarity index 100% rename from maintenance/ci/copilot_auto_review.md rename to draft/maintenance/ci/copilot_auto_review.md diff --git a/maintenance/jammy2211/agents_md_pointer_sweep.md b/draft/maintenance/jammy2211/agents_md_pointer_sweep.md similarity index 100% rename from maintenance/jammy2211/agents_md_pointer_sweep.md rename to draft/maintenance/jammy2211/agents_md_pointer_sweep.md diff --git a/maintenance/libraries/astropy_cap_bump.md b/draft/maintenance/libraries/astropy_cap_bump.md similarity index 100% rename from maintenance/libraries/astropy_cap_bump.md rename to draft/maintenance/libraries/astropy_cap_bump.md diff --git a/maintenance/pyautobrain/command_surface_in_agents_md.md b/draft/maintenance/pyautobrain/command_surface_in_agents_md.md similarity index 100% rename from maintenance/pyautobrain/command_surface_in_agents_md.md rename to draft/maintenance/pyautobrain/command_surface_in_agents_md.md diff --git a/maintenance/pyautomind/claude_md_standardization.md b/draft/maintenance/pyautomind/claude_md_standardization.md similarity index 100% rename from maintenance/pyautomind/claude_md_standardization.md rename to draft/maintenance/pyautomind/claude_md_standardization.md diff --git a/maintenance/pyautomind/history_policy_generated_block.md b/draft/maintenance/pyautomind/history_policy_generated_block.md similarity index 100% rename from maintenance/pyautomind/history_policy_generated_block.md rename to draft/maintenance/pyautomind/history_policy_generated_block.md diff --git a/maintenance/workspaces/config_key_mirror_drift.md b/draft/maintenance/workspaces/config_key_mirror_drift.md similarity index 100% rename from maintenance/workspaces/config_key_mirror_drift.md rename to draft/maintenance/workspaces/config_key_mirror_drift.md diff --git a/maintenance/workspaces/read_through_issues.md b/draft/maintenance/workspaces/read_through_issues.md similarity index 100% rename from maintenance/workspaces/read_through_issues.md rename to draft/maintenance/workspaces/read_through_issues.md diff --git a/refactor/autogalaxy/einstein_radius_jit_native_seed_finder.md b/draft/refactor/autogalaxy/einstein_radius_jit_native_seed_finder.md similarity index 100% rename from refactor/autogalaxy/einstein_radius_jit_native_seed_finder.md rename to draft/refactor/autogalaxy/einstein_radius_jit_native_seed_finder.md diff --git a/refactor/libraries/crlf_script_normalization_gitattributes.md b/draft/refactor/libraries/crlf_script_normalization_gitattributes.md similarity index 100% rename from refactor/libraries/crlf_script_normalization_gitattributes.md rename to draft/refactor/libraries/crlf_script_normalization_gitattributes.md diff --git a/refactor/pyautofit/remove_eden_packaging_tooling.md b/draft/refactor/pyautofit/remove_eden_packaging_tooling.md similarity index 100% rename from refactor/pyautofit/remove_eden_packaging_tooling.md rename to draft/refactor/pyautofit/remove_eden_packaging_tooling.md diff --git a/research/autoarray/delaunay_interpolator_pure_callback_vmap_memory.md b/draft/research/autoarray/delaunay_interpolator_pure_callback_vmap_memory.md similarity index 100% rename from research/autoarray/delaunay_interpolator_pure_callback_vmap_memory.md rename to draft/research/autoarray/delaunay_interpolator_pure_callback_vmap_memory.md diff --git a/research/autoarray/delaunay_research.md b/draft/research/autoarray/delaunay_research.md similarity index 100% rename from research/autoarray/delaunay_research.md rename to draft/research/autoarray/delaunay_research.md diff --git a/research/autobuild/git_docs.md b/draft/research/autobuild/git_docs.md similarity index 100% rename from research/autobuild/git_docs.md rename to draft/research/autobuild/git_docs.md diff --git a/research/autofit/priors_and_messages_math_audit.md b/draft/research/autofit/priors_and_messages_math_audit.md similarity index 100% rename from research/autofit/priors_and_messages_math_audit.md rename to draft/research/autofit/priors_and_messages_math_audit.md diff --git a/research/autolens_workspace_developer/jax_jit_profiling.md b/draft/research/autolens_workspace_developer/jax_jit_profiling.md similarity index 100% rename from research/autolens_workspace_developer/jax_jit_profiling.md rename to draft/research/autolens_workspace_developer/jax_jit_profiling.md diff --git a/research/graphical_ep/ep_framework_review.md b/draft/research/graphical_ep/ep_framework_review.md similarity index 100% rename from research/graphical_ep/ep_framework_review.md rename to draft/research/graphical_ep/ep_framework_review.md diff --git a/research/graphical_ep/ep_scoping.md b/draft/research/graphical_ep/ep_scoping.md similarity index 100% rename from research/graphical_ep/ep_scoping.md rename to draft/research/graphical_ep/ep_scoping.md diff --git a/research/graphical_ep/graphical_scoping.md b/draft/research/graphical_ep/graphical_scoping.md similarity index 100% rename from research/graphical_ep/graphical_scoping.md rename to draft/research/graphical_ep/graphical_scoping.md diff --git a/research/pyautobrain/hygiene_agent_decision.md b/draft/research/pyautobrain/hygiene_agent_decision.md similarity index 100% rename from research/pyautobrain/hygiene_agent_decision.md rename to draft/research/pyautobrain/hygiene_agent_decision.md diff --git a/research/pyautobrain/pyautogut_organ_decision.md b/draft/research/pyautobrain/pyautogut_organ_decision.md similarity index 100% rename from research/pyautobrain/pyautogut_organ_decision.md rename to draft/research/pyautobrain/pyautogut_organ_decision.md diff --git a/research/pyautoreduce/acceptance_noise_rebaseline.md b/draft/research/pyautoreduce/acceptance_noise_rebaseline.md similarity index 100% rename from research/pyautoreduce/acceptance_noise_rebaseline.md rename to draft/research/pyautoreduce/acceptance_noise_rebaseline.md diff --git a/research/pyautoreduce/legacy_flux_scale_parity.md b/draft/research/pyautoreduce/legacy_flux_scale_parity.md similarity index 100% rename from research/pyautoreduce/legacy_flux_scale_parity.md rename to draft/research/pyautoreduce/legacy_flux_scale_parity.md diff --git a/research/pyautoreduce/simulated_lens_through_reduction_pipeline.md b/draft/research/pyautoreduce/simulated_lens_through_reduction_pipeline.md similarity index 100% rename from research/pyautoreduce/simulated_lens_through_reduction_pipeline.md rename to draft/research/pyautoreduce/simulated_lens_through_reduction_pipeline.md diff --git a/test/autolens_workspace_developer/mge_jit_regression_rebaseline.md b/draft/test/autolens_workspace_developer/mge_jit_regression_rebaseline.md similarity index 100% rename from test/autolens_workspace_developer/mge_jit_regression_rebaseline.md rename to draft/test/autolens_workspace_developer/mge_jit_regression_rebaseline.md diff --git a/test/workspaces/restore_workspace_test_likelihood_baselines.md b/draft/test/workspaces/restore_workspace_test_likelihood_baselines.md similarity index 100% rename from test/workspaces/restore_workspace_test_likelihood_baselines.md rename to draft/test/workspaces/restore_workspace_test_likelihood_baselines.md diff --git a/test/workspaces/smoke_workspace_fixes.md b/draft/test/workspaces/smoke_workspace_fixes.md similarity index 100% rename from test/workspaces/smoke_workspace_fixes.md rename to draft/test/workspaces/smoke_workspace_fixes.md diff --git a/triage/README.md b/draft/triage/README.md similarity index 100% rename from triage/README.md rename to draft/triage/README.md diff --git a/triage/jax_zero_contour.md b/draft/triage/jax_zero_contour.md similarity index 100% rename from triage/jax_zero_contour.md rename to draft/triage/jax_zero_contour.md diff --git a/scripts/lifecycle.py b/scripts/lifecycle.py new file mode 100644 index 00000000..db851c7f --- /dev/null +++ b/scripts/lifecycle.py @@ -0,0 +1,338 @@ +#!/usr/bin/env python3 +"""PyAutoMind prompt-file lifecycle engine. + +The Mind runs the prompt file through three states that mirror the task ledger: + + draft///.md intaken, not started (backlog) + active/.md issued, in flight (active.md) + complete///.md shipped (complete.md) + +Historically the file lifecycle stopped at `issued/` and never advanced, so a +completed task's prompt sat in `issued/` forever while only the *ledger* entry +moved `active.md -> complete.md`. This tool advances the FILE in lockstep and +guards the invariant. + +Subcommands +----------- + move [--date YYYY-MM-DD] + Advance one file active/.md -> complete///.md. + The month is zero-padded so lexical order == numerical order. Date is + taken from --date, else derived from the matching complete.md entry's + `- completed:` line. Called by ship_library / ship_workspace. + + split-complete [--apply] + One-time (PR-B): explode the monolithic complete.md into one rich + record per finished task under complete///.md. Dry-run + prints the manifest; --apply writes the files (complete.md left intact + for a human to retire once the split is verified). + + migrate [--apply] + One-time (PR-B): classify every legacy active/ (formerly issued/) file + as still-active or complete, emitting a REVIEW MANIFEST. Filenames map + only fuzzily to complete.md slugs, so this NEVER auto-moves on a fuzzy + match — it proposes; a human confirms. --apply executes only the + high-confidence (ledger-backed) rows. + + check + Drift guard (mirrors repos_sync.py --check; non-zero exit on drift): + * no task slug in BOTH active.md and complete.md + * every complete/**/*.md has a complete.md entry (pre-retirement) + * no file lives in two states at once + Wire into /health and CI. + +This file is intentionally stdlib-only (no PyAuto imports) so it runs in any +environment, including a bare template checkout. +""" +from __future__ import annotations + +import argparse +import re +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parent.parent +ACTIVE_DIR = ROOT / "active" +COMPLETE_DIR = ROOT / "complete" +DRAFT_DIR = ROOT / "draft" +ACTIVE_MD = ROOT / "active.md" +COMPLETE_MD = ROOT / "complete.md" + +DATE_RE = re.compile(r"-\s*completed:\s*(\d{4})-(\d{2})-(\d{2})") +H2_RE = re.compile(r"^##\s+(.+?)\s*$") + + +def _slugify_h2(heading: str) -> str: + """First token of an H2 heading is the task slug: `## slug (parenthetical)`.""" + return heading.split("(")[0].strip() + + +def safe_name(slug: str) -> str: + """Kebab-case filename stem safe for the filesystem (no spaces/slashes). + + Used for BOTH writing complete/ filenames and comparing them back in + `check`, so the round-trip is consistent (a raw H2 slug may carry spaces, + `/`, em-dashes, etc.).""" + s = re.sub(r"[^a-z0-9]+", "-", slug.lower()).strip("-") + return s or "untitled" + + +def parse_complete_md() -> "dict[str, dict]": + """Return {slug: {"date": (yyyy, mm) | None, "lines": [...]}} from complete.md.""" + entries: "dict[str, dict]" = {} + if not COMPLETE_MD.exists(): + return entries + slug = None + buf: "list[str]" = [] + date = None + for line in COMPLETE_MD.read_text(errors="replace").splitlines(): + m = H2_RE.match(line) + if m: + if slug is not None: + entries[slug] = {"date": date, "lines": buf} + slug = _slugify_h2(m.group(1)) + buf = [line] + date = None + continue + if slug is not None: + buf.append(line) + if date is None: + dm = DATE_RE.search(line) + if dm: + date = (dm.group(1), dm.group(2)) + if slug is not None: + entries[slug] = {"date": date, "lines": buf} + return entries + + +def ledger_slugs(path: Path) -> "set[str]": + """H2 task slugs recorded in a ledger file (active.md / complete.md).""" + slugs = set() + if not path.exists(): + return slugs + for line in path.read_text(errors="replace").splitlines(): + m = H2_RE.match(line) + if m: + slugs.add(_slugify_h2(m.group(1))) + return slugs + + +def complete_bucket(date: "tuple[str, str] | None") -> Path: + if date is None: + return COMPLETE_DIR / "unknown" + return COMPLETE_DIR / date[0] / date[1] + + +# --------------------------------------------------------------------------- # +# move +# --------------------------------------------------------------------------- # +def cmd_move(args) -> int: + name = args.name + if name.endswith(".md"): + name = name[:-3] + src = ACTIVE_DIR / f"{name}.md" + if not src.exists(): + print(f"lifecycle move: not found in active/: {src.name}", file=sys.stderr) + return 1 + + date = None + if args.date: + m = re.match(r"(\d{4})-(\d{2})-(\d{2})", args.date) + if not m: + print(f"lifecycle move: bad --date {args.date!r}", file=sys.stderr) + return 1 + date = (m.group(1), m.group(2)) + else: + entries = parse_complete_md() + # active file name may differ from the complete.md slug; try exact then + # fuzzy (name tokens subset of slug tokens). + entry = entries.get(name) + if entry is None: + cand = [s for s in entries if name.replace("_", "-") == s] + if cand: + entry = entries[cand[0]] + if entry is None or entry["date"] is None: + print( + f"lifecycle move: no completed-date for {name!r}; pass --date", + file=sys.stderr, + ) + return 1 + date = entry["date"] + + dest = complete_bucket(date) / src.name + print(f"active/{src.name} -> {dest.relative_to(ROOT)}") + if not args.apply: + print("(dry run; pass --apply)") + return 0 + dest.parent.mkdir(parents=True, exist_ok=True) + # Prefer git mv to preserve history; fall back to a plain rename. + import subprocess + + r = subprocess.run( + ["git", "-C", str(ROOT), "mv", str(src), str(dest)], + capture_output=True, + text=True, + ) + if r.returncode != 0: + src.rename(dest) + return 0 + + +# --------------------------------------------------------------------------- # +# split-complete +# --------------------------------------------------------------------------- # +def cmd_split_complete(args) -> int: + entries = parse_complete_md() + if not entries: + print("lifecycle split-complete: complete.md empty or absent", file=sys.stderr) + return 1 + n_dated = sum(1 for e in entries.values() if e["date"]) + print(f"complete.md: {len(entries)} entries ({n_dated} dated, " + f"{len(entries) - n_dated} -> complete/unknown/)") + wrote = 0 + for slug, e in entries.items(): + dest = complete_bucket(e["date"]) / f"{safe_name(slug)}.md" + body = "\n".join(e["lines"]).rstrip() + "\n" + # attach the original prompt if we can find it in active/ + legacy = ACTIVE_DIR / f"{safe_name(slug).replace('-', '_')}.md" + if legacy.exists(): + body += "\n## Original prompt\n\n" + legacy.read_text(errors="replace") + rel = dest.relative_to(ROOT) + if args.apply: + dest.parent.mkdir(parents=True, exist_ok=True) + dest.write_text(body) + wrote += 1 + else: + print(f" {rel}") + if args.apply: + print(f"wrote {wrote} records under complete/. " + f"complete.md left intact — retire it by hand once verified.") + else: + print("(dry run; pass --apply)") + return 0 + + +# --------------------------------------------------------------------------- # +# migrate (legacy issued/ -> active/ was a wholesale rename in PR-A; here we +# classify those files into still-active vs complete) +# --------------------------------------------------------------------------- # +def cmd_migrate(args) -> int: + active_files = sorted(ACTIVE_DIR.glob("*.md")) if ACTIVE_DIR.exists() else [] + if not active_files: + print("lifecycle migrate: active/ empty or absent", file=sys.stderr) + return 1 + a_slugs = ledger_slugs(ACTIVE_MD) + c_entries = parse_complete_md() + c_slugs = set(c_entries) + + def norm(s: str) -> str: + return s.replace("_", "-").lower() + + a_norm = {norm(s) for s in a_slugs} + c_norm = {norm(s): s for s in c_slugs} + + keep, done, unsure = [], [], [] + for f in active_files: + stem = norm(f.stem) + if stem in a_norm: + keep.append(f.name) + elif stem in c_norm: + done.append((f.name, c_entries[c_norm[stem]]["date"])) + else: + unsure.append(f.name) + + print(f"active/ files: {len(active_files)}") + print(f" -> stay active (ledger-backed): {len(keep)}") + print(f" -> complete (ledger-backed): {len(done)}") + print(f" -> UNSURE (needs human review): {len(unsure)}") + print("\n# Ledger-backed COMPLETE (high confidence):") + for name, date in done: + bucket = complete_bucket(date).relative_to(ROOT) + print(f" active/{name} -> {bucket}/{name}") + print("\n# UNSURE — filename matched no active.md/complete.md slug:") + for name in unsure: + print(f" active/{name} ?? (review: read the file, cross-ref git log)") + if not args.apply: + print("\n(dry run; --apply executes ONLY the ledger-backed COMPLETE rows)") + return 0 + import subprocess + + for name, date in done: + src = ACTIVE_DIR / name + dest = complete_bucket(date) / name + dest.parent.mkdir(parents=True, exist_ok=True) + r = subprocess.run(["git", "-C", str(ROOT), "mv", str(src), str(dest)], + capture_output=True, text=True) + if r.returncode != 0: + src.rename(dest) + print(f"\nmoved {len(done)} ledger-backed files; {len(unsure)} UNSURE left in " + f"active/ for review.") + return 0 + + +# --------------------------------------------------------------------------- # +# check +# --------------------------------------------------------------------------- # +def cmd_check(args) -> int: + problems: "list[str]" = [] + a_slugs = ledger_slugs(ACTIVE_MD) + c_entries = parse_complete_md() + c_slugs = set(c_entries) + + both = a_slugs & c_slugs + for s in sorted(both): + problems.append(f"slug in BOTH active.md and complete.md: {s}") + + if COMPLETE_DIR.exists(): + for f in COMPLETE_DIR.rglob("*.md"): + if f.name in ("index.md", "AGENTS.md"): + continue + slug = f.stem + if slug not in {safe_name(s) for s in c_slugs}: + problems.append( + f"complete/ record has no complete.md entry: " + f"{f.relative_to(ROOT)}" + ) + + # a file should not exist in two state dirs at once + if ACTIVE_DIR.exists() and COMPLETE_DIR.exists(): + active_names = {f.name for f in ACTIVE_DIR.glob("*.md")} + for f in COMPLETE_DIR.rglob("*.md"): + if f.name in active_names: + problems.append(f"file in both active/ and complete/: {f.name}") + + if problems: + print("lifecycle check: DRIFT") + for p in problems: + print(f" - {p}") + return 1 + print("lifecycle check: OK") + return 0 + + +def main() -> int: + p = argparse.ArgumentParser(description="PyAutoMind prompt-file lifecycle engine") + sub = p.add_subparsers(dest="cmd", required=True) + + m = sub.add_parser("move", help="advance active/ -> complete/YYYY/MM/") + m.add_argument("name") + m.add_argument("--date", help="completion date YYYY-MM-DD (else from complete.md)") + m.add_argument("--apply", action="store_true") + m.set_defaults(func=cmd_move) + + s = sub.add_parser("split-complete", help="explode complete.md into per-task records") + s.add_argument("--apply", action="store_true") + s.set_defaults(func=cmd_split_complete) + + mg = sub.add_parser("migrate", help="classify legacy active/ files into active vs complete") + mg.add_argument("--apply", action="store_true") + mg.set_defaults(func=cmd_migrate) + + c = sub.add_parser("check", help="drift guard (non-zero exit on drift)") + c.set_defaults(func=cmd_check) + + args = p.parse_args() + return args.func(args) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/scripts/prompt_sync.sh b/scripts/prompt_sync.sh index f48201eb..8f387086 100755 --- a/scripts/prompt_sync.sh +++ b/scripts/prompt_sync.sh @@ -48,14 +48,16 @@ _prompt_sync_require_repo() { # Commit and push any new untracked .md files at the repo root or under # category dirs as one "sync new task ideas" commit. Each new file is listed # individually in the commit body so the history shows which prompts arrived. -# Excludes issued/ (handled by prompt_sync_push when skills move files there) -# and tmp/ (scratch). +# Excludes active/ and complete/ (lifecycle dirs the skills move files into via +# prompt_sync_push, issue #71) and tmp/ (scratch). New draft prompts under +# draft/ are swept normally. prompt_sync_new_prompts() { _prompt_sync_require_repo || return 1 local untracked untracked=$(git -C "$PROMPT_REPO" ls-files --others --exclude-standard \ -- '*.md' '*/*.md' \ - | grep -v '^issued/' \ + | grep -v '^active/' \ + | grep -v '^complete/' \ | grep -v '^tmp/' \ || true) [ -z "$untracked" ] && return 0 diff --git a/scripts/spawn.py b/scripts/spawn.py index c5d37702..4af4ad99 100644 --- a/scripts/spawn.py +++ b/scripts/spawn.py @@ -50,8 +50,14 @@ ("active.md", "EMPTY"), ("planned.md", "EMPTY"), ("complete.md", "EMPTY"), ("parked.md", "EMPTY"), ("condemned.md", "EMPTY"), ("ideas.md", "EMPTY"), ("queue.md", "EMPTY"), ("autonomy_log.md", "SPECIAL:autonomy_log"), -] + [(f"{wt}/*", "SKELETON") for wt in MIND_WORK_TYPES] + [ - ("issued/*", "DROP"), ("z_features/*", "DROP"), ("z_vault/*", "DROP"), + # Prompt-file lifecycle (issue #71): draft/ (not-started) -> active/ + # (in-flight) -> complete/YYYY/MM (shipped). A fresh template ships an empty + # draft/ skeleton; active/ + complete/ records are instance state (DROP), + # but the complete/ archive SCHEMA is template content (KEEP, first-match). + ("draft/*", "SKELETON"), + ("complete/AGENTS.md", "KEEP"), + ("active/*", "DROP"), ("complete/*", "DROP"), + ("z_features/*", "DROP"), ("z_vault/*", "DROP"), ("autoprompt/*", "DROP"), ("docs/*", "DROP"), # Instance root docs + legacy pre-migration prompt dirs: ("dashboard.md", "DROP"), ("overview.md", "DROP"), ("autolens/*", "DROP"), diff --git a/scripts/status.sh b/scripts/status.sh index 03620bf7..9be76330 100755 --- a/scripts/status.sh +++ b/scripts/status.sh @@ -27,22 +27,25 @@ dim() { printf "\033[2m%s\033[0m\n" "$1"; } # ---------- Counts per category ---------- # -# Prompts are now organised by WORK TYPE at the first folder level -# (feature/, bug/, refactor/, …) with the target repo/domain as the second -# level. Lifecycle/meta folders (issued/, z_features/, z_vault/, -# autoprompt/, triage/) keep their own names. See README "Prompt taxonomy". - -WORK_TYPES=(feature bug refactor docs test release maintenance research experiment) -LIFECYCLE_DIRS=(triage issued z_features z_vault autoprompt) - -bold "== Prompt inventory (by work type) ==" +# Prompt files run through three lifecycle states (issue #71): +# draft/// not started (intaken, pre start_dev) +# active/ issued, in flight +# complete/// shipped +# Draft prompts are organised by WORK TYPE (feature/, bug/, …) under draft/. +# Meta folders (z_features/, z_vault/, autoprompt/) keep their own names. +# See README "Prompt taxonomy". + +WORK_TYPES=(feature bug refactor docs test release maintenance research experiment triage) +LIFECYCLE_DIRS=(active complete z_features z_vault autoprompt) + +bold "== Draft prompts (by work type) ==" printf "%-35s %s\n" "category" "count" printf "%-35s %s\n" "----------------------------------" "-----" for dir in "${WORK_TYPES[@]}"; do - if [ -d "$ROOT/$dir" ]; then - count=$(find "$ROOT/$dir" -type f -name "*.md" 2>/dev/null | wc -l | tr -d ' ') - printf "%-35s %s\n" "$dir/" "$count" + if [ -d "$ROOT/draft/$dir" ]; then + count=$(find "$ROOT/draft/$dir" -type f -name "*.md" 2>/dev/null | wc -l | tr -d ' ') + printf "%-35s %s\n" "draft/$dir/" "$count" fi done @@ -68,7 +71,13 @@ count_h2() { } active_count=$(count_h2 "$ROOT/active.md") planned_count=$(count_h2 "$ROOT/planned.md") -complete_count=$(count_h2 "$ROOT/complete.md") +# complete/ records are the source of truth once split (issue #71); fall back to +# the legacy complete.md ledger until it is retired. +complete_count=$(find "$ROOT/complete" -type f -name "*.md" \ + ! -name AGENTS.md ! -name index.md 2>/dev/null | wc -l | tr -d ' ') +if [ "$complete_count" -eq 0 ]; then + complete_count=$(count_h2 "$ROOT/complete.md") +fi bold "== Registry ==" printf "active.md %s task(s) in flight\n" "$active_count" @@ -111,7 +120,7 @@ fi if [ "${1:-}" = "--full" ]; then bold "== Full prompt list ==" - for dir in "${WORK_TYPES[@]}" "${LIFECYCLE_DIRS[@]}"; do + for dir in "${WORK_TYPES[@]/#/draft/}" "${LIFECYCLE_DIRS[@]}"; do [ -d "$ROOT/$dir" ] || continue files=$(find "$ROOT/$dir" -type f -name "*.md" 2>/dev/null | sort) [ -z "$files" ] && continue diff --git a/skills/create_issue/SKILL.md b/skills/create_issue/SKILL.md index 660e0a5f..bf0834b7 100755 --- a/skills/create_issue/SKILL.md +++ b/skills/create_issue/SKILL.md @@ -7,7 +7,7 @@ Turn a `PyAutoMind/` prompt into a tracked GitHub issue and register it. A **PyAutoMind** primitive — it owns the mechanical **issue + registry write**: assemble the issue body, create the issue, register the task in `active.md`, move -the prompt to `issued/`, and push Mind state. The *reasoning* (classify repos, +the prompt to `active/`, and push Mind state. The *reasoning* (classify repos, explore code, generate the plan) belongs to **PyAutoBrain**: - **Called by Brain.** `$start-dev` (`/start_dev` in Claude) does the triage/planning via the @@ -118,13 +118,17 @@ Add the task entry to `PyAutoMind/active.md` with the issue URL (schema in README). **If the caller is handling registration itself** — e.g. `$start-dev` routing a conflicted task to `planned.md` — skip this step and let it register. -### 5. Move the prompt to issued/ +### 5. Move the prompt to active/ + +The prompt advances from `draft/` (not started) to `active/` (issued, in +flight) — the second of the three lifecycle states (`draft/ → active/ → +complete/`; issue #71). Use `git mv` to preserve history: ```bash -mv PyAutoMind/ PyAutoMind/issued/ +git -C PyAutoMind mv active/ ``` -Timestamp-suffix the filename if one already exists in `issued/`. +Timestamp-suffix the filename if one already exists in `active/`. ### 6. Push Mind @@ -133,7 +137,7 @@ source PyAutoMind/scripts/prompt_sync.sh prompt_sync_push "prompt: file issue for (#)" ``` -If step 0 already pushed, this carries only the active.md + `issued/` changes. +If step 0 already pushed, this carries only the active.md + `active/` changes. ## Notes