Skip to content

chore: docs/ prose-only gate + drop validate.py legacy fallback#8

Merged
rafael5 merged 1 commit into
mainfrom
chore/docs-prose-gate
May 11, 2026
Merged

chore: docs/ prose-only gate + drop validate.py legacy fallback#8
rafael5 merged 1 commit into
mainfrom
chore/docs-prose-gate

Conversation

@rafael5
Copy link
Copy Markdown
Collaborator

@rafael5 rafael5 commented May 11, 2026

Summary

Two small cleanups bundled — the cross-repo docs/ guardrail (option #1 from the post-Phase-0 audit) and the legacy fallback removal (option #3).

1. make check-docs-prose

Cross-repo guardrail. docs/ holds only human-readable prose (.md, .markdown, images, .gitkeep); non-prose artifacts belong under dist/, examples/, templates/, or a top-level domain dir. Engine-free find-based check, wired into CI alongside the existing manifest drift gate.

Same target ships in all four m-dev-tools repos so future contributors / agents get a consistent fail-fast signal — preventive, not corrective.

2. Drop validate.py legacy docs/integrated/ fallback

The relocation back to top-level integrated/ (PR #6) is committed and Phase 0 smoke is green against the new layout. The fallback was a migration-window affordance; with the window closed, keeping it perpetuates the idea that docs/integrated/ is ever acceptable.

 def _integrated_dir(project_root: Path) -> Path:
-    """Resolve the integrated/ directory location.
-
-    The canonical layout has `integrated/` at the repo root, ...
-    fallback is kept for one release cycle so a stale checkout still
-    validates.
-    """
-    canonical = project_root / "integrated"
-    if canonical.is_dir():
-        return canonical
-    legacy = project_root / "docs" / "integrated"
-    if legacy.is_dir():
-        return legacy
-    return canonical
+    """Resolve the integrated/ directory location.
+
+    `integrated/` lives at the repo root, alongside `per-source/`,
+    `schemas/`, `sources/`, and `src/`.
+    """
+    return project_root / "integrated"

Test plan

  • make check-docs-prose green locally
  • make check-manifest green locally
  • make test — 164 passed
  • CI green on this PR

Two cleanups bundled:

1. make check-docs-prose — cross-repo guardrail enforcing that docs/
   holds only human-readable prose (.md, .markdown, images, .gitkeep).
   Non-prose artifacts belong under dist/, examples/, templates/, or a
   top-level domain dir. Wired into CI alongside the existing manifest
   drift gate. Engine-free, fast, find-based.

2. validate.py _integrated_dir — drop the docs/integrated/ legacy
   fallback. The relocation back to top-level integrated/ (PR #6) is
   committed; the fallback's job was to support stale checkouts
   during the migration window, which is now closed. Three-line
   simplification — single canonical path.
@rafael5 rafael5 merged commit 54fee1f into main May 11, 2026
1 check passed
@rafael5 rafael5 deleted the chore/docs-prose-gate branch May 11, 2026 00:31
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