Introducing the rsyslog commit AI assistant

We are adding a new helper to our Responsible AI First toolbox: the rsyslog commit (message) assistant. It is an optional ChatGPT Custom GPT that helps contributors write clear, policy-compliant commit messages faster. You stay in full control. Nothing in your workflow changes unless you want it to.

It follows our responsible “AI First” strategy and is optional, transparent, and keeps the human in full control.

Why we built it

  • Clarity and consistency: higher-signal commit history and smoother reviews.
  • Lower barrier for newcomers: fewer style nits, more focus on substance.
  • Good AI use: opt-in, scoped, transparent, and aligned with our contribution rules.
  • OSS-friendly cost model: a Custom GPT lets us support contributors on a lean budget.

What it does

The assistant asks for the essentials and proposes a commit message you can edit:

  • Inputs it expects: a diff (pasted or link), optional issue URL, an optional non-technical reason, and optional context like component or whether a bug was seen in practice.
  • What it produces: a commit message that follows our rules (see below), plus a short, focused sanity review if the patch changes behavior or tests.
  • Transparency: the canonical base prompt lives in-repo so everyone can inspect and improve it:
    ai/rsyslog_commit_assistant/base_prompt.txt

Under the hood, it applies a stable workflow: classify the patch, check for behavior changes, surface concise risks when relevant, and then compose a policy-compliant message. If key metadata (like the non-technical reason or issue URL) is missing, it asks once and pauses, exactly as defined in the prompt.

What it is not

  • Not required. It is 100% optional.
  • Not a gatekeeper or auto-committer.
  • Not connected to your repository. It only sees what you paste.
  • Never paste secrets or tokens.

The commit style it reinforces (summary)

These rules mirror our Contribution Guide and are the source of truth there.

  • ASCII only.
  • Title <= 62 chars; body lines <= 72 chars.
  • Title format: <component>: <concise action>
  • Start with a brief non-technical “why” (e.g., modernization, maintainability, performance, security, Docker/CI readiness, user value).
  • Add Impact: one line when tests or user-visible behavior change.
  • Include a one-line Before/After summary.
  • Provide a technical overview (4–12 lines, conceptual; not line-by-line).
  • Footer with full-URL references:
    • Fixes: https://github.com/rsyslog/rsyslog/issues/<id> when conclusively fixed
    • otherwise Refs: https://github.com/rsyslog/rsyslog/issues/<id>
  • If an agent helped, add: AI-Agent: <name version>

See the Contribution Guide for full details and context.

Example output (style illustration)

omhttp: migrate to OMODTX and align retry semantics

Why: modernize module internals, reduce edge-case divergence, and
improve behavior clarity for high-volume Docker/CI setups.

Impact: delivery semantics clarified; docs/tests updated.

Before: mixed retry handling; 3xx/5xx behavior not consistently aligned
with core defaults.
After: 1xx/2xx=success; 3xx=non-retriable; 4xx=non-retriable (overridable);
5xx/transport=retriable by default; uses commitTransaction().

Technical:
- switch to OMODTX commitTransaction() interface
- align status-code handling with core retry/backoff defaults
- keep retryRuleset as optional advanced path
- update counters and health behavior; add test coverage

Refs: https://github.com/rsyslog/rsyslog/issues/5957
AI-Agent: Codex 2025-06

How to use it (2-minute flow)

  1. Open: https://www.rsyslog.com/tool_rsyslog-commit-assistant
  2. Paste a short summary and, if helpful, a small diff or link to it.
  3. Provide the non-technical reason and issue URL if available.
  4. Review the proposal, tweak as needed, and paste it into git commit.

Tip: Keep your pasted diffs minimal. Do not include secrets or credentials.

Privacy and transparency

Feedback and iteration

This assistant is experimental and will evolve with your input.
Please use GitHub Discussions to propose rule tweaks, extra checks, or localized guidance:

Links

Scroll to top