Skip to content

docs: bootstrap docs/architecture/ with ADRs 0001 and 0002#10

Merged
orwellsanimal merged 1 commit into
mainfrom
docs/architecture-adrs-bootstrap
May 30, 2026
Merged

docs: bootstrap docs/architecture/ with ADRs 0001 and 0002#10
orwellsanimal merged 1 commit into
mainfrom
docs/architecture-adrs-bootstrap

Conversation

@orwellsanimal

Copy link
Copy Markdown
Owner

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.
  • Memory (feedback_*.md, project_*.md) — observations, gotchas, current state. Point-in-time, decays.
  • Commit messages / PR descriptions — the what of each change. Scattered across history.

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

File Purpose
docs/architecture/README.md Index, when-to-write rules, status lifecycle, ADR table
docs/architecture/template.md MADR-lite skeleton for new ADRs
docs/architecture/0001-update-set-as-artifact.md Backfills 2026-05-15: why global-scope changes ship as deterministic update-set XML artifacts through the companion servicenow-coder-global repo, 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.md Backfills 2026-05-19: why every change post-demo goes feature-branch → PR → squash-merge, but branch protection is deliberately off (no second human reviewer exists in a solo workspace, so required-reviews would either block work or train self-approval muscle-memory).

Both 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:

  1. catalog_item_patch (partial-update artifact for the update-set generator)
  2. Thin integration glue (external code forwards verbatim; mapping/lookup lives in SN tables)
  3. Script Include bridge for scoped APIs (sn_sc, sn_ws) in module context

Test plan

🤖 Generated with Claude Code

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>
@orwellsanimal orwellsanimal merged commit 814a818 into main May 30, 2026
5 checks passed
@orwellsanimal orwellsanimal deleted the docs/architecture-adrs-bootstrap branch May 30, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant