From ab8b17944848901aba7826422a8e78b7d48a12b6 Mon Sep 17 00:00:00 2001 From: Mason Garrison Date: Mon, 23 Mar 2026 15:42:11 -0400 Subject: [PATCH 1/4] Revert "Fix `info` parameter not appearing in autograding failure messages (#18)" This reverts commit 8d7a9c2ce39a9f270569a685fd9ddc806f272e99. --- .github/workflows/classroom.yml | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/.github/workflows/classroom.yml b/.github/workflows/classroom.yml index c4fdc75..5183480 100644 --- a/.github/workflows/classroom.yml +++ b/.github/workflows/classroom.yml @@ -381,32 +381,18 @@ jobs: if (i <= length(tap_lines) && trimws(tap_lines[i]) == '---') { i <- i + 1L while (i <= length(tap_lines) && trimws(tap_lines[i]) != '...') { - msg_lines <- c(msg_lines, tap_lines[i]) + msg_lines <- c(msg_lines, trimws(tap_lines[i])) i <- i + 1L } i <- i + 1L } - msg_idx <- grep('^[[:space:]]*message:', msg_lines) + msg_idx <- grep('^message:', msg_lines) detail <- if (length(msg_idx) > 0) { - raw <- sub('^[[:space:]]*message:[[:space:]]*', '', msg_lines[msg_idx[1]]) - if (grepl('^\\|', trimws(raw))) { - raw <- '' - j <- msg_idx[1] + 1L - while (j <= length(msg_lines) && - !grepl('^ [^[:space:]]', msg_lines[j])) { - content <- trimws(msg_lines[j]) - if (nchar(content) > 0) { - raw <- if (nchar(raw) == 0) content else paste0(raw, ' ', content) - } - j <- j + 1L - } - } else { - j <- msg_idx[1] + 1L - while (j <= length(msg_lines) && - !grepl('^ [^[:space:]]', msg_lines[j])) { - raw <- paste0(raw, ' ', trimws(msg_lines[j])) - j <- j + 1L - } + raw <- sub('^message:[[:space:]]*', '', msg_lines[msg_idx[1]]) + j <- msg_idx[1] + 1L + while (j <= length(msg_lines) && grepl('^ ', msg_lines[j])) { + raw <- paste0(raw, ' ', trimws(msg_lines[j])) + j <- j + 1L } raw } else '' From b36c25fc3d5c8c0e6a55be9c15e4b9bc5104bcf2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 20:28:32 +0000 Subject: [PATCH 2/4] Initial plan From 3e833179eaca4afdd2ce2bd2199fd84251d7903c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 20:35:17 +0000 Subject: [PATCH 3/4] Fix TAP message parsing: preserve indentation for multi-line failure messages - Store tap_lines without trimws() so indentation is retained - Update grep/sub patterns to match indented YAML message keys - Strip YAML block/folded scalar indicators (|-, |, >-, >) when they are the entire value after message: - Replace fixed '^ ' continuation check with dynamic indentation-depth comparison so continuation lines (deeper indent than message: key) are correctly collected while sibling keys like severity: are excluded Co-authored-by: smasongarrison <6001608+smasongarrison@users.noreply.github.com> Agent-Logs-Url: https://github.com/DataScience4Psych/actions/sessions/71658e60-8cda-4f29-bf56-aa97015ea3ec --- .github/workflows/classroom.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/classroom.yml b/.github/workflows/classroom.yml index 5183480..1a59ed4 100644 --- a/.github/workflows/classroom.yml +++ b/.github/workflows/classroom.yml @@ -381,20 +381,25 @@ jobs: if (i <= length(tap_lines) && trimws(tap_lines[i]) == '---') { i <- i + 1L while (i <= length(tap_lines) && trimws(tap_lines[i]) != '...') { - msg_lines <- c(msg_lines, trimws(tap_lines[i])) + msg_lines <- c(msg_lines, tap_lines[i]) i <- i + 1L } i <- i + 1L } - msg_idx <- grep('^message:', msg_lines) + msg_idx <- grep('^[[:space:]]*message:', msg_lines) detail <- if (length(msg_idx) > 0) { - raw <- sub('^message:[[:space:]]*', '', msg_lines[msg_idx[1]]) + raw <- sub('^[[:space:]]*message:[[:space:]]*', '', msg_lines[msg_idx[1]]) + raw <- sub('^[|>][-+]?[0-9]?[[:space:]]*$', '', raw) + msg_indent <- nchar(regmatches(msg_lines[msg_idx[1]], + regexpr('^[[:space:]]*', msg_lines[msg_idx[1]]))) j <- msg_idx[1] + 1L - while (j <= length(msg_lines) && grepl('^ ', msg_lines[j])) { + while (j <= length(msg_lines) && + nchar(regmatches(msg_lines[j], + regexpr('^[[:space:]]*', msg_lines[j]))) > msg_indent) { raw <- paste0(raw, ' ', trimws(msg_lines[j])) j <- j + 1L } - raw + trimws(raw) } else '' rows <- c(rows, paste0('| ',unsuccess_symbol,' | ', desc, ' | ', detail, ' |')) } else { From 688a105a408e24cc440baf1f143233eef5a1c900 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Mar 2026 21:21:23 +0000 Subject: [PATCH 4/4] Fix empty continuation lines and unify block/inline message handling Skip empty continuation lines (matching main branch behavior) and use a unified content-first-then-append pattern for both block scalars and inline messages. This makes the implementation produce identical output to main for all |- block scalar cases, while also correctly handling >- folded scalars (which main did not recognize). Co-authored-by: smasongarrison <6001608+smasongarrison@users.noreply.github.com> Agent-Logs-Url: https://github.com/DataScience4Psych/actions/sessions/c6fdd31e-b2c5-4ce2-acf4-815d4505d692 --- .github/workflows/classroom.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/classroom.yml b/.github/workflows/classroom.yml index 1a59ed4..3f6c454 100644 --- a/.github/workflows/classroom.yml +++ b/.github/workflows/classroom.yml @@ -396,10 +396,13 @@ jobs: while (j <= length(msg_lines) && nchar(regmatches(msg_lines[j], regexpr('^[[:space:]]*', msg_lines[j]))) > msg_indent) { - raw <- paste0(raw, ' ', trimws(msg_lines[j])) + content <- trimws(msg_lines[j]) + if (nchar(content) > 0) { + raw <- if (nchar(raw) == 0) content else paste0(raw, ' ', content) + } j <- j + 1L } - trimws(raw) + raw } else '' rows <- c(rows, paste0('| ',unsuccess_symbol,' | ', desc, ' | ', detail, ' |')) } else {