From d229034a2a64242edc80dcc42c8d6ab773455e3b Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 04:19:59 +0000 Subject: [PATCH] share-policy: default to this repo, not one author's worktree Identical defect to check-zone-census.mjs, landed minutes apart: line 34 fell back to resolve('/home/lk10x/.../wt-packet'), an absolute path into one author's worktree. check:no-abs-paths rejects those by design -- "a clone must work on any machine" -- and it runs inside build:unlocked, so main went red for every builder again. Same minimal fix: DOXA_REPO still wins and is untouched; only the FALLBACK moved to resolve(dirname(fileURLToPath(import.meta.url)), '..'), the idiom check-no-absolute-paths.mjs prints in its own failure text and every sibling script here already uses. VERIFIED both ways: check:no-abs-paths 0, and check:share-policy itself 0 running on the derived default rather than erroring on a missing directory. This is now the second instance of one pattern in a single tick, so it is recorded in the rollout ledger as fleet-wide debt rather than just fixed twice: a new internal/ gate authored in one worktree hardcodes THAT worktree as its default, and lands red for everyone else. --- internal/check-share-policy.mjs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/check-share-policy.mjs b/internal/check-share-policy.mjs index 0bc634c94..70ca86d36 100644 --- a/internal/check-share-policy.mjs +++ b/internal/check-share-policy.mjs @@ -28,10 +28,16 @@ // is currently REAL on two bundles — recorded below as known debt rather than // silently passing, so the count cannot drift without someone deciding. import { readFileSync, existsSync, readdirSync } from 'node:fs' -import { resolve, join } from 'node:path' +import { resolve, join, dirname } from 'node:path' +import { fileURLToPath } from 'node:url' +// Same fix as check-zone-census.mjs, same reason. DOXA_REPO still wins; only the FALLBACK moved +// off an absolute path into one author's worktree. check:no-abs-paths rejects those outright — "a +// clone must work on any machine" — and it runs inside build:unlocked, so the hardcoded default +// turned the whole build red for every builder. This is the idiom that gate names in its own +// failure text, and the one every sibling script here uses. const REPO = process.env.DOXA_REPO - || resolve('/home/lk10x/Workspace/eco-dx/root-doxa-maps/wt-packet') + || resolve(dirname(fileURLToPath(import.meta.url)), '..') const DESIGNS = join(REPO, 'plugin-designs') // The decided policy, per bundle. A map bundle MUST appear here — an unlisted one