Skip to content

ADR 0034 documentation standard publication - #842

Open
MGibson1 wants to merge 11 commits into
mainfrom
arch/docs/documentation-standard-publication
Open

ADR 0034 documentation standard publication#842
MGibson1 wants to merge 11 commits into
mainfrom
arch/docs/documentation-standard-publication

Conversation

@MGibson1

@MGibson1 MGibson1 commented Aug 4, 2026

Copy link
Copy Markdown
Member

📔 Objective

Approve and publish unified documentation standard.

Related PRs:

Comment thread .claude/CLAUDE.md
Comment on lines +111 to +113
- Follow the MADR structure from the template on the ADR index (`docs/architecture/adr/index.mdx`):
frontmatter (`adr`, `status`, `date`, `tags`), Context and problem statement, Considered options,
Decision outcome

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@withinfocus withinfocus added the ai-review Request a Claude code review label Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

Reviewed the .claude/CLAUDE.md ADR-structure pointer, the publication of ADR-0034 (status flipped
to Accepted), the new docs/contributing/documentation/ section (standard index, component
documentation, runbook template), the move of the diagram standard into that section, and the ADR
template added to the ADR index. The .claude/CLAUDE.md change points at a real file
(docs/architecture/adr/index.mdx) whose new Format section carries the MADR template, and the
frontmatter keys it names (adr, status, date, tags) match that template exactly; no secrets,
permission grants, or tool-access changes are involved, and .claude/settings.json is unchanged.
The doc-currencydoc-parity rename is consistent across diagrams.md and
documentation/index.md and matches the plugin name in bitwarden/ai-plugins
(plugins/bitwarden-doc-parity), with no stale doc-currency references left in the tree.

Code Review Details

No findings.

Verification performed: every relative link and reference definition in the new documentation
section resolves to an existing file; all in-page anchors (#notation,
#where-documentation-lives-rules-1-2, #changes-to-this-standard, #private-content,
#decision-rule, #style-guide-rule-5) match real heading slugs; the diagram standard move leaves
no inbound reference to contributing/diagrams.md; sidebar positions in the new documentation/
category do not collide with siblings under Contributing; and the new standards documents comply
with the rules they publish (audience callouts present, Notation sections up front, sentence-case
headings, no contractions). ADR-0034's Plan names the per-repo adoption work, so the doc-parity
adoption requirement is not a silently grandfathered violation.

Comment on lines +178 to +179
audience callout necessary. Every isolated (not directly attached to code) document MUST include an
audience the document is written for.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QUESTION: Does rule 3's audience requirement apply to ADRs?

Context

The ADR template added in this PR (docs/architecture/adr/index.mdx, Format section) has no audience callout, and neither does ADR-0034. ADRs are isolated documents, so as written every ADR on the site is a rule 3 violation — and "Changes to this standard" says existing violations are named, never silently grandfathered.

Either the ADR template carries an audience line, or this section states that ADRs are exempt because the audience is implicit.

@withinfocus withinfocus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where's the CF Pages preview?

Comment thread .claude/CLAUDE.md
Comment on lines +111 to +113
- Follow the MADR structure from the template on the ADR index (`docs/architecture/adr/index.mdx`):
frontmatter (`adr`, `status`, `date`, `tags`), Context and problem statement, Considered options,
Decision outcome

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment thread custom-words.txt Outdated
Audit showed that clients was the one that needed attention, but drift may occur between proposal and acceptance. We need to bring all repos up to compliance
@MGibson1
MGibson1 changed the base branch from main to arch/adr/0034-documentation-standard August 5, 2026 17:48
@MGibson1
MGibson1 force-pushed the arch/docs/documentation-standard-publication branch from d6939b4 to a98cbc3 Compare August 5, 2026 18:10
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 5, 2026

Copy link
Copy Markdown

Deploying contributing-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 665bd2a
Status: ✅  Deploy successful!
Preview URL: https://0164273d.contributing-docs.pages.dev
Branch Preview URL: https://arch-docs-documentation-stan.contributing-docs.pages.dev

View logs

@withinfocus withinfocus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me but will wait until the ADR is approved.

Base automatically changed from arch/adr/0034-documentation-standard to main August 7, 2026 15:41
@MGibson1
MGibson1 marked this pull request as ready for review August 11, 2026 17:24
@MGibson1
MGibson1 requested review from a team as code owners August 11, 2026 17:24
@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Claude Configuration Review — PR #842

Verdict: ✅ Approve — no critical or major issues found.

Scope reviewed: .claude/CLAUDE.md (the only Claude file changed in this PR), plus a security pass
over the rest of .claude/.


What changed

The PR makes a single, four-line edit to .claude/CLAUDE.md under ### Architecture documentation:

 - ADRs go in `docs/architecture/adr/` with format `####-title.md`
-- Follow existing ADR structure (Status, Context, Decision, Consequences)
+- Follow the MADR structure from the template on the ADR index (`docs/architecture/adr/index.mdx`):
+  frontmatter (`adr`, `status`, `date`, `tags`), Context and problem statement, Considered options,
+  Decision outcome

This keeps the repo's Claude instructions in sync with the MADR standard that the rest of the PR
publishes. Verified against docs/architecture/adr/index.mdx:78-138, which documents the MADR
structure and contains the ADR template:

Claim in the new text Verified against
Template lives on the ADR index docs/architecture/adr/index.mdx:87-138 (<details> "ADR template")
Frontmatter adr, status, date, tags index.mdx:93-98 — exact match, all four fields
Section "Context and problem statement" index.mdx:107
Section "Considered options" index.mdx:112
Section "Decision outcome" index.mdx:120
MADR is the governing structure index.mdx:80-81

Every claim in the added text is accurate. The old text it replaces (Status, Context, Decision, Consequences) no longer matched the template, so this edit fixes a real drift.


1. Plugin validation — skipped (not applicable)

No plugin directories changed and this repository contains no plugin.json manifest or plugin
component tree. The plugin-validator agent was not run.

2. Skill review — skipped (not applicable)

No SKILL.md files were changed or exist in this repository. The skill-reviewer agent was not run.

3. Configuration & security review — run (reviewing-claude-config)

Security scan — ✅ clean

Check Result
settings.local.json committed to git Not tracked ✅
Hardcoded secrets / API keys / tokens / passwords in .claude/ None found (regex sweep for api_key, secret, password, token, bearer, sk-*, ghp_*, AKIA*) ✅
Dangerous command auto-approvals .claude/settings.json declares no permissions block — nothing auto-approved ✅
Overly broad file access permissions None declared ✅
Sensitive paths exposed in instructions None ✅
Tracked files under .claude/ Only CLAUDE.md and settings.json

.claude/settings.json contains only attribution (empty commit/PR attribution strings) and
extraKnownMarketplaces pointing at the first-party bitwarden/ai-plugins GitHub repo. It uses the
github source type rather than an arbitrary URL, and is unchanged by this PR.

Structure & reference integrity — ✅ clean

All twelve paths referenced by CLAUDE.md resolve on disk, including the newly added
docs/architecture/adr/index.mdx. No broken file references.

The file is 122 lines / ~570 words — well within a healthy size for a project CLAUDE.md, with clear
section headers, core directives stated upfront, and detail delegated to referenced docs rather than
duplicated.

Findings

No errors (must-fix). Two minor observations (should-fix / optional), neither blocking:

Minor — .claude/CLAUDE.md:32 — invalid npm invocation (pre-existing, not touched by this PR)

npm start:insecure     # Start without SSL

start:insecure is not an npm lifecycle script, so this command fails as written. It should be:

npm run start:insecure # Start without SSL

Confirmed against package.json, which defines start:insecure as a regular (non-lifecycle) script.
npm start on the line above is correct, since start is a lifecycle script. This predates the PR
— worth a follow-up commit rather than a blocker here.

Suggested — .claude/CLAUDE.md:111-113 — inline structure summary can drift from the template

The new bullet both points at the authoritative template and restates its frontmatter fields and
section names. That inline summary is genuinely useful for one-shot context, but it is the same class
of duplication that just caused the stale Status, Context, Decision, Consequences text this PR is
fixing. Two equally reasonable options:

  • Keep as-is (recommended) — the summary is short, currently accurate, and saves Claude a file
    read; the template link makes the source of truth unambiguous.
  • Trim to the pointerFollow the MADR template on the ADR index (docs/architecture/adr/index.mdx) — eliminates drift risk entirely at the cost of an extra read.

For completeness, the summary omits two template elements (the # NNNN - Short imperative title
heading and the <AdrTable frontMatter={frontMatter}></AdrTable> component at index.mdx:100-102).
Since the bullet directs readers to the template, this is not a defect.


Environment note

The checkout has an uncommitted working-tree modification that reverts this PR's CLAUDE.md
change
(git status shows M .claude/CLAUDE.md; the on-disk file still reads
Follow existing ADR structure (Status, Context, Decision, Consequences)). This appears to be an
artifact of the review environment, not part of the PR. This review evaluated the committed PR
head
as reported by gh pr diff 842, which contains the MADR text. No action needed on the PR;
flagging only so the discrepancy is not mistaken for a finding.


Summary

Severity Count
Critical 0
Major 0
Minor / Suggested 2 (one pre-existing, one optional)

The CLAUDE.md change is accurate, verified line-by-line against docs/architecture/adr/index.mdx,
correctly resolves drift between the Claude instructions and the ADR template, and introduces no
security or structural issues. Safe to merge.

@withinfocus withinfocus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, but holding until Council occurs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adr ai-review Request a Claude code review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants