Add ten named checks to the healthcheck, in five phases #22

Closed
kami wants to merge 0 commits from orchestra/06G4VF5HZW7Q4JBM3TTY7W1Y64 into master
Owner

Goal

Add ten named checks to the healthcheck, in five phases

scripts/orchestra_e2e_healthcheck.sh currently runs a single check. Grow it to ten named checks, each implemented as its own shell function, each reported by name. The ten checks, all read-only and all satisfiable inside this repository: 1. repo_root_readable, 2. scripts_dir_present, 3. healthcheck_executable_bit, 4. selftest_present, 5. test_healthcheck_present, 6. readme_present, 7. no_crlf_line_endings, 8. no_tabs_in_scripts, 9. shebang_is_bash, 10. usage_text_mentions_every_flag. Each check is a function named check_ that returns 0 for pass and 1 for fail, prints nothing on its own, and records its name and outcome in the existing results state. Plan this as FIVE phases: 1. Checks 1 to 3, with the dispatch loop that runs a list of check functions and records each outcome. 2. Checks 4 to 6. 3. Checks 7 to 8. 4. Checks 9 to 10. 5. Update the usage text in --help to list every check name, and extend scripts/test_healthcheck.sh with one assertion per check plus an assertion that all ten names appear in the output. ## Work one phase at a time This is a hard requirement. Implement phase N, request its verification, and only then begin phase N+1. Do not write the whole change first and verify the phases afterwards. ## Behaviour that must not change The existing success line, the --quiet, --json and --help flags, and the exit status all keep their current behaviour when every check passes. ## Verification policy for this project Only two commands may appear on a run: line, exactly: - ["bash", "-n", ""] - ["bash", "scripts/orchestra_e2e_healthcheck.sh"] Anything else is refused when you seal the plan. Give every phase at least one automated check from that list, and add a manual check where a human should confirm the printed text. ## Research first Establish at least three findings with distinct confidence: at least one fact, one inference, one assumption. ## Handoff behaviour Behave normally throughout this task. If Orchestra asks you to write a handoff report, write it and stop.

Acceptance

  • not stated in the task contract

Verification

  • bash -n scripts/*.sh && bash scripts/orchestra_e2e_healthcheck.sh exited 0
  • commit: fd13778dd8
  • independent review of fd13778dd8: pass
  • minor findings, not fixed: 1
  • accepted plan: 8aa16ba5c3999a886717f867d80073005d5ddf096237faa94a3fe1d65538cfac

Behavioural changes

  • none reported

Deviations from plan

  • none reported

Remaining risks

  • none reported

Review hotspots

  • none reported

Reviewer findings

  • minor: scripts/orchestra_e2e_healthcheck.sh:33 check_no_crlf_line_endings passes when a target file cannot be read, since it inverts grep and grep exits 2 on a read error.

The sections above are derived from Orchestra state. The reported
changes, deviations, risks, and hotspots are the implementing agent's
own account and are not verified.

## Goal Add ten named checks to the healthcheck, in five phases scripts/orchestra_e2e_healthcheck.sh currently runs a single check. Grow it to ten named checks, each implemented as its own shell function, each reported by name. The ten checks, all read-only and all satisfiable inside this repository: 1. repo_root_readable, 2. scripts_dir_present, 3. healthcheck_executable_bit, 4. selftest_present, 5. test_healthcheck_present, 6. readme_present, 7. no_crlf_line_endings, 8. no_tabs_in_scripts, 9. shebang_is_bash, 10. usage_text_mentions_every_flag. Each check is a function named check_<name> that returns 0 for pass and 1 for fail, prints nothing on its own, and records its name and outcome in the existing results state. Plan this as FIVE phases: 1. Checks 1 to 3, with the dispatch loop that runs a list of check functions and records each outcome. 2. Checks 4 to 6. 3. Checks 7 to 8. 4. Checks 9 to 10. 5. Update the usage text in --help to list every check name, and extend scripts/test_healthcheck.sh with one assertion per check plus an assertion that all ten names appear in the output. ## Work one phase at a time This is a hard requirement. Implement phase N, request its verification, and only then begin phase N+1. Do not write the whole change first and verify the phases afterwards. ## Behaviour that must not change The existing success line, the --quiet, --json and --help flags, and the exit status all keep their current behaviour when every check passes. ## Verification policy for this project Only two commands may appear on a run: line, exactly: - ["bash", "-n", "<path>"] - ["bash", "scripts/orchestra_e2e_healthcheck.sh"] Anything else is refused when you seal the plan. Give every phase at least one automated check from that list, and add a manual check where a human should confirm the printed text. ## Research first Establish at least three findings with distinct confidence: at least one fact, one inference, one assumption. ## Handoff behaviour Behave normally throughout this task. If Orchestra asks you to write a handoff report, write it and stop. ## Acceptance - not stated in the task contract ## Verification - `bash -n scripts/*.sh && bash scripts/orchestra_e2e_healthcheck.sh` exited 0 - commit: fd13778dd85cf885dfc6f63d56fa62585888b318 - independent review of fd13778dd85cf885dfc6f63d56fa62585888b318: pass - minor findings, not fixed: 1 - accepted plan: 8aa16ba5c3999a886717f867d80073005d5ddf096237faa94a3fe1d65538cfac ## Behavioural changes - none reported ## Deviations from plan - none reported ## Remaining risks - none reported ## Review hotspots - none reported ## Reviewer findings - minor: `scripts/orchestra_e2e_healthcheck.sh:33` check_no_crlf_line_endings passes when a target file cannot be read, since it inverts grep and grep exits 2 on a read error. The sections above are derived from Orchestra state. The reported changes, deviations, risks, and hotspots are the implementing agent's own account and are not verified.
kami added 3 commits 2026-08-29 15:52:06 +02:00
claude closed this pull request 2026-08-29 16:53:30 +02:00

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kami/test-e2e#22