Skip to content

Conversation

@jeremyeder
Copy link
Collaborator

Summary

Removes the --strict flag from the mkdocs build command to allow documentation to build and deploy even with warnings.

Problem

The current workflow uses mkdocs build --strict, which fails the entire deployment if there are any warnings. This has been blocking documentation deployments due to:

  • References to files that exist locally but aren't committed (amber-interactive.md, etc.)
  • Links to planned documentation that doesn't exist yet
  • Minor navigation inconsistencies

Changes

Before:

- name: Build documentation
  run: |
    python3.11 -m mkdocs build --strict

After:

- name: Build documentation
  run: |
    python3.11 -m mkdocs build

Impact

Documentation builds successfully - Warnings logged but don't block deployment
Better DX - Contributors can iterate on docs without being blocked by missing cross-references
Still visible - Warnings appear in build logs for review
Gradual improvement - Team can fix warnings over time without blocking progress

Verification

The workflow will build and deploy documentation with warnings visible in logs, allowing the team to address them incrementally.

Related Issues


🤖 Generated with Claude Code

Remove --strict flag from mkdocs build to allow documentation to build
with warnings. This provides a better developer experience by not blocking
deployments on non-critical documentation issues.

Warnings will still be visible in build logs for review, but won't
prevent documentation from being published.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@jeremyeder jeremyeder merged commit 5ad5965 into ambient-code:main Dec 4, 2025
17 checks passed
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

Claude Code Review

Summary

PR #427 removes the --strict flag from the MkDocs build workflow, allowing documentation to build and deploy even when warnings are present. This is a pragmatic short-term fix following PR #425's comprehensive warning resolution, but it introduces quality regression risk that should be addressed.

Issues by Severity

🟡 Major Issues

1. Quality Regression Risk - Missing Strict Mode

Location: .github/workflows/docs.yml:39

Issue: Removing --strict mode means:

  • New broken links can be merged unnoticed
  • Navigation inconsistencies won't block deployment
  • Documentation quality drift is now invisible until manually checked

Impact: This contradicts the project's high standards documented in CLAUDE.md and the docs/README.md emphasis on quality.

Context: PR #425 just fixed 13 warnings to achieve clean builds with --strict. Removing strict mode immediately after that work:

  1. Wastes the effort spent fixing those warnings
  2. Signals that documentation quality is optional
  3. Creates technical debt ("we'll fix it later" rarely happens)

Recommendation:
Instead of removing --strict, address the root cause mentioned in the PR description:

  • "References to files that exist locally but aren't committed (amber-interactive.md, etc.)"

From my analysis:

  • amber-interactive.md is referenced in mkdocs.yml:49 but doesn't exist in docs/user-guide/
  • Similarly amber-background-agent.md and amber-troubleshooting.md are referenced but missing

Proper fix:

# Create placeholder files for missing documentation
touch docs/user-guide/amber-interactive.md
touch docs/user-guide/amber-background-agent.md  
touch docs/user-guide/amber-troubleshooting.md

# Add minimal content to prevent warnings
echo '# Amber Interactive Mode\n\nDocumentation coming soon.' > docs/user-guide/amber-interactive.md

Option B: Remove missing pages from mkdocs.yml navigation until they're ready.

2. Inconsistent with Project Standards

Location: CLAUDE.md:193-210, docs/README.md:59-67

Issue: The codebase emphasizes:

  • High quality standards (CLAUDE.md pre-commit checklists)
  • Documentation validation (mkdocs build --strict in docs/README.md)
  • "Write docs that are user-focused and validated"

Removing strict mode silently violates these documented standards without updating the documentation or ADRs.

Recommendation: If disabling strict mode is truly necessary, update:

  1. docs/README.md - Document why strict mode is disabled
  2. Create ADR documenting this decision and trade-offs
  3. Add manual review step in PR template for docs changes

🔵 Minor Issues

