Skip to content

fix(docs): relocate ADR content to clear briefing-budget warnings - #531

Merged
rhuanbarreto merged 3 commits into
mainfrom
claude/mutable-exploring-pixel
Jul 26, 2026
Merged

fix(docs): relocate ADR content to clear briefing-budget warnings#531
rhuanbarreto merged 3 commits into
mainfrom
claude/mutable-exploring-pixel

Conversation

@rhuanbarreto

Copy link
Copy Markdown
Contributor

Summary

  • archgate check flagged 7 Decision/Do's and Don'ts sections across 5 ADRs for exceeding review-context's 2000-char briefing cap.
  • Relocated the overflow (mechanism detail, rationale, enumerated identifiers) into new ## Key Definitions sections (ARCH-022, ARCH-024) or existing Consequences/Compliance and Enforcement paragraphs (ARCH-005, GEN-004), and tightened wording (ARCH-025) — nothing was deleted, only moved out of the capped sections.
  • Verified per-ADR against the original text with independent review agents (each handed the original section, asked to confirm every MUST/DON'T rule and identifier still appears somewhere in the file) — all four passed.
  • Removed four "briefing-budget floor" exception paragraphs added mid-session once they became unnecessary: they narrated the edit itself ("previously exceeded", "has been relocated"), which GEN-004 prohibits — including in Markdown, per its own Scope.

Test plan

  • archgate checkpass: true, briefingWarnings: [] (was 7)
  • bun run validate — full pipeline (lint, typecheck, format, tests, ADR check, knip, build) passes
  • archgate:reviewer skill — APPROVED, 0 violations
  • 4 independent content-fidelity verification agents — all PASS, no rule/identifier lost

archgate check flagged 7 Decision/Do's-and-Don'ts sections across 5
ADRs as exceeding review-context's 2000-char briefing cap. Move the
overflow (mechanism detail, rationale, enumerated identifiers) into
new Key Definitions sections or existing Consequences/Compliance
paragraphs instead of truncating, so nothing is lost — only relocated
out of the capped sections. Verified per-file against the originals
with independent review agents.

Drop the resulting "briefing-budget floor" exception paragraphs added
along the way: they narrated the edit itself ("previously exceeded",
"has been relocated"), which GEN-004 prohibits in project prose,
Markdown included.

Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@rhuanbarreto, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 39 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: dbe2da65-76ff-4d42-9120-966e7ba5d90c

📥 Commits

Reviewing files that changed from the base of the PR and between 488e3f2 and 2a6ddf4.

📒 Files selected for processing (3)
  • .archgate/adrs/ARCH-005-testing-standards.md
  • .archgate/adrs/ARCH-022-ast-aware-rule-context.md
  • .archgate/adrs/GEN-004-concise-forward-only-code-comments.md
📝 Walkthrough

Walkthrough

Updated several ADRs and related developer guidance. Testing documents now clarify mocking, teardown, environment restoration, parametrization, and matcher usage. The AST context ADR defines unified parsing, subprocess, guardrail, revision, and comment-extraction requirements. The rule sandbox ADR consolidates module and raw-text scanning rules. Comment guidance now specifies concise forward-only comments and enforcement details. New memory guidance documents relocation-based resolution of briefing-budget warnings.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: relocating ADR content to resolve briefing-budget warnings.
Description check ✅ Passed The description matches the changeset and explains the content relocation, wording cleanup, and validation performed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 26, 2026

Copy link
Copy Markdown

Deploying archgate-cli with  Cloudflare Pages  Cloudflare Pages

Latest commit: 2a6ddf4
Status: ✅  Deploy successful!
Preview URL: https://a3f4f3e2.archgate-cli.pages.dev
Branch Preview URL: https://claude-mutable-exploring-pix.archgate-cli.pages.dev

View logs

@github-actions

github-actions Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Code Coverage

Metric Value
Lines 91.3% (8354 / 9155)
Threshold 90% minimum — met
Platforms Linux + Windows

Full HTML report available in workflow artifacts.

Per-directory breakdown
Directory Coverage Lines
src/commands/ 88.7% 1966 / 2216
src/engine/ 93.8% 2230 / 2378
src/formats/ 98.7% 148 / 150
src/helpers/ 90.9% 4010 / 4411

Not operational knowledge — the PR and its commits already record
what happened and why. Nothing here survives that the git history
doesn't already carry.

Signed-off-by: Rhuan Barreto <rhuan@barreto.work>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.archgate/adrs/ARCH-005-testing-standards.md:
- Line 162: Update the NODE_ENV wording in the cross-file pollution bullet to
explicitly say it is “left unset instead of set to ‘test’,” while preserving the
existing explanation of Sentry initialization behavior.
- Line 46: Update the testing guidance and examples at the fetch-mocking
references to require saving the original globalThis.fetch before direct
replacement and restoring it during teardown. Keep mock.restore() for Bun mocks
and spies, but do not rely on it to undo direct fetch assignments; apply this
consistently at both documented locations.

In @.archgate/adrs/ARCH-022-ast-aware-rule-context.md:
- Line 43: Clarify the guardrail ordering in the ADR around the “Guardrail
ordering” requirement and probeInterpreter flow: path and language checks must
run first, followed by the guarded interpreter probe as the first sanctioned
subprocess, then the guarded real invocation. Explicitly state that no unguarded
subprocess may occur, while preserving the requirement that all guardrails
execute inside createRuleContext().

In @.archgate/adrs/GEN-004-concise-forward-only-code-comments.md:
- Around line 49-50: Add `@satisfies` to the structural-tag exemption list in ADR
GEN-004, matching the companion ruleset and the identical-list claim at the
referenced synchronization point. Keep both enforcement-layer tag lists
synchronized without changing the narrative-tag exclusions.

In
@.claude/agent-memory/archgate-developer/feedback_briefing_budget_exceptions.md:
- Line 21: Update the procedure reference in the “How to apply” guidance from
“five-step loop” to “six-step loop,” leaving the six numbered steps and all
other wording unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 03441973-7d09-412a-9c67-f06df336b9bf

📥 Commits

Reviewing files that changed from the base of the PR and between a597cbd and 488e3f2.

📒 Files selected for processing (7)
  • .archgate/adrs/ARCH-005-testing-standards.md
  • .archgate/adrs/ARCH-022-ast-aware-rule-context.md
  • .archgate/adrs/ARCH-024-rule-file-sandbox-boundary.md
  • .archgate/adrs/ARCH-025-idiomatic-bun-test-parametrization-and-matchers.md
  • .archgate/adrs/GEN-004-concise-forward-only-code-comments.md
  • .claude/agent-memory/archgate-developer/MEMORY.md
  • .claude/agent-memory/archgate-developer/feedback_briefing_budget_exceptions.md
📜 Review details
⏰ Context from checks skipped due to timeout. (3)
  • GitHub Check: Analyze (csharp)
  • GitHub Check: Smoke Test (Windows) / Windows
  • GitHub Check: Cloudflare Pages
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: CR
Repo: archgate/cli

Timestamp: 2026-07-26T10:38:38.734Z
Learning: Any proposal to widen `ALLOWED_MODULES` beyond `node:` specifiers, follow imports transitively, or remove import-time scanning must be documented in a separate ADR and approved by the project maintainer.
Learnt from: CR
Repo: archgate/cli

Timestamp: 2026-07-26T10:38:49.454Z
Learning: The narration-pattern lists and structured-documentation tag lists in the oxlint rules and companion Archgate rules MUST remain synchronized; changes to either must update both layers in the same change.
📚 Learning: 2026-06-11T12:50:28.661Z
Learnt from: rhuanbarreto
Repo: archgate/cli PR: 406
File: .claude/agent-memory/archgate-developer/feedback_prefer_tests_over_adr_rules.md:8-18
Timestamp: 2026-06-11T12:50:28.661Z
Learning: In `archgate/cli`, for markdown files under `.claude/agent-memory/`, follow the established convention: use YAML frontmatter (with a `name:` field used as the document title) and do not require a top-level `#` (H1) heading. During code review, do not flag missing first-line/first-top-level H1 headings (e.g., MD041) for these agent-memory files since markdownlint is not part of the repo’s `bun run validate` lint pipeline (oxlint/oxfmt only).

Applied to files:

  • .claude/agent-memory/archgate-developer/MEMORY.md
  • .claude/agent-memory/archgate-developer/feedback_briefing_budget_exceptions.md
📚 Learning: 2026-07-25T00:05:20.592Z
Learnt from: rhuanbarreto
Repo: archgate/cli PR: 496
File: .claude/agent-memory/archgate-developer/project_test_isolation_gotchas.md:10-10
Timestamp: 2026-07-25T00:05:20.592Z
Learning: When reviewing documentation/agent-memory entries under `.claude/agent-memory/**`, do not enforce GEN-004’s “forward-only” comment/narrative requirement. These entries are allowed to keep historical/past-tense incident narratives and dated markers (e.g., `Found YYYY-MM-DD`) because the context is intended to help future agents evaluate edge cases. Outside this scope, GEN-004’s forward-only rule should still apply.

Applied to files:

  • .claude/agent-memory/archgate-developer/MEMORY.md
  • .claude/agent-memory/archgate-developer/feedback_briefing_budget_exceptions.md
📚 Learning: 2026-07-11T13:03:15.386Z
Learnt from: rhuanbarreto
Repo: archgate/cli PR: 467
File: .archgate/adrs/ARCH-011-consistent-project-root-resolution.md:0-0
Timestamp: 2026-07-11T13:03:15.386Z
Learning: For Markdown files formatted by oxfmt (especially ADRs), avoid inline code spans that contain escaped backticks, e.g. `\`...\`` inside a single `` `...` `` span. oxfmt may mis-parse these and, on re-format, can collapse spaces after later inline code spans on the same line, effectively removing any manually re-added spacing. Instead, rephrase the text so the message stays plain quoted text, and put any embedded command/fragment that needs code formatting (e.g., `archgate init`) in its own separate inline code span; keep surrounding punctuation/spacing outside the code span.

Applied to files:

  • .archgate/adrs/ARCH-025-idiomatic-bun-test-parametrization-and-matchers.md
  • .archgate/adrs/ARCH-024-rule-file-sandbox-boundary.md
  • .archgate/adrs/GEN-004-concise-forward-only-code-comments.md
  • .archgate/adrs/ARCH-005-testing-standards.md
  • .archgate/adrs/ARCH-022-ast-aware-rule-context.md
📚 Learning: 2026-07-25T16:24:51.133Z
Learnt from: rhuanbarreto
Repo: archgate/cli PR: 501
File: .archgate/adrs/ARCH-003-output-formatting.md:0-0
Timestamp: 2026-07-25T16:24:51.133Z
Learning: In Archgate ADRs (.archgate/adrs/*.md), omit quantitative claims (e.g., token savings, benchmarks, performance deltas) unless they are backed by a reproducible measurement and supported by a single cited reference. If you cannot satisfy both (reproducible measurement + exactly one cited reference), describe the benefit qualitatively and tie it to the relevant policy/requirements instead of using numeric estimates.

Applied to files:

  • .archgate/adrs/ARCH-025-idiomatic-bun-test-parametrization-and-matchers.md
  • .archgate/adrs/ARCH-024-rule-file-sandbox-boundary.md
  • .archgate/adrs/GEN-004-concise-forward-only-code-comments.md
  • .archgate/adrs/ARCH-005-testing-standards.md
  • .archgate/adrs/ARCH-022-ast-aware-rule-context.md
📚 Learning: 2026-07-25T22:03:17.073Z
Learnt from: rhuanbarreto
Repo: archgate/cli PR: 501
File: .archgate/adrs/ARCH-015-cli-command-documentation-coverage.md:17-18
Timestamp: 2026-07-25T22:03:17.073Z
Learning: When updating an ADR that documents rule discovery/enforcement behavior, ensure the ADR’s stated discovery contract matches the implementation in code. If the rule only discovers commands by scanning `src/commands/*.ts` and `src/commands/*/index.ts`, the ADR must not claim it also inspects command registration calls elsewhere (e.g., `src/cli.ts`). Any ADR language that changes the documented contract should be treated as a normative change to behavior and aligned with the corresponding implementation/issue, not as prose-only documentation compression.

Applied to files:

  • .archgate/adrs/ARCH-025-idiomatic-bun-test-parametrization-and-matchers.md
  • .archgate/adrs/ARCH-024-rule-file-sandbox-boundary.md
  • .archgate/adrs/GEN-004-concise-forward-only-code-comments.md
  • .archgate/adrs/ARCH-005-testing-standards.md
  • .archgate/adrs/ARCH-022-ast-aware-rule-context.md
🪛 LanguageTool
.archgate/adrs/ARCH-025-idiomatic-bun-test-parametrization-and-matchers.md

[style] ~44-~44: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ated tests, not just one assertion. - DO pass array rows ([a, b, expected]) ...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...named fields (title with $field). - DO assert derived comparisons directly o...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~46-~46: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...(expected)/.toEqual(expected). - **DO** match the matcher to the check: .toC...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~53-~53: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...toBe(b)/.not.toBe(b)directly. - **DON'T** collapse.some(predicate)/.ever...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

.archgate/adrs/GEN-004-concise-forward-only-code-comments.md

[style] ~93-~93: Consider a different adjective to strengthen your wording.
Context: ...ering one decision from both sides. - Deep context survives: Rationale moves to ...

(DEEP_PROFOUND)

.archgate/adrs/ARCH-005-testing-standards.md

[style] ~42-~42: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ive names, never private internals. - DO restore env vars with `restoreEnv(key...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~43-~43: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: .../test-utils.ts) for every capture. - **DO** close external SDK instances with aw...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~44-~44: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...close()in hooks, not test bodies. - **DO** setgit config user.email/user.nam...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~45-~45: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...fter git init, before any commit. - DO assert with expect() — `bun-test/ex...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~46-~46: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...skip/test.todofor placeholders. - **DO** mock fetch viaglobalThis.fetch`, re...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~47-~47: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ch, restored via mock.restore(). - **DO** wrap inline spyOn/mockImplementati...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~48-~48: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ssertion, or manage spies in hooks. - DO make thresholds injectable, e.g. `res...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~49-~49: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...+ real files (Consequences: hangs). - DO mock first-party modules and `os.home...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~55-~55: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...er dodge via an -impl file split. - DON'T restore an env var with bare `Bun....

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[style] ~58-~58: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... only in CI (ShellPromise error). - DON'T touch real state — no real user-sc...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[grammar] ~58-~58: Ensure spelling is correct
Context: ...Promiseerror). - **DON'T** touch real state — no real user-scope paths, no unsetNODE_E...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)


[style] ~59-~59: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ... the writer or mock os.homedir(). - DON'T write assertion-less tests or skip...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🪛 markdownlint-cli2 (0.23.0)
.claude/agent-memory/archgate-developer/feedback_briefing_budget_exceptions.md

[warning] 8-8: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🔇 Additional comments (9)
.archgate/adrs/ARCH-022-ast-aware-rule-context.md (2)

31-42: LGTM!

Also applies to: 44-54, 62-74, 77-78, 81-102


75-76: 🗄️ Data Integrity & Integration

No Ruby comment envelope issue here.

Ruby now prints { _tree: sexp, comments }, and finalizeAstResult reconstructs (tree as { comments?: unknown }).comments = parsed.comments; the comment array is not serialized as a non-index property on the JSON boundary.

			> Likely an incorrect or invalid review comment.
.archgate/adrs/ARCH-024-rule-file-sandbox-boundary.md (2)

35-36: LGTM!

Also applies to: 46-51, 55-67, 71-104, 160-160, 167-169


52-54: 🔒 Security & Privacy

No change needed — import.meta["require"]() is already covered.

The escape test already asserts that computed import.meta["require"]() is blocked with a real position, alongside the dotted import.meta.require() case.

.archgate/adrs/GEN-004-concise-forward-only-code-comments.md (1)

42-47: LGTM!

Also applies to: 52-61, 93-93, 117-117, 127-127, 139-140

.claude/agent-memory/archgate-developer/MEMORY.md (1)

43-43: LGTM!

.claude/agent-memory/archgate-developer/feedback_briefing_budget_exceptions.md (1)

1-20: LGTM!

.archgate/adrs/ARCH-005-testing-standards.md (1)

40-45: LGTM!

Also applies to: 47-49, 53-59, 154-161, 163-163, 182-184, 186-188

.archgate/adrs/ARCH-025-idiomatic-bun-test-parametrization-and-matchers.md (1)

42-55: LGTM!

Comment thread .archgate/adrs/ARCH-005-testing-standards.md Outdated
Comment thread .archgate/adrs/ARCH-005-testing-standards.md Outdated
Comment thread .archgate/adrs/ARCH-022-ast-aware-rule-context.md Outdated
Comment thread .archgate/adrs/GEN-004-concise-forward-only-code-comments.md Outdated
Comment thread .claude/agent-memory/archgate-developer/feedback_briefing_budget_exceptions.md Outdated
Address CodeRabbit findings, verified against actual code before
applying:

- ARCH-005: globalThis.fetch mocking guidance wrongly implied
  mock.restore() undoes a direct assignment — it only restores
  spyOn()/mock()-created mocks. Fixed the Do's/Don'ts item, the
  Manual Enforcement item, and the Implementation Pattern example to
  match the save-and-reassign pattern already used in
  tests/commands/upgrade.test.ts and tests/helpers/auth.test.ts.
- ARCH-005: fixed garbled NODE_ENV wording in the cross-file
  pollution risk bullet ("left unset to \"test\"" -> "left unset
  instead of set to \"test\"").
- ARCH-022: clarified guardrail-ordering clause 3, which read as if
  all four guardrail steps run "before any subprocess" even though
  steps 3-4 (interpreter probe, guarded invocation) are themselves
  subprocess spawns.
- GEN-004: added @argument, @prop, and @Satisfies to the Decision's
  structural-tag exemption list — both enforcement layers
  (.archgate/lint/concise-comments.ts and the companion .rules.ts)
  already treat these as structural; only the ADR's own prose list
  was out of sync.

Signed-off-by: Rhuan Barreto <rhuan@barreto.work>
@rhuanbarreto
rhuanbarreto merged commit c7419b3 into main Jul 26, 2026
22 checks passed
@rhuanbarreto
rhuanbarreto deleted the claude/mutable-exploring-pixel branch July 26, 2026 11:03
@archgatebot archgatebot Bot mentioned this pull request Jul 26, 2026
rhuanbarreto pushed a commit that referenced this pull request Jul 26, 2026
# archgate

## [0.51.0](v0.50.0...v0.51.0)
(2026-07-26)

### Features

* **adrs:** enforce concise, forward-only code comments (GEN-004)
([#496](#496))
([9a114b3](9a114b3)),
references [#2123](https://github.com/archgate/cli/issues/2123)
* **adrs:** flag stray files at the repository root (GEN-005)
([#535](#535))
([6a6e765](6a6e765)),
closes [#514](#514), references
[#500](#500)
* **engine:** add ctx.readYAML and ctx.checkCase rule helpers
([#497](#497))
([c5d82c5](c5d82c5)),
closes [#490](#490), references
[#490](#490)
[#491](#491)
[#499](#499)
[#499](#499)
[#499](#499)
[#499](#499)
* report truncated ADR briefings, trim the ADR corpus 15.6%, add GEN-005
briefing budget ([#501](#501))
([a9dab40](a9dab40))

### Bug Fixes

* **docs:** relocate ADR content to clear briefing-budget warnings
([#531](#531))
([c7419b3](c7419b3))
* **docs:** restore pt-br diacritics and enforce locale content
integrity ([#523](#523))
([db39104](db39104)),
closes [#516](#516), references
[#231](#231)
* **engine:** allow symlinks that resolve inside the project root
([#500](#500))
([387bf15](387bf15))
* **engine:** reject rule-file reads through a symlinked ancestor
directory ([#499](#499))
([a555f9d](a555f9d)),
references [#497](#497)
[#491](#491)
[#497](#497)
[#497](#497)
[#497](#497)
[#497](#497)
* **engine:** scan top-level export declarations with a null source
([#493](#493))
([d07db03](d07db03)),
closes [#491](#491)
* **engine:** stop dropping AST nodes with exotic literal values
([#494](#494))
([0015542](0015542)),
closes [#493](#493)
[#493](#493)
* **lint:** resolve no-bare-env-restore by captured key and lexical
scope ([#524](#524))
([7094a3a](7094a3a)),
closes [#498](#498)
* **rules:** make ARCH-020 and ARCH-023 match ctx.ast() instead of raw
text ([#533](#533))
([ad5529b](ad5529b)),
closes [#513](#513), references
[#486](#486)
* **tests:** replace bun:test anti-patterns with idiomatic patterns
([#512](#512))
([bcb086f](bcb086f))

---
This PR was generated with
[simple-release](https://github.com/TrigenSoftware/simple-release).

<details>
<summary>📄 Cheatsheet</summary>
<br>



You can configure the bot's behavior through a pull request comment
using the `!simple-release/set-options` command.

### Command Format

````md
!simple-release/set-options

```json
{
  "bump": {},
  "publish": {}
}
```
````

### Useful Parameters

#### Bump

| Parameter | Type | Description |
|-----------|------|-------------|
| `version` | `string` | Force set specific version |
| `as` | `'major' \| 'minor' \| 'patch' \| 'prerelease'` | Release type
|
| `prerelease` | `string` | Pre-release identifier (e.g., "alpha",
"beta") |
| `firstRelease` | `boolean` | Whether this is the first release |
| `skip` | `boolean` | Skip version bump |
| `byProject` | `Record<string, object>` | Per-project bump options for
monorepos |

#### Publish

| Parameter | Type | Description |
|-----------|------|-------------|
| `skip` | `boolean` | Skip publishing |
| `access` | `'public' \| 'restricted'` | Package access level |
| `tag` | `string` | Tag for npm publication |

### Usage Examples

#### Force specific version

````md
!simple-release/set-options

```json
{
  "bump": {
    "version": "2.0.0"
  }
}
```
````

#### Force major bump

````md
!simple-release/set-options

```json
{
  "bump": {
    "as": "major"
  }
}
```
````

#### Create alpha pre-release

````md
!simple-release/set-options

```json
{
  "bump": {
    "prerelease": "alpha"
  }
}
```
````

#### Publish with specific access and tag

````md
!simple-release/set-options

```json
{
  "bump": {
    "prerelease": "beta"
  },
  "publish": {
    "access": "public",
    "tag": "beta"
  }
}
```
````

### Custom Changelog Preamble

You can add custom markdown to the top of the changelog (right after the
version header) using the `!simple-release/set-preamble` command. The
markdown after the command line becomes the preamble.

```md
!simple-release/set-preamble

## What's new?

- The website was completely redesigned
- The new API gives you awesome possibilities
```

In a monorepo, pass the full package name after the command to target a
single package's changelog. Wrap the name in backticks so GitHub keeps
it as text instead of a mention:

```md
!simple-release/set-preamble `@your-org/core`

## Core changes

- New plugin system
```

Use one comment per package, plus one without a name for the whole
release.

### Access Restrictions

The commands can only be used by users with permissions:
- repository owner
- organization member
- collaborator

### Notes

- The last comment with `!simple-release/set-options` command takes
priority
- The last `!simple-release/set-preamble` comment per package takes
priority
- JSON must be valid, otherwise the `set-options` command will be
ignored
- Parameters apply only to the current release execution
- The commands can be updated by editing the comment or adding a new one


</details>

<!--
  Please do not edit this comment.
  simple-release-pull-request: true
  simple-release-branch-from: release
  simple-release-branch-to: main
-->

Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
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