Skip to content

chore: scripts/ subdirectory reorganization (gates/, generators/, benchmarks/, ops/) #577

Description

@mick-gsk

Problem

142 scripts in a flat \scripts/\ directory make navigation difficult for both humans and agents.
While \make catalog --category \ now filters by category (added in this PR), the filesystem
still has no structural signal about which scripts belong to CI gates vs. benchmarks vs. ops.

Proposed Structure

\
scripts/
gates/ # 25 scripts: check_, validate_, gate.py
generators/ # 15 scripts: generate
, sync_, integrate_
benchmarks/ # 27 scripts: benchmark_, ab_harness, mutation_
ops/ # 36 scripts: release, KPI, session, triage
analysis/ # 17 scripts: study_, *analysis, ablation
_experimental/ # 18 scripts: tmp*, trailers, demo GIFs
\\

Scope of Change

35 CI workflow YAMLs and ~24 Makefile targets reference scripts by path. All must be updated atomically with the file moves.

Required updates:

  • 35 occurrences in .github/workflows/*.yml\
  • ~24 \Makefile\ targets
  • \scripts/catalog.py\ (SCRIPTS_DIR scan must recurse into subdirs via rglob)
  • \AGENTS.md\ script path references
  • \scripts/README.md\ tables

Implementation Notes

  • Use \git mv\ to preserve history
  • Verify with \make check\ + CI dry-run after move
  • \check_agent_harness_contract.py\ may need path updates if it validates script existence

References

  • Prerequisite: \catalog.py --category\ filter + \scripts/README.md\ (agent-facing index already added)
  • \scripts/README.md\ Section 'Subdirectory Migration' documents this intent

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions