why · git:20261101.8be107b · 2026-11-01 · sha256 56cf1aef0d624a25
why git:20261101.8be107bA
Immutable. This exact content never changes and is served at /api/v1/blob/56cf1aef0d624a25.
--- name: why description: "Investigate design rationale, regressions and trade-offs using Git history and relevant authorized records; distinguish documented intent from inference." --- # Why Follow the consuming project's instructions and requested scope; use the [portable defaults](../orbyn-workflow/references/project-policy.md) only where guidance is missing. ## Method 1. **Anchor the question** in the changed code, symbol or behavior. Treat the user's proposed explanation as a hypothesis. 2. **Locate introducing and corrective commits** with scoped `git log`, `git blame` and diffs. Read the relevant diff and surrounding source, because line attribution alone does not establish intent. 3. **Read linked ADRs, issues, PR discussions and design records** only to answer the current question. Expand to other available authorized records only to resolve a specific gap. Do not search all connected accounts or private chats by default. 4. **Record direct rationale, contrary evidence, plausible alternatives and inference separately.** Code establishes mechanics, not necessarily motivation. A later comment can describe current policy without proving why the original implementation was chosen. 5. **Return the supported explanation** with sources, inference and unknowns. If work will change the design, name the constraints to preserve and the decisions to revisit. Describe the searched boundary: an empty bounded search means no rationale was found in that scope, and does not prove no record ever existed. Take a worker that uses a lease instead of a process-local lock. Inspect the introducing change and related recovery contract. Source can establish cross-process expiry and recovery behavior; only a linked rationale or other authorized record can establish why the original author selected it. A linked design note may show crash-recovery motivation. If that note is absent, report the mechanism as confirmed and the motivation as inferred, with the searched history boundary. ## Investigation limits Do not create tickets or issues, message authors or send other messages while investigating or merely to complete a historical explanation. For substantial historical investigation, the lead delegates bounded evidence questions to named Orbyn Investigators under the [workflow](../orbyn-workflow/SKILL.md), then inspects their cited records and owns the explanation. Narrow questions and children assigned a slice proceed directly. ## Recover the introducing decision When last-touch blame misses the origin, use scoped rename-following history and symbol/string introduction search (`git log --follow` for a selected file and pickaxe `-S`/`-G` for the relevant symbol), then inspect the introducing diff. Treat a later move/sync commit as a possible carrier rather than the decision or defect origin. Read material discussion, parent/duplicate chains and the finalized outcome before treating an issue title or preview as rationale; a final reversal can supersede its proposal. Bound the investigation by the unresolved question rather than scanning all history. ## Authorized operational records - Distinguish a bounded empty query from missing authentication, expired retention or unavailable history. - Discover the actual tool/schema, select a relevant time/release/environment window and poll the same asynchronous query identity instead of resubmitting costly scans. - Preserve denominator, sampling, refresh and instrumentation/schema changes before interpreting volume as adoption or causality. - Representative primary events support relevance; generated diagnoses remain hypotheses. - No connector installation, capture or cross-account search follows.