Bug Report & Incident Postmortem Ontology
Models engineering issue-tracking records such as bug tickets and incident postmortems, covering metadata, impact, reproduction or timeline, root cause, and remediation. Used to generate new realistic bug reports and postmortems from a prompt.
engineering · 28 concepts · 33 relationships · by @ssergienko · CC BY 4.0
Classes (8)
- Defect/Incident Record
- Top-level document documenting a software failure and its resolution.
- e.g. BUG-1234 export failure · INC-100 duplicate charges
- Header Metadata
- Compact pipe-separated line(s) of classification and ownership fields.
- e.g. Project: Orders | Component: api-gateway | Type: Bug
- Reproduction Steps
- Numbered steps with expected vs actual behaviour.
- e.g. 1. Open report with 21 charts 2. Export. Expected: <30 s. Actual: timeout at 60 s
- Impact Statement
- Quantified effect on users, money, error rates.
- e.g. 900 customers affected; €40,000 refunded · error rate peaked at 7%
- Timeline
- Timestamped sequence from onset to resolution.
- e.g. 10:05 latency rises · 10:31 mitigation via feature flag
- Root Cause
- Causal technical explanation, often a specific change or missing safeguard.
- e.g. Renderer pool limited to 1 after release change · Retry without idempotency key
- Fix / Mitigation
- Code change or operational action that resolved the issue.
- e.g. Restore parallel rendering — PR #1234 · Disable retries via feature flag
- Action Items
- Numbered follow-ups with owner, due date, and status.
- e.g. Add idempotency keys — owner: Payments — due 2026-10-16 — done
Dimensions (4)
- Record Type
- Kind of record being written.
- e.g. Bug ticket · Incident postmortem
- Severity
- Scale of technical or business harm.
- e.g. S2 (major) · SEV-2 · SEV-1
- Failure Domain
- Category of technical failure.
- e.g. performance/timeout · payments/idempotency · data corruption
- Blast Radius
- Extent of affected users, regions, or environments.
- e.g. all regions · 1,180 customers · single tenant
Properties (11)
- Identifier and Title
- Prefixed ID plus a concise symptom-oriented title.
- e.g. BUG-7710: Search times out for queries with >10 filters · INC-205 — Login failures in EU region
- Project and Component
- Product and subsystem affected.
- e.g. Analytics Pro / export-service · Checkout / payments
- Priority
- Urgency of fixing.
- e.g. P1 · P2
- Status and Workflow
- Current state or workflow progression.
- e.g. Open → In progress → In review → Done · Resolved
- Reporter, Assignee, Owner
- Roles or teams accountable; often team names rather than individuals.
- e.g. Reporter: Support Tier 2 · Assignee: Platform team · Incident commander: on-call engineer
- Version and Environment
- Affected and fix versions, environment, regions, browsers.
- e.g. Affects 2.4.0 / Fix 2.4.1 · production, all regions
- Labels and Links
- Tags and linked tickets or PRs.
- e.g. regression · customer-impacting · 12 linked tickets
- Duration / Time to Resolve
- Elapsed time of incident or fix.
- e.g. 47 minutes · 4h 20m
- Contributing Factors
- Secondary gaps in monitoring, testing, or process.
- e.g. No alert on duplicates · Retry logic untested
- Detection Method
- How the problem was found.
- e.g. automated alert · customer support tickets
- Customer Communication
- Channels used to notify customers.
- e.g. status page + email
Values (2)
- Severity Scale Values
- Enumerated severity levels.
- e.g. S1 critical · S2 major · S3 minor
- Status Values
- Enumerated lifecycle states.
- e.g. Open · In progress · In review
Constraints (3)
- Blameless Tone
- Postmortems describe systems and processes, not individuals.
- e.g. on-call payments engineer
- Terse Technical Style
- Compact, fact-dense, metric-rich prose with abbreviations and concrete numbers.
- e.g. Root cause: ... Fix: ...
- Internal Consistency
- Dates, versions, durations, severities and statuses must agree.
- e.g. 4.18.0 → 4.18.1