2026-07-01 23:24:11 -07:00
|
|
|
"""Canonical repository paths — single source of truth.
|
|
|
|
|
|
|
|
|
|
The projects root is the most load-bearing path in the system: checkpoints
|
|
|
|
|
are written under it, tool events are attributed against it, and the Backlot
|
|
|
|
|
board watches it. Define it once.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
2026-07-02 07:20:17 -07:00
|
|
|
import os
|
2026-07-01 23:24:11 -07:00
|
|
|
from pathlib import Path
|
|
|
|
|
|
|
|
|
|
REPO_ROOT = Path(__file__).resolve().parent.parent
|
2026-07-02 07:20:17 -07:00
|
|
|
|
|
|
|
|
# Overridable for staging/screenshots/tests. Everything — checkpoint writes,
|
|
|
|
|
# event attribution, the Backlot board — follows the same root.
|
|
|
|
|
PROJECTS_DIR = Path(os.environ.get("OPENMONTAGE_PROJECTS_DIR") or (REPO_ROOT / "projects"))
|