Problem
cli/bash/commands/basectl/subcommands/repo.sh embeds a full Project Intake GitHub Actions Bash program inside base_repo_write_project_intake_workflow. That here-doc includes authentication diagnostics, retry handling, Project lookup, field lookup, and field mutation logic.
This makes repo.sh harder to review and obscures the boundary between Base repository-baseline generation and the generated workflow content.
Scope
- Move the generated Project Intake workflow content out of the middle of
repo.sh into a clearer owned artifact boundary, such as a template asset or a Python-backed generator.
- Preserve the generated file content unless a narrow correctness fix is required.
- Keep
repo.sh responsible for orchestration and file placement.
- Do not split
repo.sh mechanically beyond this generated-content boundary.
Acceptance Criteria
- The generated
.github/workflows/project-intake.yml output remains stable or has intentional snapshot/test updates.
repo.sh is shorter and no longer contains the full embedded workflow program inline.
basectl repo init, basectl repo check, and generated baseline validation continue to pass.
Problem
cli/bash/commands/basectl/subcommands/repo.shembeds a full Project Intake GitHub Actions Bash program insidebase_repo_write_project_intake_workflow. That here-doc includes authentication diagnostics, retry handling, Project lookup, field lookup, and field mutation logic.This makes
repo.shharder to review and obscures the boundary between Base repository-baseline generation and the generated workflow content.Scope
repo.shinto a clearer owned artifact boundary, such as a template asset or a Python-backed generator.repo.shresponsible for orchestration and file placement.repo.shmechanically beyond this generated-content boundary.Acceptance Criteria
.github/workflows/project-intake.ymloutput remains stable or has intentional snapshot/test updates.repo.shis shorter and no longer contains the full embedded workflow program inline.basectl repo init,basectl repo check, and generated baseline validation continue to pass.