Meridian Runtime Bug Report Template (Privacy‑First)¶
Owner: GhostWeasel (Lead: doubletap-dave)¶
Purpose: Help you file actionable bug reports while protecting sensitive data.¶
1) Summary¶
2) Environment¶
- OS: (e.g., macOS 14.5 / Ubuntu 22.04 / Windows 11)
- Python: 3.11.x
- Meridian: x.y.z
- Install/Tooling: (e.g., uv version, ruff/mypy/pytest versions)
- How installed: (pip/uv/source)
3) Reproduction Steps¶
1) … 2) … 3) …
Minimal Repro (Sanitized)¶
- Graph summary: number of nodes/edges, relevant edges’ bounds and overflow policies (block/drop/latest/coalesce).
- Relevant node lifecycle hooks: on_start / on_message / on_tick / on_stop.
- Validation in use (optional): TypedDict / Pydantic (schema names only).
Example (conceptual, no real data): - Edge E_A: bound=10, policy="drop" - Node N_input -> Edge E_A -> Node N_worker
4) Observed Behavior¶
- Behavior:
- …
- Redacted errors/stack traces (if any):
- …
- Relevant structured logs (redacted values, keep keys):
- event="edge_overflow", edge_id="E_A", policy="drop", dropped=123
- event="node_error", node_id="N_worker", error_type="ValueError", message="
"
5) Expected Behavior¶
- …
6) Additional Technical Detail (Optional, Redacted)¶
- Metrics snapshot (numbers only; avoid PII in labels):
- queue_depth=, overflow_count=, processed_total=, error_total=
- Config highlights (redacted):
- Relevant keys and enum/boolean values; replace secrets with
or CHECKSUM(...) - Timing/frequency:
- Intermittent vs consistent; began after version/change
- Workarounds tried:
- …
7) Impact¶
- (e.g., Blocks release; production impact; affects one workflow; minor inconvenience)
8) Attachments (Optional, Sanitized)¶
- Attached: yes/no
- Notes on redaction: …
9) Maintainer Questions (Optional)¶
- …
10) Redaction Guidance (Strongly Enforced)¶
MUST remove or replace: - Secrets: API keys, tokens, passwords, private URLs. - PII: names, emails, phone numbers, addresses, IDs. - Payload contents: message/body data, records; share only schemas/field names if necessary. - Hostnames/IPs: replace with HOST_A or 203.0.113.10. - Internal IDs: replace with opaque placeholders (ID_123 → ID_A).
Best practices:
- Prefer schemas over data (example: {user_id: str, balance_cents: int}).
- Keep log structure and keys; replace values with
What not to share: - Raw payloads or domain data - Credentials or tokens - Proprietary identifiers without anonymization
11) Checklist¶
- Removed payload contents, secrets, tokens, and PII
- Included OS/Python/Arachne versions and install method
- Added minimal, sanitized reproduction steps
- Provided redacted logs/errors and metrics snapshots if relevant
- Described observed vs expected behavior
References¶
- Troubleshooting: docs/support/TROUBLESHOOTING.md
- How to Report Issues: docs/support/HOW-TO-REPORT-ISSUES.md
- Governance and Overview (M0): docs/plan/M0-governance-and-overview.md
- Contributing Guide: docs/contributing/CONTRIBUTING.md