From d3acd4989a207e668aed3bbf7f3e8e15091999ac Mon Sep 17 00:00:00 2001 From: kami Date: Sat, 29 Aug 2026 17:36:49 +0400 Subject: [PATCH 1/3] orchestra: TASK.md --- TASK.md | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/TASK.md b/TASK.md index cb2bf31..b1b422f 100644 --- a/TASK.md +++ b/TASK.md @@ -1,18 +1,53 @@ -# Task 06G4JX6MSQEP7N0D5JWW9EP5X4 +# Task 06G4VF5HZW7Q4JBM3TTY7W1Y64 -Late handoff rig: add a --version line to the healthcheck usage text +Add ten named checks to the healthcheck, in five phases - Project: test-e2e -- Source: burnin/late-handoff-1 +- Source: burnin/run18-implement-successor - Priority: 0 ## Instructions -Add the version string to the usage text printed by scripts/orchestra_e2e_healthcheck.sh --help. Keep every existing line and exit status unchanged, and keep scripts/test_healthcheck.sh passing. +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`. +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. ## Quality gate From 8ea3c7d1ae8fd960897344694645117adbd8ee82 Mon Sep 17 00:00:00 2001 From: kami Date: Sat, 29 Aug 2026 17:46:50 +0400 Subject: [PATCH 2/3] orchestra: pre-release WIP snapshot (orchestra-06g4vf5hzw7q4jbm3tty7w1y64-4d839c05) --- scripts/orchestra_e2e_healthcheck.sh | 54 +++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/scripts/orchestra_e2e_healthcheck.sh b/scripts/orchestra_e2e_healthcheck.sh index f7b9a38..7058821 100755 --- a/scripts/orchestra_e2e_healthcheck.sh +++ b/scripts/orchestra_e2e_healthcheck.sh @@ -1,6 +1,41 @@ #!/usr/bin/env bash readonly VERSION=1.0.0 +readonly ROOT=$(cd "$(dirname "$0")/.." && pwd) + +# Space-separated check names; each has a check_ function. +CHECKS="repo_root_readable scripts_dir_present healthcheck_executable_bit +selftest_present test_healthcheck_present readme_present +no_crlf_line_endings no_tabs_in_scripts" + +# name=ok / name=fail pairs, in run order. +RESULTS= +FAILED=0 +TOTAL=0 + +# record : append one outcome to the results state. +record() { + RESULTS="$RESULTS $1=$2" + TOTAL=$((TOTAL + 1)) + [ "$2" = ok ] || FAILED=$((FAILED + 1)) +} + +check_repo_root_readable() { [ -d "$ROOT" ] && [ -r "$ROOT" ]; } +check_scripts_dir_present() { [ -d "$ROOT/scripts" ]; } +check_healthcheck_executable_bit() { [ -x "$ROOT/scripts/orchestra_e2e_healthcheck.sh" ]; } +check_selftest_present() { [ -f "$ROOT/scripts/orchestra_e2e_selftest.sh" ]; } +check_test_healthcheck_present() { [ -f "$ROOT/scripts/test_healthcheck.sh" ]; } +check_readme_present() { [ -f "$ROOT/README.md" ]; } + +check_no_crlf_line_endings() { + [ -d "$ROOT/scripts" ] || return 1 + ! grep -qU $'\r' "$ROOT"/scripts/*.sh "$ROOT/README.md" 2>/dev/null +} + +check_no_tabs_in_scripts() { + [ -d "$ROOT/scripts" ] || return 1 + ! grep -q "$(printf '\t')" "$ROOT"/scripts/*.sh 2>/dev/null +} # emit