Skip to content

feat: register autofit_inference + autofit_profiling with minimal skeletons (search-extensibility B1) #492

Closed

Description

@Jammy2211

Overview

Phase B1 (registration half) of the search-extensibility epic (PyAutoMind epics.md; ledger draft/research/autofit/search_extensibility_epic.md, plan §4 B1). The two benchmark repos PyAutoLabs/autofit_inference and PyAutoLabs/autofit_profiling were created 2026-10-07 (human gate) and are checked out at fit/, undeclared — today's Heart manifest-drift YELLOW. This phase gives each a minimal, lint-green skeleton and registers them across Mind, Heart, Cortex, Pulse (task adoption), the org profile and RAL.

Plan

  • Give each new repo a minimal skeleton that passes its own lint on an empty repo, carrying the four repos_sync marker pairs so Mind can self-install its blocks and hooks.
  • Declare both repos in Mind's repos.yaml and run the generator, folding the generated blocks and hooks into the skeleton branches; add the family-index rows by hand.
  • Record the repos in Heart's excluded list, add a planned Cortex row for autofit_inference, adopt the Pulse bootstrap task with a check-in linking the epic, and add two org-profile rows.
  • Clone both repos on RAL and confirm hpc/sync check reaches them.
  • Verify with repos_sync --check, cortex.py check, Pulse offline check, both skeleton lints and a Heart tick clearing the manifest-drift reason.

Tier: judge (undeclared) — merge mode: human /prm

Human rulings 2026-10-07: plan approved; PyAutoMind coordination with mind-dashboard-simplify (#491) authorised for repos.yaml, ROUTING.md, epics.md only; no Pulse/Insight registry rows at B1 (they land in B4a/B3 once a summary is published); RAL clones approved.

Detailed implementation plan

Work Classification

Workspace / organs (no library source)

Affected Repositories

  • autofit_inference (skeleton PR)
  • autofit_profiling (skeleton PR)
  • PyAutoMind (primary: manifest)
  • PyAutoHeart
  • PyAutoCortex
  • PyAutoPulse
  • PyAutoLabs/.github (org profile; outside the manifest)

Branch Survey

Repository Current Branch Dirty?
fit/autofit_inference main (49a7c4d) clean
fit/autofit_profiling main (d26edeb) clean
organs/PyAutoMind main clean (claimed by mind-dashboard-simplify, #491 open; coordination authorised)
organs/PyAutoHeart main clean
organs/PyAutoCortex main 4 uncommitted science-ledger edits from another session (not touched; branch via worktree)
organs/PyAutoPulse main clean
.github main clean

Suggested branch: feature/search-ext-b1-registration
Worktree root: ~/Code/PyAutoLabs-wt/search-ext-b1-registration/

Implementation Steps

  1. Skeletons (both repos): AGENTS.md with repos_sync:{history,deliverable,filing,standards} marker pairs and short domain sections; AI_POLICY.md pointer; ruff.toml (root sentinel); .gitignore; README.md; activate.sh (fit-only PYTHONPATH: Nerves + Fit; RAL shared-venv branch); hpc/{sync,sync.conf.example,README.md,batch_cpu/template} with PROJECT_NAME=<repo>, --partition=ral; .github/workflows/lint.yml running only ruff check, ruff format --check and lychee over README. autofit_inference also gets CORTEX.md and wiki/project/{state,_template}.md. No harness, data, exporters, dashboards or validate_structure.py.
  2. Mind: repos.yaml rows for both (category: project, role), next to the lens siblings; python3 scripts/repos_sync.py --write with PYAUTO_ROOT asserted (regenerates root AGENTS.md routing rows; writes blocks + .claude/ hooks into the two skeleton worktrees → committed on the skeleton branches); ROUTING.md targets example; epics.md status. Hand-edit fit/AGENTS.md (not generated, not under git).
  3. Heart: two excluded: lines in config/repos.yaml (documentation only).
  4. Cortex: projects.yaml row autofit_inference mirroring autolens_inference with status: planned, partition: ral, ral_root: /mnt/ral/jnightin/autofit_inference, assistant: autofit_assistant, note linking the epic; no ledger (B3 flips it to active via cortex.py new).
  5. Pulse: dated check-in in tasks/autofit_profiling_bootstrap.md adopting it as epic B4a/B4b; campaigns.yaml task next: updated. No registry.yaml row.
  6. Org profile: two rows in the PyAutoFit table of .github/profile/README.md.
  7. RAL: ssh euclid_jump → git clone both repos to /mnt/ral/jnightin/<project>; hpc/sync check from each local repo.
  8. Order: skeleton PRs first, then Mind, then Heart/Cortex/Pulse/.github. Nothing in Pulse or Insight references the new repos before the Mind PR merges.

Verification

  • repos_sync.py --check green (two mismatches gone); cortex.py check green; pyauto-pulse check --offline green; both skeleton lint.yml green; Heart tick → manifest drift clear; hpc/sync check finds both remote roots.
  • Firewall: no Brain/Heart/Hands .py/.sh hardcodes the new names.

Key Files

  • organs/PyAutoMind/repos.yaml, scripts/repos_sync.py, ROUTING.md, epics.md
  • organs/PyAutoHeart/config/repos.yaml
  • organs/PyAutoCortex/projects.yaml
  • organs/PyAutoPulse/tasks/autofit_profiling_bootstrap.md, campaigns.yaml
  • .github/profile/README.md
  • lens/autolens_inference/{AGENTS.md,activate.sh,hpc/,ruff.toml,CORTEX.md,.github/workflows/lint.yml} — templates to copy from

Original Prompt

Click to expand starting prompt

Register autofit_inference and autofit_profiling across the organism, with minimal skeletons (epic search-extensibility, phase B1 registration)

Type: feature
Target: autofit
Repos:

  • autofit_inference
  • autofit_profiling
  • PyAutoMind
  • PyAutoHeart
  • PyAutoCortex
  • PyAutoPulse
    Themes:
  • inference
  • profiling
  • infrastructure
    Difficulty: medium
    Autonomy: supervised
    Priority: high
    Epic: search-extensibility
    Status: draft
    Filed: 2026-10-07

Phase B1 (registration half) of the search-extensibility epic
(draft/research/autofit/search_extensibility_epic.md; plan in
search_extensibility_epic_report.md §4 B1; skeleton table in
search_extensibility_epic_surveys/04_inference_profiling_infra.md §6). The
human gate half of B1 (two gh repo create) passed 2026-10-07: both repos
exist on GitHub, public, MIT, one Initial commit with LICENSE, and are cloned
at fit/autofit_inference and fit/autofit_profiling. Those undeclared
checkouts are today's Heart manifest-drift YELLOW
(repos_sync.py --check → "workspace checkouts (manifest ↔ disk): 2
mismatch(es)"); this phase clears it.

Original request (verbatim from the epic plan)

"B1 — Births and registration (HUMAN GATE; no dependencies). Repos: the new
fit/autofit_inference and fit/autofit_profiling, plus PyAutoMind,
PyAutoHeart, PyAutoCortex, PyAutoBrain and the org .github. Scope: two
gh repo create calls; skeleton PRs copied per surveys/04 §6, carrying the
repos_sync:* blocks and a layout allowlist for .claude/+CLAUDE.md; Mind
repos.yaml rows, then repos_sync --write (run with PYAUTO_ROOT asserted
in a private env), ROUTING.md and epics.md; Heart excluded:; a Cortex
row for autofit_inference; Brain clean_slate.sh; org profile rows; a RAL
clone plus hpc/sync check; adopt the Pulse task autofit_profiling_bootstrap:
answer its open question and link it to this epic. Verify: repos_sync --check, cortex.py check, both lint.yml runs green, hpc/sync check
reaches RAL. Witness: both repos are checked out at their declared paths, and
repos_sync --check and cortex.py check are green."

Brief addendum (2026-10-07): "B1 registration (Mind repos.yaml → repos_sync,
Heart excluded, Cortex row, Pulse fit @profiling-summary@2, Insight fit
@inference-summary@1; adopts PyAutoPulse tasks/autofit_profiling_bootstrap.md)".

Scope (as surveyed 2026-10-07)

  1. Skeleton PRs, one per new repo, minimal and lint-green on an empty repo:
    AGENTS.md with the four repos_sync:* marker pairs (history markers are
    what lets --write self-install deliverable/filing/standards), AI_POLICY.md
    pointer, ruff.toml (root sentinel), .gitignore, README.md, activate.sh
    (fit-only PYTHONPATH: Nerves + Fit; RAL shared-venv branch), hpc/{sync, sync.conf.example, README.md} with PROJECT_NAME=<repo> and a batch_cpu
    template only (--partition=ral), and a lint.yml that runs only what
    exists (ruff check/format, lychee over README). autofit_inference also gets
    CORTEX.md and wiki/project/{state,_template}.md. No harness, datasets,
    exporters or dashboards (B2/B4a). No scripts/validate_structure.py (so no
    layout allowlist is needed; if one is ever added, .claude must be in
    ALLOWED_TOP_DIRS).
  2. Mind: two repos.yaml rows mirroring autolens_inference/
    autolens_profiling (category: project, role), repos_sync --write
    from the resolved checkout (root AGENTS.md routing rows, hooks and blocks
    into both new repos, folded into the skeleton PRs), ROUTING.md targets
    example, epics.md status. Hand-edit the family index fit/AGENTS.md
    (not generated, not under git) to add both rows.
  3. Heart: two excluded: lines in config/repos.yaml (documentation only;
    not polled).
  4. Cortex: a projects.yaml row for autofit_inference mirroring the
    autolens_inference row with status: planned (no ledger needed until B3's
    first runs flip it to active via cortex.py new), ral_root: /mnt/ral/jnightin/autofit_inference, partition: ral, assistant: autofit_assistant.
  5. Pulse: adopt tasks/autofit_profiling_bootstrap.md with a dated
    check-in linking this epic (its open question, repo creation, is answered)
    and update the campaigns.yaml task next:. No registry.yaml row:
    Pulse check fails any instance without a published summary and has no
    pending status; the fit @profiling-summary@2 row lands in B4a as planned.
  6. Insight: likewise no row at B1; the fit @inference-summary@1 row
    lands in B3 as planned. Record both intended instance names in the ledger.
  7. Brain: no clean_slate.sh entry needed (the lens siblings have none;
    _repo_paths.py reads Mind repos.yaml). Do not hardcode the new names in
    any Brain/Heart/Hands script (repos_sync firewall).
  8. Org profile: two rows in the PyAutoFit table of
    .github/profile/README.md (checkout /home/jammy/Code/PyAutoLabs/.github,
    PyAutoLabs/.github), one PR.
  9. RAL: git clone both repos to /mnt/ral/jnightin/<project> over
    euclid_jump, then hpc/sync check from each local repo.

Order

Skeleton PRs first (an AGENTS.md must exist before repos_sync --write),
then Mind (its PR waits for the skeletons to merge if its lint checks them
out), then Heart/Cortex/Pulse/.github in any order. Pulse and Insight CI
resolve repo against PyAutoMind main, so nothing in them references the new
repos before the Mind PR merges.

Verification

repos_sync.py --check green (the two mismatches gone); cortex.py check
green; both skeleton lint.yml runs green; pyauto-pulse check --offline
green; Heart tick → manifest drift clear; hpc/sync check reaches RAL and
finds both remote roots.

Witness

Both repos checked out at their declared fit/ paths and declared in
repos.yaml; repos_sync --check and cortex.py check green; Heart's
manifest-drift YELLOW reason gone at the next tick.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QJmrnXNQdq6HSruUt3MqVW

Activity

  1. Jammy2211 commented on Oct 7, 2026

    @Jammy2211
    CollaboratorAuthor

    PRs Created (B1 registration)

    Merge order: skeletons → Mind → the rest.

    1. autofit_inference: feat: repo skeleton — AGENTS, hooks, hpc/sync, lint (search-extensibility B1) autofit_inference#1
    2. autofit_profiling: feat: repo skeleton — AGENTS, hooks, hpc/sync, lint (search-extensibility B1) autofit_profiling#1
    3. PyAutoMind: feat: declare autofit_inference + autofit_profiling in repos.yaml (search-extensibility B1) #493
    4. PyAutoHeart: docs: list autofit_inference + autofit_profiling as excluded (search-extensibility B1) PyAutoHeart#292
    5. PyAutoCortex: feat: planned project row for autofit_inference (search-extensibility B1) PyAutoCortex#60
    6. PyAutoPulse: docs: adopt autofit_profiling_bootstrap into search-extensibility (B1) PyAutoPulse#33 (CI resolves repo names against Mind main; may stay red until feat: declare autofit_inference + autofit_profiling in repos.yaml (search-extensibility B1) #493 merges)
    7. PyAutoLabs/.github: docs: add autofit_profiling + autofit_inference to the PyAutoFit table (search-extensibility B1) .github#34

    Local evidence: repos_sync --check (canonical root, new manifest) 48/48 checked out, all legs OK; cortex.py check OK; pyauto-pulse check --offline OK; ruff clean in both skeletons; RAL clones present, hpc/sync check passes for both. No Pulse/Insight registry rows (human-approved deviation; rows land in B4a/B3). Heart YELLOW acknowledged by the human at ship (manifest drift from these very checkouts; no rehearsal for current source).

    Next: human /prm (judge tier).

  2. added a commit that references this issue on Oct 7, 2026
  3. Jammy2211 commented on Oct 7, 2026

    @Jammy2211
    CollaboratorAuthor

    Merge progress (human /prm, 2026-10-07 evening)

    MERGED: autofit_inference#1, autofit_profiling#1, PyAutoMind#493 (ba34fdb), PyAutoCortex#60, PyAutoPulse#33.

    Still open:

    • PyAutoHeart#292 — red on tests/test_dashboard.py::test_html_is_self_contained, a pre-existing cross-repo break from PyAutoBrain#499 (the shared theme now renders the "markdown version" link as an icon; Heart main fails the same test). Bug filed: PyAutoMind draft/bug/pyautoheart/dashboard_markdown_link_test_broken_by_brain_499.md. Merge after that fix lands.
    • docs: add autofit_profiling + autofit_inference to the PyAutoFit table (search-extensibility B1) .github#34 — the org profile repo has no CI checks configured; awaiting the human's explicit merge OK per /prm's "no checks configured" rule.

    Both RAL clones pulled to the skeleton heads. Task stays awaiting-merge until the two remaining PRs merge; close-out then.

  4. Jammy2211 commented on Oct 8, 2026

    @Jammy2211
    CollaboratorAuthor

    Shipped. All seven B1 registration PRs merged: autofit_inference#1, autofit_profiling#1, PyAutoMind#493, PyAutoCortex#60, PyAutoPulse#33 (2026-10-07), PyAutoHeart#292 and .github#34 (2026-10-08, human merge OK for the CI-less org profile). Heart#292 was unblocked by PyAutoHeart#293, which relaxed test_html_is_self_contained after PyAutoBrain#499 restyled the markdown link.

    Summary: minimal lint-green skeletons for both new fit repos; Mind repos.yaml rows via repos_sync; Heart excluded list; Cortex planned row; Pulse task adoption (registry rows land in B4a/B3); org profile rows. Clears the Heart manifest-drift YELLOW. Next epic phase: A0c part 1 (approved 2026-10-08).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions