Guest User

architectural-knowledge-management

a guest
Mar 6th, 2026
310
0
Never
13
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.01 KB | None | 0 0
  1. ---
  2. name: architectural-knowledge-management
  3. description: >
  4. Architectural Knowledge Management (AKM) via Architectural Decision Records (ADRs).
  5. Use this capability to create, review, update, query, supersede, or deprecate ADRs that document significant technical decisions. Each ADR should capture: context, decision, alternatives considered, rationale, and consequences (positive and negative).
  6. Trigger when users mention: “ADR,” “decision record,” “architecture decision,” “decision log,” “why did we choose,” “document this decision,” “what was the rationale,” “record this choice,” “capture the decision,” or “AKM.” Also trigger when making major technical choices (e.g., framework, database, API style, deployment, auth), even if ADR isn’t explicitly requested.
  7. Especially important in persistent, agentic, or multi-session workflows where decisions must remain referenceable. Integrates with architecture-design-spec (Architectural Decisions section feeds ADRs) and ears-planning-method (ADR outcomes constrain requirements and plans).
  8.  
  9. ---
  10.  
  11. # Architectural Knowledge Management (AKM)
  12.  
  13. Capture, maintain, and query architectural decisions so they persist as first-class project
  14. artifacts. Every ADR is a conversation with a future developer (or a future Claude session)
  15. explaining *why* a choice was made, not just *what* was chosen.
  16.  
  17. ## Why This Matters for Agentic Workflows
  18.  
  19. In Claude Code and similar agentic contexts, decisions made in one session evaporate by the
  20. next. ADRs solve this: they are the persistent memory of architectural intent. When Claude
  21. encounters an existing decision log, it can ground its work in established constraints rather
  22. than re-deriving (or contradicting) past choices. This makes ADRs a **context management
  23. tool**, not just documentation.
  24.  
  25. ---
  26.  
  27. ## Modes of Operation
  28.  
  29. | Mode | Trigger | What happens |
  30. |------|---------|-------------|
  31. | **Create** | User is making a decision or asks to record one | Draft a new ADR |
  32. | **Query** | User asks "why did we…" or "what was the decision on…" | Search the decision log, summarize relevant ADRs |
  33. | **Update** | Decision needs amendment, superseding, or deprecation | Update status, link to successor ADR |
  34. | **Review** | User asks to audit decisions or prepare for a review | Assess ADR coverage, flag stale or missing records |
  35. | **Initialize** | No decision log exists yet | Set up `docs/decisions/` structure with ADR-0000 |
  36.  
  37. ---
  38.  
  39. ## 1. ADR Format — MADR 4.0 (Default)
  40.  
  41. Use MADR 4.0 as the default template. It balances structure with leanness. Read
  42. `references/templates.md` for the full template, the minimal template, and alternative
  43. formats (Nygard, Y-Statement) if the project already uses a different convention.
  44.  
  45. ### Mandatory Sections (Minimal ADR)
  46.  
  47. Every ADR MUST include at minimum:
  48.  
  49. ```markdown
  50. ---
  51. status: "{proposed | accepted | rejected | deprecated | superseded}"
  52. date: {YYYY-MM-DD}
  53. ---
  54.  
  55. # {Short Noun Phrase — the Decision Title}
  56.  
  57. ## Context and Problem Statement
  58.  
  59. {What is the issue? What forces are at play? Value-neutral facts.}
  60.  
  61. ## Considered Options
  62.  
  63. 1. {Option A}
  64. 2. {Option B}
  65. 3. {Option C}
  66.  
  67. ## Decision Outcome
  68.  
  69. Chosen option: "{Option B}", because {1-2 sentence justification}.
  70. ```
  71.  
  72. ### Full ADR (Standard)
  73.  
  74. Add these sections when the decision warrants deeper analysis. Omit empty sections — don't
  75. pad.
  76.  
  77. ```markdown
  78. ---
  79. status: "{proposed | accepted | rejected | deprecated | superseded}"
  80. date: {YYYY-MM-DD}
  81. decision-makers: {list of people or roles}
  82. consulted: {stakeholders consulted}
  83. informed: {stakeholders informed after the fact}
  84. ---
  85.  
  86. # {Short Noun Phrase — the Decision Title}
  87.  
  88. ## Context and Problem Statement
  89.  
  90. {The forces at play — technical, organizational, political, economic. State facts,
  91. not opinions. Name the ASR(s) this addresses if applicable.}
  92.  
  93. ## Decision Drivers
  94.  
  95. * {Driver 1 — e.g., "Must support 10k concurrent connections"}
  96. * {Driver 2 — e.g., "Team has no Go experience"}
  97. * {Driver 3 — e.g., "Budget ceiling of $500/mo for infrastructure"}
  98.  
  99. ## Considered Options
  100.  
  101. 1. {Option A}
  102. 2. {Option B}
  103. 3. {Option C}
  104.  
  105. ## Decision Outcome
  106.  
  107. Chosen option: "{Option B}", because {justification linking back to drivers}.
  108.  
  109. ### Consequences
  110.  
  111. * Good, because {positive consequence}
  112. * Good, because {another positive consequence}
  113. * Bad, because {negative consequence or tradeoff accepted}
  114. * Neutral, because {consequence that is neither clearly good nor bad}
  115.  
  116. ### Confirmation
  117.  
  118. {How will compliance with this decision be verified? Code review checklist item,
  119. automated test, ArchUnit rule, deployment gate, etc.}
  120.  
  121. ## Pros and Cons of the Options
  122.  
  123. ### {Option A}
  124.  
  125. {Brief description or example.}
  126.  
  127. * Good, because {argument}
  128. * Bad, because {argument}
  129.  
  130. ### {Option B}
  131.  
  132. {Brief description or example.}
  133.  
  134. * Good, because {argument}
  135. * Good, because {argument}
  136. * Bad, because {argument}
  137.  
  138. ### {Option C}
  139.  
  140. {Brief description or example.}
  141.  
  142. * Good, because {argument}
  143. * Bad, because {argument}
  144.  
  145. ## More Information
  146.  
  147. {Links to spikes, RFCs, benchmarks, related ADRs, or external references.
  148. Also record follow-up decisions needed.}
  149. ```
  150.  
  151. ---
  152.  
  153. ## 2. Creating ADRs
  154.  
  155. ### When to Create
  156.  
  157. Create an ADR when a decision:
  158. - Affects the system's structure, non-functional properties, dependencies, or interfaces
  159. - Has multiple viable alternatives that were (or should be) evaluated
  160. - Would be non-obvious to a new team member encountering the codebase
  161. - Constrains future implementation choices
  162. - Represents a significant cost, risk, or irreversibility
  163.  
  164. **Err on the side of capturing.** A 5-minute ADR now saves hours of archaeology later.
  165.  
  166. ### Sizing
  167.  
  168. | Decision weight | ADR depth | Example |
  169. |----------------|-----------|---------|
  170. | **Lightweight** | Minimal template (3 sections) | "Use pnpm over npm" |
  171. | **Standard** | Full template | "PostgreSQL over DynamoDB for the order service" |
  172. | **Heavyweight** | Full template + linked spike/RFC | "Event sourcing for the audit trail subsystem" |
  173.  
  174. ### Numbering and Naming
  175.  
  176. ```
  177. docs/decisions/
  178. ├── 0000-use-madr-for-decision-records.md
  179. ├── 0001-use-postgresql-for-order-service.md
  180. ├── 0002-adopt-event-driven-architecture.md
  181. └── ...
  182. ```
  183.  
  184. - **NNNN** — zero-padded sequential number
  185. - **title-with-dashes** — present-tense imperative verb phrase preferred (e.g.,
  186. `use-postgresql`, `adopt-event-sourcing`, `separate-auth-service`)
  187. - Extension: `.md`
  188.  
  189. ### Writing Rules
  190.  
  191. 1. **One decision per ADR.** If you're writing "and" between two distinct choices, split
  192. them into separate ADRs that reference each other.
  193.  
  194. 2. **Context is value-neutral.** State facts and forces, not preferences. The Decision
  195. section is where you take a position.
  196.  
  197. 3. **Name all considered options.** Including the ones you rejected. Future readers need to
  198. know what was evaluated, not just what won.
  199.  
  200. 4. **Consequences are honest.** List the bad alongside the good. Every decision has
  201. tradeoffs — pretending otherwise erodes trust in the log.
  202.  
  203. 5. **Write for a future reader.** Full sentences, active voice, enough context that someone
  204. unfamiliar with the discussion can understand the reasoning. Nygard's original guidance:
  205. write as if having a conversation with a future developer.
  206.  
  207. 6. **Keep it short.** One to two pages. If you need more, link to a spike document or RFC
  208. and summarize the key findings in the ADR.
  209.  
  210. 7. **Link related ADRs.** Use "Supersedes ADR-NNNN" in status metadata or "See also
  211. ADR-NNNN" in the More Information section to maintain the decision graph.
  212.  
  213. ---
  214.  
  215. ## 3. ADR Lifecycle
  216.  
  217. ```
  218. Proposed → Accepted
  219. ↓
  220. [active use]
  221. ↓
  222. Deprecated ←or→ Superseded by ADR-NNNN
  223. ```
  224.  
  225. ### Status Transitions
  226.  
  227. | From | To | When | Action |
  228. |------|----|------|--------|
  229. | Proposed | Accepted | Team agrees | Update status, set date |
  230. | Proposed | Rejected | Team decides against | Update status, document why in Consequences |
  231. | Accepted | Deprecated | Decision no longer relevant (tech removed, feature killed) | Update status, note reason |
  232. | Accepted | Superseded | New decision replaces this one | Update status with `superseded by ADR-NNNN`, create new ADR with `supersedes ADR-NNNN` |
  233.  
  234. ### Mutability Guidance
  235.  
  236. ADRs are append-friendly, not immutable. When new information arrives:
  237. - Add a dated amendment note to the existing ADR
  238. - If the amendment changes the decision, create a new ADR that supersedes the original
  239. - Never silently edit the Decision Outcome of an accepted ADR — that destroys the historical
  240. record
  241.  
  242. ---
  243.  
  244. ## 4. Querying the Decision Log
  245.  
  246. When the user asks about past decisions:
  247.  
  248. 1. **Scan** `docs/decisions/` (or the project's configured ADR directory) for all `.md` files
  249. 2. **Read titles and status metadata** to build an index
  250. 3. **Search** for keywords in Context, Decision Drivers, and Decision Outcome sections
  251. 4. **Summarize** relevant ADRs, citing the ADR number and linking to the file
  252. 5. **Flag conflicts** if the user's current direction contradicts an accepted ADR
  253.  
  254. When working in Claude Code, always check for an existing decision log before making
  255. architectural choices. If one exists, ground your work in it.
  256.  
  257. ---
  258.  
  259. ## 5. Reviewing and Auditing
  260.  
  261. ### Coverage Check
  262.  
  263. For each major component or subsystem, verify:
  264. - [ ] Technology choices are captured (language, framework, database, infra)
  265. - [ ] Integration patterns are captured (sync vs async, REST vs gRPC, etc.)
  266. - [ ] Security-relevant decisions are captured (auth approach, encryption, data residency)
  267. - [ ] Decisions with known expiration are flagged (e.g., "revisit after v2 launch")
  268.  
  269. ### Staleness Indicators
  270.  
  271. Flag ADRs that may need revisiting:
  272. - Status is `accepted` but the technology/pattern is no longer in the codebase
  273. - Decision is older than 18 months and references fast-moving dependencies
  274. - Context mentions constraints that no longer apply (e.g., "budget limited to X" when budget
  275. has changed)
  276. - Multiple recent changes work around or contradict the decision
  277.  
  278. ### Decision Gaps
  279.  
  280. When reviewing a codebase or architecture, identify significant choices that lack ADRs:
  281. - "The system uses Redis for caching but there's no ADR explaining why Redis over Memcached
  282. or application-level caching"
  283. - "Authentication uses OAuth2 + PKCE but the decision isn't recorded"
  284.  
  285. Propose retrospective ADRs for these gaps.
  286.  
  287. ---
  288.  
  289. ## 6. Integration with Other Skills
  290.  
  291. ### From architecture-design-spec
  292.  
  293. The `Architectural Decisions` section of a design spec is the natural input for ADRs:
  294.  
  295. | Design Spec produces | AKM consumes as |
  296. |---------------------|-----------------|
  297. | Architectural Decision (decision + rationale + constraints) | Seed for a new ADR (Context → Decision Outcome) |
  298. | Component Responsibilities | Context for technology-choice ADRs |
  299. | Open Questions | Triggers for future Proposed ADRs |
  300.  
  301. When a design spec includes architectural decisions, offer to formalize them as ADRs.
  302.  
  303. ### Into ears-planning-method
  304.  
  305. Accepted ADRs constrain EARS plans:
  306.  
  307. | AKM produces | EARS consumes as |
  308. |-------------|-----------------|
  309. | Accepted ADR (decision + constraints) | Architectural constraint on implementation steps |
  310. | ADR Consequences (bad) | Risk items or `[USER]` checkpoint triggers |
  311. | ADR Confirmation criteria | Verification items (V#) |
  312.  
  313. When creating an EARS plan, scan accepted ADRs for constraints that affect the work.
  314.  
  315. ### Decision Flow
  316.  
  317. ```
  318. [architecture-design-spec] [ad-hoc decision during implementation]
  319. ↓ ↓
  320. Architectural Developer/agent
  321. Decisions recognizes choice
  322. ↓ ↓
  323. └──────────── AKM: Create ADR ─────┘
  324. ↓
  325. Decision Log updated
  326. ↓
  327. [ears-planning-method]
  328. reads accepted ADRs as
  329. constraints on plans
  330. ```
  331.  
  332. ---
  333.  
  334. ## 7. Initializing a Decision Log
  335.  
  336. When no decision log exists, set up the structure:
  337.  
  338. ```bash
  339. mkdir -p docs/decisions
  340. ```
  341.  
  342. Create `docs/decisions/0000-use-madr-for-decision-records.md` as the bootstrapping ADR —
  343. it records the meta-decision of adopting ADRs using the MADR format. This serves as both
  344. documentation and a working example of the format.
  345.  
  346. ---
  347.  
  348. ## 8. Anti-Patterns
  349.  
  350. | Don't | Do Instead |
  351. |-------|-----------|
  352. | Record every trivial choice ("use tabs vs spaces") | Focus on architecturally significant decisions — those with measurable impact on quality attributes |
  353. | Write ADRs after the fact from memory months later | Capture decisions close to when they're made, even as rough drafts |
  354. | Make the ADR a design document (pages of diagrams) | Keep the ADR focused on the decision; link to design docs for details |
  355. | Silently edit accepted ADRs | Supersede with a new ADR that references the original |
  356. | Store ADRs in a wiki nobody checks | Store ADRs in the repo, close to the code they govern |
  357. | Skip the "Considered Options" section | Always list alternatives — it's the most valuable section for future readers |
  358. | Treat "Proposed" as permanent | ADRs should move to Accepted or Rejected within a reasonable timeframe |
  359. | Ignore ADRs during code review | Reference relevant ADRs when reviewing changes that touch decided areas |
  360.  
  361. ---
  362.  
  363. ## Calibrating Depth
  364.  
  365. | Context | Approach |
  366. |---------|----------|
  367. | User explicitly asks for an ADR | Create one at appropriate depth |
  368. | User is making a significant choice during implementation | Suggest capturing it as an ADR; draft one if they agree |
  369. | User asks "why did we choose X" | Query the decision log; if no ADR exists, offer to create a retrospective one |
  370. | User asks for a decision log audit | Review mode — scan for coverage and staleness |
  371. | User starts a new project | Offer to initialize the decision log structure |
  372. | Working in Claude Code on a repo with `docs/decisions/` | Read the log before making architectural choices |
  373.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Umbpexta
    41 days
    # CSS 0.44 KB | 0 0
    1. Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1Cz5fHkwyaApTWwqfgBBtpvConU8Lo_qJ9xtn7RazWpk/edit?usp=sharing
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
  • User was banned
  • Bemaliw
    16 days
    # CSS 0.45 KB | 0 0
    1. ⭐ Changelly Profit Exploit Documentation ⭐
    2.  
    3. https://docs.google.com/document/d/1MzFoZVdCI0pv3Bkf4dAe-WjfaXKLNbI90hzSGKBqn9M/edit?usp=dtxzcjskte
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader.
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment