refactor(rebirth): isolate vector and reroll gates

This commit is contained in:
youzini
2026-05-30 14:02:05 +00:00
parent 515f57bcd7
commit fd63202a20
7 changed files with 368 additions and 76 deletions

28
vector/vector-gate.js Normal file
View File

@@ -0,0 +1,28 @@
// ST-BME vector readiness boundary helpers.
//
// Pure planning helpers only. They decide whether vector preparation should
// attempt identity repair, skip, block, or run sync; vector indexing/search
// algorithms stay in vector-index.js.
export function planVectorReadyCheck({
hasGraph = false,
metadataWriteAllowed = false,
mutationContextAllowed = false,
repairAttempted = false,
dirty = false,
configValid = false,
} = {}) {
if (!hasGraph) return { action: "skip", reason: "missing-graph" };
if (!metadataWriteAllowed && !mutationContextAllowed) {
if (!repairAttempted) {
return { action: "repair-identity", reason: "missing-mutation-context" };
}
return { action: "block", reason: "missing-mutation-context" };
}
if (!dirty) return { action: "skip", reason: "vector-clean" };
if (!configValid) return { action: "skip", reason: "invalid-vector-config" };
return { action: "sync", reason: "vector-dirty" };
}