Architecture decisions: *.archify-decision files, decisions: keys in diagrams
- parse, merge and validate decisions (ids, status, elements, diagrams, supersedes); strip decisions keys from diagrams and check the ids - model:validate counts decisions; model:list lists them with status and the diagrams that reference them; examples carry decisions - formats.md and SKILL.md describe the format and when an agent writes one
This commit is contained in:
1 parent
90a0c0d109
commit
b169034b4f
15 files changed
+276
-11
No files matched your search
@@ -43,4 +43,4 @@ connections:
|
||||
- { from: router, to: store, label: append }
|
||||
- { from: router, to: notifier, label: notify }
|
||||
- { from: router, to: analytics, label: flatten }
|
||||
- { from: router, to: dlq, label: failed, variant: dashed, labelDy: 24 }
|
||||
- { from: router, to: dlq, label: failed, variant: dashed, labelDy: 24, decisions: [dead-letter-queue] }
|
||||
@@ -0,0 +1,18 @@
|
||||
schema_version: 1
|
||||
decision:
|
||||
id: dead-letter-queue
|
||||
title: Failed events go to a dead-letter queue, never dropped
|
||||
status: accepted
|
||||
date: 2026-09-24
|
||||
elements: [router, dlq, ops]
|
||||
diagrams: [0200-containers/platform.archify, 0300-components/router.archify]
|
||||
context: >
|
||||
Events that failed schema validation were logged and lost.
|
||||
Nobody noticed until a customer asked where an order went.
|
||||
decision: >
|
||||
The router moves every event it cannot process to a
|
||||
dead-letter queue with the reason. Operations replays
|
||||
them after the cause is fixed.
|
||||
consequences: >
|
||||
Nothing is lost silently. Someone has to watch the queue;
|
||||
that is an on-call duty for operations.
|
||||
Reference in new issue
Block a user