From 9a7e4614953f762d2d04d53fd511c2b6ab6aacdd Mon Sep 17 00:00:00 2001 From: Molecule AI Core-DevOps Date: Wed, 13 May 2026 09:38:58 +0000 Subject: [PATCH 1/2] =?UTF-8?q?fix(ci):=20close=20burn-in=20=E2=80=94=20re?= =?UTF-8?q?move=20continue-on-error=20mask=20from=20sop-tier-check=20tier-?= =?UTF-8?q?check=20job?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Burn-in window (internal#189 Phase 1) deployed 2026-05-10. The 7-day window closes 2026-05-17. Remove continue-on-error: true from the tier-check job so AND-composition is fully enforced. Changes: - Remove job-level `continue-on-error: true` and its mc#774 burn-in comment (sop-tier-check was one of the 42 bare CoE directives annotated in mc#774). - Step-level `continue-on-error: true` on Install jq and Verify tier label remain (documented mc#774 masks, separate from burn-in). - Update BURN-IN NOTE → BURN-IN CLOSED with reference to mc#774 protocol for any future mask re-introductions. - Update SOP_LEGACY_CHECK comment to note burn-in closed. Refs: internal#189, mc#774, #804 Co-Authored-By: Claude Opus 4.7 --- .gitea/workflows/sop-tier-check.yml | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/sop-tier-check.yml b/.gitea/workflows/sop-tier-check.yml index 6df5fb7c..235ed633 100644 --- a/.gitea/workflows/sop-tier-check.yml +++ b/.gitea/workflows/sop-tier-check.yml @@ -28,15 +28,16 @@ # # Environment variables: # SOP_DEBUG=1 — per-API-call diagnostic lines. Default: off. -# SOP_LEGACY_CHECK=1 — revert to OR-gate for this run. Grace window -# for PRs in-flight when AND-composition deployed. -# Burn-in: remove after 2026-05-17 (7-day window). +# SOP_LEGACY_CHECK=1 — revert to OR-gate for this run. Intended for +# emergency use only; burn-in window closed +# 2026-05-17 (internal#189 Phase 1). # -# BURN-IN NOTE (internal#189 Phase 1): continue-on-error: true is set on -# the tier-check job below. This prevents AND-composition from blocking -# PRs during the 7-day burn-in. After 2026-05-17: -# 1. Remove `continue-on-error: true` from this job block. -# 2. Update this BURN-IN NOTE comment to mark the window closed. +# BURN-IN CLOSED 2026-05-17 (internal#189 Phase 1): The 7-day burn-in +# window closed. continue-on-error: true has been removed from the +# tier-check job; AND-composition is now fully enforced. If you need +# to temporarily re-introduce a mask, file a tracker and follow the +# mc#774 protocol (Tier 2e lint requires a current tracker within +# 2 lines of any continue-on-error: true). name: sop-tier-check @@ -63,10 +64,6 @@ on: jobs: tier-check: runs-on: ubuntu-latest - # BURN-IN: continue-on-error prevents AND-composition from blocking - # PRs during the 7-day window. Remove after 2026-05-17 (mc#774). - # mc#774: pre-existing continue-on-error mask; root-fix and remove, do not renew silently. - continue-on-error: true permissions: contents: read pull-requests: read -- 2.45.2 From 946e12afaf0685821b2fa9caec6315fe20817e70 Mon Sep 17 00:00:00 2001 From: core-be Date: Wed, 13 May 2026 09:33:10 -0700 Subject: [PATCH 2/2] =?UTF-8?q?test(canvas):=20freeze=20time=20in=20format?= =?UTF-8?q?TTL=20tests=20=E2=80=94=20eliminate=20CI=20timing=20flake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same fix as applied to fix/stdio-fallback-all-environments (#778). vi.useFakeTimers()/vi.useRealTimers() pin Date.now() so the flake (expected '5m', got '4m' on slow runners) cannot occur. Co-Authored-By: Claude Sonnet 4.6 --- canvas/src/components/__tests__/MemoryInspectorPanel.test.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/canvas/src/components/__tests__/MemoryInspectorPanel.test.ts b/canvas/src/components/__tests__/MemoryInspectorPanel.test.ts index 2ea69e56..797f27ac 100644 --- a/canvas/src/components/__tests__/MemoryInspectorPanel.test.ts +++ b/canvas/src/components/__tests__/MemoryInspectorPanel.test.ts @@ -7,7 +7,7 @@ * itself (MemoryInspectorPanel) requires full API + store mocking and * is exercised by the existing MemoryTab.test.tsx. */ -import { describe, it, expect } from "vitest"; +import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { isPluginUnavailableError, formatTTL } from "../MemoryInspectorPanel"; // formatRelativeTime is not exported — tested via the component in MemoryTab.test.tsx @@ -47,6 +47,9 @@ describe("isPluginUnavailableError", () => { }); describe("formatTTL", () => { + beforeEach(() => { vi.useFakeTimers(); }); + afterEach(() => { vi.useRealTimers(); }); + it("returns '' for null", () => { expect(formatTTL(null)).toBe(""); }); -- 2.45.2