BXUP Track progress & test yourself — free
Cloud & Solutions Architecture · Playbook · Core · ~4 min read
CLOUD & SOLUTIONS ARCHITECTURE · PLAYBOOK · CORE

ADR Mining from Slack, Wikis & PR History

Your organization's most important architecture decisions were made in Slack threads and PR comments, and never written down. This playbook mines those exports for implicit decisions and drafts a backlog of retroactive ADRs — every one of which is a hypothesis until a human who was there validates it.

Tier: Core · Hands-on time: ~30 minutes

Tribal knowledge capture is the documentation debt every architecture practice carries: the queue standard exists because of an outage in 2023, the ORM ban traces to a PR argument nobody can find. LLMs are well suited to the mining half — reading thousands of messages and spotting decision-shaped exchanges is exactly the summarization work models do reliably. The trap is the second half: a mined "decision" is an inference from fragments, and models will confidently reconstruct rationales that were never anyone's reasoning. So the pipeline is AI-mines, human-validates, and no retroactive ADR files without a witness or strong documentary evidence.

When to use

  • Onboarding friction keeps producing the same questions ("why do we…?") whose answers live only in veterans' heads.
  • A platform is being handed between teams and its constraint history must move with it.
  • You are building the pb-18 knowledge base and the ADR corpus has obvious holes where the real decisions happened.

Skip AI when the history is small enough to read — one team's quarter of Slack is an afternoon with coffee, not a pipeline.

Prerequisites

  • Exports, with permissionSlack channel exports, wiki dumps, PR discussion history for the relevant repos. Check your org's data-handling policy: internal chat can contain HR-sensitive and personal content, and mining it is a governance decision, not just a technical one.
  • An LLM API workflow (long-context model or a scripted chunked pass) — this corpus rarely fits one prompt; enterprise search (Glean-class) narrows the haystack first if you have it.
  • The existing ADR logso mining targets gaps, not duplicates.
  • Access to veteransthe validation step needs people who were present; without any, mined ADRs cap at "reconstructed, unconfirmed" status.

The workflow

  1. Scope by question, not by archive. Mine for named unknowns: Sameer's GCC list was "why index-per-tenant was abandoned, why the gateway standard is what it is, why region X is prohibited for workload Y." A general trawl of #architecture produces hundreds of decision-ish fragments and no usable backlog; a targeted pass produces evidence.

  2. Mine with an evidence-or-silence rule.

    You are mining exported discussions for undocumented architecture
    decisions. Corpus: #platform-arch Slack export (Jan–Dec 2025) and PR
    discussions from the landing-zone repo, provided below in chunks.
    
    For each candidate decision you find, emit:
    - DECISION (one sentence, as specific as the evidence allows)
    - EVIDENCE: verbatim quotes with author handle + date, minimum 2
      independent messages; a single message is a REMARK, not a decision
    - PARTICIPANTS: who argued, who appears to have decided
    - APPARENT RATIONALE: only what the quotes state — mark anything
      you inferred as INFERRED
    - STATUS SIGNALS: any later message suggesting reversal or drift
    - CONFIDENCE: high / medium / low, with one line why
    
    Do not merge separate discussions into one decision. Do not fill
    gaps with what a sensible team would have decided. Unresolved
    arguments are OPEN QUESTIONS, not decisions.
    ###
    [chunk]
    
  3. Deduplicate and rank the candidate list. Merge candidates the model found in both Slack and PR history (same decision, two venues — good corroboration), drop anything already in the ADR log, and rank by blast radius: decisions still constraining current work validate first. This triage is yours; the model does not know which constraints still bind.

  4. Validate with witnesses, evidence in hand. Take each high-priority candidate to a participant: here is the quoted thread, here is the reconstructed decision — is this right, is it still in force, what is missing? Fifteen minutes with the right veteran converts an inference into a record. Where no witness remains, the documentary evidence must stand alone: multiple corroborating quotes, and the ADR labeled "reconstructed from history, unwitnessed."

  5. Draft the retroactive ADRs via pb-14, with provenance. Each validated decision goes through the standard drafting playbook, with two additions: a provenance block (mined from [source], validated by [witness], [date]) and the original quotes as an appendix. Status is "accepted — retroactive"; INFERRED rationale that the witness did not confirm gets cut, not kept as color.

  6. File the leftovers honestly. The mining pass will surface decisions apparently reversed by later practice, open arguments that never resolved, and low-confidence fragments. These become, respectively: candidate superseded-ADR pairs, an open-questions list for the architecture forum, and nothing — low-confidence unwitnessed fragments are noise, and filing them as records launders speculation into history.

Verify before you trust it

  • Every quote exists in the export. Spot-check by searching the source files for the quoted text. Models paraphrase-then-quote under summarization pressure; a "verbatim" quote that is actually a paraphrase changes what someone said in a permanent record with their name on it.
  • Attribution is exact. Handle, date, and channel — verified for any ADR that names participants. Misattributed positions in retroactive records are how mining projects lose the room's cooperation.
  • The INFERRED tags survived to the validation step. If the drafted ADRs contain rationale that appears in no quote and no witness confirmation, the pipeline leaked inference into record — audit where, and re-check the batch.
  • Witness sign-off is recorded, not assumed. "Sent to Priya" is not validation; her reply is. The provenance block carries the confirmation, because the next architect will reasonably ask how you know.

Restricted-environment variant

Chat exports are the most sensitive corpus in this track — personal remarks, client names, and commercial context interleaved with the technical history. Default to processing inside the boundary: your firm's enterprise tenancy or a local model via Ollama for the mining pass; never a consumer chat tool for raw Slack exports. Pre-filter mechanically where policy requires: strip DMs entirely, restrict to named public channels, and run a redaction pass (names to handles-only, client identifiers to placeholders) before the model reads anything. For client-owned history (mining a client's repos under an engagement), the pb-03 register governs — typically client-tenancy endpoints only, and the validated ADRs belong to the client's log, not yours.

Remember:

Mining produces hypotheses about history, not history. The quotes are evidence, the witness is the authority, and an unvalidated retroactive ADR is fan fiction with a decision number.

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in