Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
--reply-mode {cautious|default|always}option for theprocess-next,process-ticket, andprocess-allsubcommands, controlling when rcpond skips a ticket based on prior activity.
0.2.0 - 2026-05-27
Added
- Ticket filtering: only unassigned tickets with a meaningful short description are returned by
default;
--long-listdisables the filter. - Email template files whose filenames begin with
_(e.g._sign_off.j2) are now treated as Jinja2 partials. They are excluded from the LLM's list of selectable templates but remain available to the Jinja renderer via{% include %}. Variables declared inside partials are still surfaced to the LLM as required parameters.
0.1.3 - 2026-05-18
Added
browse-ticketsubcommand: opens a ticket in the default browser.whoamisubcommand: shows the identity of the currently authenticated OAuth user.--env-fileflag as a self-contained alternative to the default XDG config file (mutually exclusive with~/.config/rcpond/default.config).commentsfield on tickets (in addition towork_notes).- Ticket idempotency:
process-next,process-ticket, andprocess-allskip tickets that rcpond has already acted on (identified by a prefix on all rcpond-generated work notes). - Race-condition guard: ticket state is re-checked after the LLM has finished to avoid acting on a ticket that was concurrently updated by another user.
0.1.2 - 2026-04-28
Added
assigned_toandstatefields on tickets.- Work note prefix on all rcpond-generated notes, used to identify prior rcpond activity.
0.1.1 - 2026-04-17
No functional changes — version bump only.
0.1.0 - 2026-04-17
Added
- Core CLI built with Typer, exposing the following subcommands:
login,display-all,display-ticket,process-next,process-ticket,process-all, andevaluate-all. - ServiceNow API client for fetching and updating HPC/cloud access request tickets.
- LLM integration via an OpenAI-compatible chat completions API (tool/function-calling support).
- OAuth 2.0 authentication (Authorization Code + PKCE flow) with browser-based login and local
token caching under
$XDG_CACHE_HOME/rcpond/tokens.json. - Static subscription-key authentication as a simpler alternative to OAuth.
- Configuration loading from XDG config file (
~/.config/rcpond/default.config), environment variables prefixedRCPOND_, and CLI flags — in increasing order of precedence. - Rules file and system-prompt template support (
RCPOND_RULES_PATH,RCPOND_SYSTEM_PROMPT_TEMPLATE_PATH). - Email template system using Jinja2 (
.j2files), withticket.*fields resolved deterministically and all other variables generated by the LLM. evaluate-allsubcommand: evaluates LLM performance against a directory of pre-downloaded HTML ticket files, with support for multiple runs per ticket for majority-vote analysis.--dry-runflag forprocess-next,process-ticket, andprocess-all: shows what rcpond would do without actually posting to ServiceNow.--yes-i-am-sureconfirmation flag required forprocess-all.- Read the Docs documentation site with MkDocs, including a configuration guide, API reference, and quick-start.