Reorganize task categories from opaque a/b to descriptive names
Replace category_a/category_b directories with algorithm, pipeline, environment, filesystem, and process. Add separate mode field (solve/convert) to decouple orchestration from capability grouping. Add per-category summary and questionnaire breakdowns to both terminal report and HTML export.
This commit is contained in:
40
tasks/environment/env_path_builder.toml
Normal file
40
tasks/environment/env_path_builder.toml
Normal file
@@ -0,0 +1,40 @@
|
||||
name = "env_path_builder"
|
||||
category = "environment"
|
||||
mode = "convert"
|
||||
description = """
|
||||
Read directory paths from stdin, one per line.
|
||||
Append each to the MYPATH environment variable (colon-separated), skipping duplicates.
|
||||
The initial value of MYPATH is provided via the environment (may be empty).
|
||||
Print the final value of MYPATH to stdout.
|
||||
"""
|
||||
|
||||
bash_source = """
|
||||
#!/bin/bash
|
||||
while IFS= read -r dir || [[ -n "$dir" ]]; do
|
||||
if [[ -z "$MYPATH" ]]; then
|
||||
export MYPATH="$dir"
|
||||
elif [[ ":$MYPATH:" != *":$dir:"* ]]; then
|
||||
export MYPATH="$MYPATH:$dir"
|
||||
fi
|
||||
done
|
||||
echo "$MYPATH"
|
||||
"""
|
||||
|
||||
[[test_cases]]
|
||||
stdin = """/usr/local/bin
|
||||
/usr/bin
|
||||
/usr/local/bin
|
||||
/opt/bin"""
|
||||
expected_stdout = "/usr/local/bin:/usr/bin:/opt/bin"
|
||||
env = { "MYPATH" = "" }
|
||||
|
||||
[[test_cases]]
|
||||
stdin = """/new/path
|
||||
/existing"""
|
||||
expected_stdout = "/already/here:/new/path:/existing"
|
||||
env = { "MYPATH" = "/already/here" }
|
||||
|
||||
[[test_cases]]
|
||||
stdin = "/only"
|
||||
expected_stdout = "/only"
|
||||
env = { "MYPATH" = "" }
|
||||
Reference in New Issue
Block a user