1. Incomplete Problem Analysis

The PR description states:

"This has been blocking documentation deployments due to: References to files that exist locally but aren't committed"

Issue: This suggests incomplete .gitignore configuration or local-only files. The proper fix is:

  • Identify what files exist locally but aren't committed
  • Either commit them or exclude them from mkdocs.yml
  • Fix the root cause, not the symptom

2. Missing Validation in PR

The PR doesn't demonstrate:

  • What warnings currently exist after this change
  • Whether those warnings are acceptable
  • A plan to address them

Positive Highlights

Clear Problem Statement - PR description clearly explains the blocking issue and impact

Immediate Unblock - Allows documentation deployments to proceed while team addresses warnings

Related Context - Links to PRs #425, #426 showing the history of the issue

Simple Change - One-line change minimizes risk of introducing bugs

Proper Commit Message - Follows conventional commits standard (ci: disable strict mode)

Recommendations

Immediate Actions (Before Merge)

Priority 1: Fix the Root Cause Instead

Do NOT merge this PR as-is. Instead:

  1. Create missing documentation files referenced in mkdocs.yml:

    # These files are referenced but don't exist:
    touch docs/user-guide/amber-interactive.md
    touch docs/user-guide/amber-background-agent.md
    touch docs/user-guide/amber-troubleshooting.md
    
    # Add placeholder content to each file with proper heading
  2. Keep --strict mode enabled

  3. Verify build succeeds:

    python3.11 -m mkdocs build --strict

Priority 2: If Removing Strict Mode is Truly Necessary

If there's a compelling reason to disable strict mode (not evident from PR description):

  1. Document the decision:

    • Update docs/README.md explaining why strict mode is disabled
    • Create ADR: docs/adr/000X-disable-mkdocs-strict-mode.md
  2. Add compensating controls:

    • Add manual docs review checklist to PR template
    • Create GitHub Action that comments on PRs with warning count
    • Schedule periodic "docs quality sprint" to address warnings
  3. Set improvement target:

    • Document plan to re-enable strict mode
    • Set deadline (e.g., "Re-enable by end of Q1 2025")

Follow-up Actions

  1. Audit mkdocs.yml navigation - Remove references to non-existent files
  2. Document .gitignore strategy - Ensure docs-related files are committed
  3. Add pre-commit hook - Run mkdocs build --strict locally before commit
  4. Consider CI optimization - Run docs build on docs-related PRs only

Final Verdict

❌ RECOMMEND: DO NOT MERGE (Without Root Cause Fix)

This PR treats a symptom (warnings blocking deployment) rather than the disease (missing documentation files). The proper fix is:

  1. Create the missing documentation files (5 minutes of work)
  2. Keep strict mode enabled (maintains quality standards)
  3. Preserve the value of PR docs: fix MkDocs link warnings (13 warnings resolved) #425's work

Alternative Approach:
If you must merge this to unblock urgent deployments, commit to:

  • Creating the missing files within 48 hours
  • Re-enabling strict mode in a follow-up PR
  • Documenting the decision in ADRs

The platform has excellent documentation standards. Don't compromise them for a 5-minute fix that should have been the original solution.


🔍 View AI decision process (logs available for 90 days)

📋 View memory system files loaded (click to expand)

What Amber Loaded for Code Review

Amber automatically loaded these repository standards from the memory system:

  1. CLAUDE.md - Master project instructions, development standards
  2. backend-development.md - Go backend, K8s integration patterns
  3. frontend-development.md - NextJS, Shadcn UI, React Query patterns
  4. security-standards.md - Auth, RBAC, token handling
  5. k8s-client-usage.md - User token vs service account patterns
  6. error-handling.md - Consistent error patterns
  7. react-query-usage.md - Data fetching patterns

Impact: This review used your repository's specific code quality standards, security patterns, and best practices from the memory system (PRs #359, #360) - not just generic code review guidelines.

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