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

@@ -0,0 +1,39 @@
name = "fizzbuzz"
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.
For multiples of 5, print "Buzz" instead of the number.
For multiples of both 3 and 5, print "FizzBuzz" instead of the number.
"""
[[test_cases]]
stdin = "15"
expected_stdout = """1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz"""
[[test_cases]]
stdin = "5"
expected_stdout = """1
2
Fizz
4
Buzz"""
[[test_cases]]
stdin = "1"
expected_stdout = "1"

View File

@@ -0,0 +1,22 @@
name = "reverse_string"
category = "algorithm"
mode = "solve"
description = """
Read a single line from stdin and print it reversed to stdout.
"""
[[test_cases]]
stdin = "hello"
expected_stdout = "olleh"
[[test_cases]]
stdin = "abcdef"
expected_stdout = "fedcba"
[[test_cases]]
stdin = "racecar"
expected_stdout = "racecar"
[[test_cases]]
stdin = "a"
expected_stdout = "a"

View File

@@ -0,0 +1,25 @@
name = "two_sum"
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).
Find two indices (0-based) such that the numbers at those indices add up to the target.
Print the two indices on a single line, space-separated, smaller index first.
There is exactly one solution.
"""
[[test_cases]]
stdin = """9
2 7 11 15"""
expected_stdout = "0 1"
[[test_cases]]
stdin = """6
3 2 4"""
expected_stdout = "1 2"
[[test_cases]]
stdin = """6
3 3"""
expected_stdout = "0 1"