mirror of
https://github.com/calesthio/OpenMontage.git
synced 2026-08-26 01:52:30 +08:00
backlot phase 0 review fixes: fail-closed gates, atomic checkpoint writes, event attribution hardening
- gate = manifest OR caller (stricter wins); unknown pipeline_type now raises instead of silently disabling enforcement; corrupt manifest logs and falls back; misleading diagnostic fixed - write_checkpoint backfills pipeline_type from project.json marker so omitting the kwarg can't bypass gates - checkpoint writes are atomic (temp + os.replace); history archiving is copy-based and best-effort (Windows open-file safe) - manifest loads cached (load_pipeline_readonly); stage gate lookup moved to pipeline_loader.get_stage_human_approval_default; PROJECTS_DIR unified in lib/paths.py - events: containment + root-normalization for explicit project dirs, no ghost-project mkdir, 0.0 cost preserved, nested-call depth tag, wrapper simplified - documentary-montage edit-director gate footer (was missed); AGENT_GUIDE no longer claims edit/compose always auto-proceed
This commit is contained in:
13
lib/paths.py
Normal file
13
lib/paths.py
Normal file
@@ -0,0 +1,13 @@
|
||||
"""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
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
REPO_ROOT = Path(__file__).resolve().parent.parent
|
||||
PROJECTS_DIR = REPO_ROOT / "projects"
|
||||
Reference in New Issue
Block a user