docs: bootstrap docs/architecture/ with ADRs 0001 and 0002#10
Merged
Conversation
Establishes Tier 2 of the architecture-grounding strategy (project_architecture_grounding.md): MADR-lite ADRs as the durable record for non-obvious decisions. CLAUDE.md captures conventions; memory captures gotchas; ADRs capture the choices. - README.md index, when-to-write rules, status lifecycle - template.md MADR-lite skeleton - 0001 Update-set XML as the deployment artifact for global-scope changes (backfills the 2026-05-15 decision) - 0002 Issue -> PR -> merge as the standing working agreement (backfills the 2026-05-19 demo trigger) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Establishes Tier 2 of the architecture-grounding strategy: a
docs/architecture/directory with MADR-lite Architecture Decision Records as the durable record for non-obvious choices. Adds the bootstrap files (README, template) plus the first two ADRs, both of which backfill decisions already made and exercised in this repo.What's an ADR, and why now?
We already had three places that captured something about decisions:
CLAUDE.md— conventions and rules the agent must follow today. Mutable, present-tense.feedback_*.md,project_*.md) — observations, gotchas, current state. Point-in-time, decays.None of those answers the question "why did we pick this fork in the road, and what did we reject?" a month or six months later. ADRs are short, dated, immutable markdown files that capture exactly that — the choice, the rejected alternatives, the consequences we accepted. They keep the workspace coherent across sessions (human or AI) and explain to future contributors how the repo got here.
Format is MADR-lite: Status / Context / Options considered / Decision / Consequences / Related. One page is the target; two is the ceiling. Once Accepted, an ADR is immutable — supersede with a new one, don't edit history.
What's in this PR
docs/architecture/README.mddocs/architecture/template.mddocs/architecture/0001-update-set-as-artifact.mdservicenow-coder-globalrepo, reviewed in a PR and imported via Studio + CICD API. Captures the four rejected alternatives (Studio-linked repo, PySNC direct writes, accepting the gap, ServiceNow DevOps) and the deliberate trade of speed for audit.docs/architecture/0002-issue-pr-merge-workflow.mdBoth ADRs reflect choices that have already shipped and been exercised in the repo — 0001 is the basis for PRs #1, #2, #4, #6 in
servicenow-coder-global; 0002 is the basis for every PR in this repo from #1 (2026-05-20) forward, including this one.Tier context
The Tier 2 bootstrap is recorded in
project_architecture_grounding.md(memory). Tier 1 (SDK + examples + platform-docs submodules) was already in place. Tier 3 (additional ServiceNow GitHub repos as submodules) and Tier 4 (CTA blueprint topics) remain deferred until a concrete need surfaces.ADR backlog
Three pre-identified decisions remain on the backfill list, to be written one at a time as architecture comes up:
catalog_item_patch(partial-update artifact for the update-set generator)sn_sc,sn_ws) in module contextTest plan
README.mdADR table renders correctly on GitHub and links resolvetemplate.mdstructure (Status / Context / Options / Decision / Consequences / Related)scripts/build-update-set.js,scripts/python/preview-update-set.py,scripts/import-update-set.js,scratch/global-changes/)feedback_pr_workflow.md)🤖 Generated with Claude Code