rsyslog/MODULE_AUTHOR_CHECKLIST.md
Rainer Gerhards ecfe038880
doc: reference AI module map in AGENTS.md and DEVELOPING.md
Added cross-references to doc/ai/module_map.yaml in both developer-
facing guides:

- AGENTS.md:
  * Mentioned the AI module map in the Repository Overview and
    Quickstart sections.
  * Added a common task instructing contributors to consult the map
    before making edits.

- DEVELOPING.md:
  * Updated “Pointers” to include the AI module map as a source for
    per-module paths and known locking hints.

This improves discoverability of module locations and expected locking
patterns for both AI agents (e.g., Codex) and human contributors,
reducing time spent locating code and relevant design notes.

No functional changes; documentation only.
2025-08-12 18:19:59 +02:00

1012 B

Module author checklist (v8)

State placement

  • Config/static/shared data in pData (per-action).
  • Live handles/buffers in wrkrInstanceData_t (per-worker).
  • No sharing of WID across workers.

Serialization

  • Inherently serial resources (e.g., a shared stream) guarded by a mutex in pData.
  • If any library thread or callback touches shared state, define a pthread_rwlock_t and document who reads/writes.

Entry points

  • createWrkrInstance/freeWrkrInstance allocate/free WID only.
  • doAction/tx callbacks may run concurrently across workers; they never share WID.

Docs in code

  • Top-of-file “Concurrency & Locking” block explains the above for this module.
  • Doxygen comments on pData/WID typedefs describe lifetime & locking rules.

Testing

  • Run with queue.workerThreads > 1. CI already runs TSAN on the full suite.

Style

  • Commit subject ≤ 65 chars; aim for 62. ASCII only. See CONTRIBUTING.md.