The gate that fired anyway
Описание и применение
В автоматизированном пайплайне PowerShell‑скрипт, отвечающий за запуск задач, неправильно обрабатывал вывод классификатора, позволяя выполнять разрушительные задачи. Исправление включало объединение вывода в строку и блокировку неизвестных результатов, что предотвратило нежелательное выполнение.
Задача
The acceptance runner allowed destructive tasks to fire because the classifier output was mis‑parsed, letting an unparseable verdict slip through as a safe one.
Результат
Destructive tasks are now correctly blocked, preventing accidental execution, while safe tasks continue to run.
Рабочий процесс
- Register a task with the runner
- Capture classifier output with 2>&1
- Join output into a single string
- Apply regex to extract verdict
- If verdict is destructive, write receipt and exit 3
- If verdict is safe, write receipt and start task
- Unregister test tasks after execution
Доказательства
The runner captured the classifier's output with 2>&1, which in PowerShell returns an array of lines, not a string.
The fix was two changes: join the captured output into a string so the regex sees what it was written for, and give unknown its own blocking exit code.
- Дата записи: 2026-09-11T13:45:22.301Z