The live monitoring API watches a process or log file in a background thread, matches output lines against a set of error patterns, debounces multi-line bursts into a single event, and flushes error blocks as entries to the same JSONL run log thatDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/onenot8/issueLoop/llms.txt
Use this file to discover all available pages before exploring further.
create_tickets reads. This means errors detected during live monitoring flow into the ticket queue with no additional steps — just call create_tickets after the monitoring session or schedule it on a timer.
watch_process
Spawnscommand as a subprocess and reads its combined stdout/stderr in a background thread. Lines matching any error pattern start the debounce timer; quiet time longer than debounce_seconds flushes the accumulated buffer as a single log entry.
Repository name to associate with detected errors.
Shell command string to spawn. Executed with
shell=True.Working directory for the subprocess. Defaults to the current directory if not provided.
List of compiled
re.Pattern objects that identify error lines. Defaults to a built-in set covering Python tracebacks, exception, error, FAILED, fatal, panic:, and panicked at.Seconds of silence required to flush the error buffer. A multi-line traceback is accumulated until no new matching lines arrive for this duration.
Optional callback invoked every time a buffer is flushed. Receives the JSONL entry dict as its only argument.
stop_watch to stop the watcher.
watch_log_file
Tails an existing log file from its current end, waiting for new lines. Useful for processes that are already running and writing to a file that IssueLoop did not spawn.Repository name to associate with detected errors.
Absolute or relative path to the log file to tail. If the file does not yet exist, the watcher polls until it appears.
Same as
watch_process. Defaults to the built-in error pattern set.Seconds of silence required to flush the error buffer.
Optional callback invoked on each flush with the JSONL entry dict.
stop_watch.
stop_watch
Stops a running watcher, flushes any remaining buffered lines as a final log entry, and (forwatch_process) terminates the spawned subprocess.
The integer handle returned by
watch_process or watch_log_file.True on success. Raises KeyError if the handle is not found in the active watcher registry.
list_active_watchers
Returns metadata for every watcher that is currently running in this Python process.The integer handle identifying this watcher.
Repository name the watcher is associated with.
The command string or log path label used to identify this watcher in the JSONL log.
Output format
When a watcher flushes, it writes the following entry todata/logs/run_<repo_name>.jsonl — the same file and format used by the batch test runner:
test_id is a generated string prefixed with live_ followed by a random hex suffix. The exit_code is always 1 for live-detected errors. The accumulated error lines are stored in stderr_tail.