Skip to content

feat: intake formalise mode — retroactively header the backlog #32

Description

@Jammy2211

Overview

Add the intake formalise mode — the follow-up previously codenamed repair, renamed because raw PyAutoMind prompts are intended word-vomit awaiting conception, not defects (the agent's own vocabulary already stamps Status: formalised). It walks the prompts the census flags as headerless or with missing header fields and retroactively formalises them: classify + size each body via the shared sizing faculty, then insert or complete the light metadata header in place, preserving the original text verbatim. Closes the loop that leaves 77 of 83 backlog prompts showing - on the dashboard.

Plan

  • Add intake formalise: select census records with missing header fields; derive Difficulty/Autonomy/Priority from the shared sizing faculty; write Type:/Target: from the taxonomy folder (authoritative), keeping any existing field values.
  • Insert rules: after the leading # heading when present; otherwise prepend a derived # <title> (same title the census already shows) + fields; original text always verbatim; provenance comment appended.
  • Where the body-classifier disagrees with the folder at medium/high confidence, report a re-home suggestion — never move or delete files.
  • Dry-run proposes per prompt; --apply rewrites; optional path-prefix filter for incremental runs; --json supported.
  • Update docs (repairformalise with rationale), run on the live Mind, regenerate dashboard.md.
Detailed implementation plan

Affected Repositories

  • PyAutoBrain (primary — agent code + docs)
  • PyAutoMind (~77 prompt files rewritten in place + regenerated dashboard.md)

Branch Survey

Repository Current Branch Dirty?
./PyAutoBrain main clean
./PyAutoMind main 1 unrelated user edit (maintenance/autolens_profiling/polish.md)

Suggested branch: feature/intake-formalise

Implementation Steps

  1. agents/conductors/intake/_intake.py — add formalise(mind, prefix=None): reuse census() records with non-empty missing; per prompt build a sizing-faculty dict (folder work-type/target + body text) and derive Difficulty via estimate_difficulty, Autonomy via infer_autonomy, Priority via infer_priority. Type: = folder work-type, Target: = folder target display name. Existing field values are never rewritten — only absent fields are added.
  2. Insertion: leading # heading → fields inserted after it; no heading → prepend derived # <title> + fields; partial header → missing lines appended after the last existing field line; append <!-- formalised retroactively by the Intake (Conception) Agent on <date> -->.
  3. Re-home suggestions: classify_work_type(body) vs folder work-type; mismatch at medium/high confidence → a report line ("classifier reads as bug; filed under feature/"), no file moves.
  4. CLI: formalise subcommand with optional positional path-prefix filter (e.g. intake formalise bug/); dry-run default, writes only under --apply; --json emits proposals/results.
  5. intake.sh — route formalise; update help header (and its sed range if it grows).
  6. Docs — intake AGENTS.md modes table (retire the "repair planned" note, note the rename rationale), INTAKE_TAXONOMY.md §6, skills/intake/intake.md.
  7. Live run: dry-run review → --apply → commit prompt rewrites to PyAutoMind → intake --apply dashboard → commit the repopulated page.

Key Files

  • PyAutoBrain/agents/conductors/intake/_intake.py — analysis core; census/dashboard landed in feat: intake census + dashboard modes — Mind backlog page #31
  • PyAutoBrain/agents/conductors/intake/intake.sh — CLI front door
  • PyAutoBrain/agents/faculties/sizing/_sizing.pyestimate_difficulty + repo sets (consulted, not modified)
  • PyAutoBrain/agents/conductors/intake/AGENTS.md / INTAKE_TAXONOMY.md — contract + taxonomy docs
  • PyAutoMind/<work-type>/**/*.md — the backlog being formalised

Testing

Fixture Mind: headerless with heading, headerless without heading, partial header, complete header (must be untouched), prefix filter, idempotence (second run = no-op). Then live dry-run review before --apply; regression on classify/ideas/census/dashboard.

Original Prompt

Click to expand starting prompt

Add a formalise mode to the PyAutoBrain intake agent

Type: feature
Target: PyAutoBrain
Repos:

  • PyAutoBrain
  • PyAutoMind
    Difficulty: medium
    Autonomy: supervised
    Priority: normal
    Status: formalised

Add a formalise mode to the PyAutoBrain intake agent. It walks the PyAutoMind prompts the census flags as headerless or with missing header fields and retroactively formalises them: classify and size each prompt body via the shared sizing faculty, then insert or complete the light metadata header in place, preserving the original text verbatim. This is the planned follow-up previously codenamed repair; formalise is the better word because raw prompts are intended word-vomit awaiting conception, not defects. The taxonomy folder stays authoritative for Type/Target; where the classifier disagrees with the folder, report a re-home suggestion but never move or delete files. Dry-run proposes, --apply writes. Touches intake agent code in PyAutoBrain and rewrites prompt files in PyAutoMind.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions