Skip to content

Promote staging to production - #26

Merged
DecisionNerd merged 1 commit into
mainfrom
staging
Jul 14, 2026
Merged

Promote staging to production#26
DecisionNerd merged 1 commit into
mainfrom
staging

Conversation

@DecisionNerd

@DecisionNerd DecisionNerd commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Release inventory

  • Remove unintended visible line breaks caused by source-wrapped Markdown across all published DocSlime pages.
  • Fix the reported homepage sentence so “DocSlime uses Domain Driven Design lightly” renders continuously.
  • Preserve the intentional light/dark hero-wordmark break and Docmd custom blocks.
  • Add a build-time check that rejects unexpected rendered <br> elements.

Included PR

Local gates

  • cargo fmt --check
  • cargo test (23 passed)
  • cargo clippy --all-targets -- -D warnings
  • npm ci
  • npm run build (16 pages; rendered-line-break guard passed)
  • git diff --check

Risk and caveats

  • Documentation formatting and build validation only; no CLI behavior, auth, data, API, or infrastructure changes.
  • Prose content is unchanged; the broad Markdown diff is paragraph/list reflow plus table-separator formatting.

Production smoke plan

  • Tie the production deployment to the final main commit.
  • Verify all 16 public page routes return HTTP 200.
  • Scan production HTML for unexpected <br> elements, allowing only the intentional hero wordmark transition.
  • Confirm the DDD sentence renders without an internal <br>.
  • Verify sitemap and robots routes.

Note

Add post-build check for unintended line breaks in rendered documentation

  • Adds check-rendered-line-breaks.mjs, a Node.js script that scans built site HTML for source-wrapped prose and exits with code 1 if any are found.
  • Appends the check to the build npm script in package.json so it runs automatically after docmd build.
  • Reformats all docs markdown files (reflowing multi-line paragraphs to single lines, normalizing table separators) so they pass the new check.

Macroscope summarized dba132b.

Summary by CodeRabbit

  • Documentation

    • Improved formatting, readability, and consistency across product, architecture, engineering, experience, strategy, and lifecycle documentation.
    • Clarified publishing, testing, observability, requirements, skills, and release guidance.
    • Expanded lifecycle guidance for documenting evidence, requirements, scenarios, tests, and domain decisions.
    • Added clearer navigation, table formatting, and introductory content throughout the documentation.
  • Quality Improvements

    • Added a build-time check to detect unintended line breaks in rendered documentation pages.

* docs: fix DDD sentence line break

* docs: remove unintended rendered line breaks
@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docslime Ready Ready Preview, Comment Jul 14, 2026 6:34pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Documentation across product, engineering, lifecycle, experience, and site materials was reformatted and selectively clarified. The build script now runs a new validator that detects unexpected <br> elements in generated HTML while allowing one known hero pattern.

Changes

Documentation and validation

Layer / File(s) Summary
Foundational product and design documentation
docs/DESIGN.md, docs/PRODUCT.md, docs/REQUIREMENTS.md
Reflowed prose, bullets, and Markdown table separators without changing the core design, product, or requirement content.
Engineering documentation and release guidance
docs/engineering/*.md, docs/engineering/adrs/*
Reformatted architecture, observability, publishing, testing, and ADR documentation, with selected publishing and verification guidance clarified.
Lifecycle and experience guidance
docs/lifecycle.md, docs/experience/README.md
Reformatted lifecycle and experience material and added guidance for document discovery, template cleanup, evidence artifacts, and traceability.
Site-facing documentation and skills
docs/index.md, docs/skills.md, docs/strategy/README.md, docs/README.md
Reflowed site, skills, strategy, and documentation README content, including selected explanatory text and Markdown tables.
Rendered HTML line-break validation
package.json, scripts/check-rendered-line-breaks.mjs
Extended the build command with a recursive generated-HTML check that fails on unexpected line breaks while permitting the known hero pattern.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the release/promotion intent of the PR, though it omits the specific documentation and line-break cleanup work.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch staging

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

@DecisionNerd
DecisionNerd merged commit 267a33d into main Jul 14, 2026
17 of 18 checks passed

@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: 1

🧹 Nitpick comments (1)
scripts/check-rendered-line-breaks.mjs (1)

5-5: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Hero allowlist regex is asymmetric/order-dependent; <br> search may miss self-closing variants.

The light-image match requires docslime-hero-wordmark-light" to be the last class token before the closing quote, while the dark-image match ([^>]*docslime-hero-wordmark-dark) matches the class anywhere in the tag. If the renderer ever reorders/appends classes on the light <img>, this allowlist silently stops matching and the build starts failing on the intentional hero break. Separately, the scan only looks for literal <br> (Line 20); a self-closing <br /> from the renderer would go undetected, defeating the check's purpose.

♻️ Suggested more robust attribute match
-const allowedHeroBreak = /docslime-hero-wordmark-light"[^>]*><br>\s*<img[^>]*docslime-hero-wordmark-dark/g;
+const allowedHeroBreak = /class="[^"]*\bdocslime-hero-wordmark-light\b[^"]*"[^>]*>\s*<br\s*\/?>\s*<img[^>]*docslime-hero-wordmark-dark/g;
-    const unexpectedBreaks = html.replace(allowedHeroBreak, "").match(/<br>/g)?.length ?? 0;
+    const unexpectedBreaks = html.replace(allowedHeroBreak, "").match(/<br\s*\/?>/g)?.length ?? 0;

Please confirm what the actual docmd-rendered hero markup and line-break output look like to validate whether this matters in practice.

Also applies to: 20-20

🤖 Prompt for 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.

In `@scripts/check-rendered-line-breaks.mjs` at line 5, Update allowedHeroBreak
and the line-break scan in the rendered-markup check to match the hero light
class regardless of its position among class tokens and to recognize both `<br>`
and self-closing `<br />` forms. Verify the patterns against the actual
docmd-rendered hero markup and line-break output, preserving the intentional
hero-break allowlist behavior.
🤖 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 `@docs/engineering/adrs/README.md`:
- Around line 7-9: Update the fenced command block in the ADR README to declare
the shell language as sh, preserving the existing command content.

---

Nitpick comments:
In `@scripts/check-rendered-line-breaks.mjs`:
- Line 5: Update allowedHeroBreak and the line-break scan in the rendered-markup
check to match the hero light class regardless of its position among class
tokens and to recognize both `<br>` and self-closing `<br />` forms. Verify the
patterns against the actual docmd-rendered hero markup and line-break output,
preserving the intentional hero-break allowlist behavior.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 39d65022-4aba-4751-9323-92184b925fdd

📥 Commits

Reviewing files that changed from the base of the PR and between 7737ac0 and dba132b.

📒 Files selected for processing (18)
  • docs/DESIGN.md
  • docs/PRODUCT.md
  • docs/README.md
  • docs/REQUIREMENTS.md
  • docs/engineering/ARCHITECTURE.md
  • docs/engineering/OBSERVABILITY.md
  • docs/engineering/PUBLISHING.md
  • docs/engineering/README.md
  • docs/engineering/TESTING.md
  • docs/engineering/adrs/0001-embed-templates-in-binary.md
  • docs/engineering/adrs/README.md
  • docs/experience/README.md
  • docs/index.md
  • docs/lifecycle.md
  • docs/skills.md
  • docs/strategy/README.md
  • package.json
  • scripts/check-rendered-line-breaks.mjs

Comment on lines 7 to 9
```
docslime add adr <short-slug>
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Specify a language for the fenced command block.

Line [7] starts a fenced block without a language, triggering MD040. Mark this command block as sh.

Proposed fix
-```
+```sh
 docslime add adr <short-slug>
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.23.0)

[warning] 7-7: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for 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.

In `@docs/engineering/adrs/README.md` around lines 7 - 9, Update the fenced
command block in the ADR README to declare the shell language as sh, preserving
the existing command content.

Source: Linters/SAST tools

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