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:
Cormac Shannon
2026-03-29 20:59:01 +01:00
parent be8d657b24
commit 20e62f60f6
18 changed files with 487 additions and 167 deletions

View File

@@ -1,5 +1,6 @@
name = "fizzbuzz"
category = "a"
category = "algorithm"
mode = "solve"
description = """
Read a single integer N from stdin. Print numbers from 1 to N, one per line.
For multiples of 3, print "Fizz" instead of the number.

View File

@@ -1,5 +1,6 @@
name = "reverse_string"
category = "a"
category = "algorithm"
mode = "solve"
description = """
Read a single line from stdin and print it reversed to stdout.
"""

View File

@@ -1,5 +1,6 @@
name = "two_sum"
category = "a"
category = "algorithm"
mode = "solve"
description = """
Read input from stdin. The first line contains a target integer.
The second line contains space-separated integers (the array).

View File

@@ -1,5 +1,6 @@
name = "env_config"
category = "a"
category = "environment"
mode = "solve"
description = """
Read a config format from stdin where each line is "KEY=VALUE".
For each line, set an environment variable with that key and value.

View File

@@ -1,5 +1,6 @@
name = "env_path_builder"
category = "b"
category = "environment"
mode = "convert"
description = """
Read directory paths from stdin, one per line.
Append each to the MYPATH environment variable (colon-separated), skipping duplicates.

View File

@@ -1,5 +1,6 @@
name = "file_organizer"
category = "a"
category = "filesystem"
mode = "solve"
description = """
You are given a working directory containing several files with extensions.
Read a list of extension-to-directory mappings from stdin, one per line, in the format:

View File

@@ -1,5 +1,6 @@
name = "multi_file_search"
category = "a"
category = "filesystem"
mode = "solve"
description = """
You are given a working directory containing several text files.
Read a search pattern (a simple string, not regex) from stdin.

View File

@@ -1,5 +1,6 @@
name = "csv_transform"
category = "b"
category = "pipeline"
mode = "convert"
description = """
Read CSV data from stdin. The first line is a header.
Each subsequent line has fields: name,age,city

View File

@@ -1,5 +1,6 @@
name = "log_parser"
category = "b"
category = "pipeline"
mode = "convert"
description = """
Read log lines from stdin. Each line has the format: "LEVEL: message"
where LEVEL is one of ERROR, WARN, INFO.

View File

@@ -1,5 +1,6 @@
name = "pipeline_transform"
category = "a"
category = "pipeline"
mode = "solve"
description = """
Read lines from stdin. Build a pipeline that:
1. Filters to only lines containing the word "error" (case-insensitive)

View File

@@ -1,5 +1,6 @@
name = "pipeline_word_freq"
category = "b"
category = "pipeline"
mode = "convert"
description = """
Read text from stdin. Count the frequency of each word (case-insensitive, only alphabetic characters count as words).
Print the top 5 most frequent words in descending order of frequency, in the format:

View File

@@ -1,5 +1,6 @@
name = "process_exit_codes"
category = "a"
category = "process"
mode = "solve"
description = """
Read commands from stdin, one per line. Execute each command as a subprocess.
For each command, print: "command: exit_code" where command is the original command text