mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 19:34:03 +01:00
Six libs: the script has four phases and write_stack alone was 342 lines because it emits three config files from heredocs. That became three functions, one per file, each keeping the comment that explains it - including why settings.yml is mode 640 and not 600. For a script whose job is writing config, "the functions still exist" is not enough. Compared the sorted non-comment lines of the original write_stack against its three successors: identical hash, so every line of emitted compose, settings.yml and limiter.toml is byte-for-byte the same and only the wrappers were added. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
20 lines
1.5 KiB
JSON
20 lines
1.5 KiB
JSON
{
|
|
"title": "Split setup_searxng.sh under the 250-line cap",
|
|
"objective": "Bring linux_configuration/scripts/single_use/features/setup_searxng.sh (912 lines) under the cap, and establish the verification a split must pass when the moved code generates service configuration.",
|
|
"acceptance_criteria": [
|
|
"The entry script and all six new libs are at most 250 lines.",
|
|
"The pre-commit shellcheck hook passes on every touched file, with no new suppression and no disable directive.",
|
|
"No lib sources a sibling: the entry script sources all six directly.",
|
|
"The stubbed run reports every moved function as defined.",
|
|
"The content the script generates is byte-identical: comparing the non-comment lines of the original write_stack against the three functions it became must produce the same hash. A split that quietly altered a compose file or settings.yml would pass every other check.",
|
|
"The comment explaining why settings.yml is mode 640 rather than 600 travels with the code it explains.",
|
|
"No script is executed."
|
|
],
|
|
"out_of_scope": [
|
|
"Executing the setup, starting containers or reloading Caddy.",
|
|
"Changing anything the script writes.",
|
|
"The other very large scripts (setup_nextcloud_raspberry.sh, check_and_enable_services.sh and the rest), which are separate commits."
|
|
],
|
|
"verifier": "meta/scripts/verify_shell_split.sh, plus an md5 comparison of the sorted non-comment lines of the original write_stack against its three successor functions, plus pre-commit run --files and check_file_length.sh."
|
|
}
|