From 471bd99c496d31dbce50d0568ea0e541339b9941 Mon Sep 17 00:00:00 2001 From: Public Source Publisher Date: Thu, 1 Oct 2026 03:19:04 +0000 Subject: [PATCH] Publish curated projectbrain source from 86d690c7579e368ce86b878b87bbeead9565ca20 --- PUBLIC_SOURCE_EXPORT.md | 2 +- PUBLIC_SOURCE_MANIFEST.json | 17 +--------- .../lib/autoModeExecutorContract.test.ts | 31 ------------------- .../lib/releaseValidationContract.test.ts | 15 --------- .../lib/runnerlessDeliveryPolicy.test.ts | 30 ------------------ 5 files changed, 2 insertions(+), 93 deletions(-) delete mode 100644 src/shared/lib/autoModeExecutorContract.test.ts delete mode 100644 src/shared/lib/releaseValidationContract.test.ts delete mode 100644 src/shared/lib/runnerlessDeliveryPolicy.test.ts diff --git a/PUBLIC_SOURCE_EXPORT.md b/PUBLIC_SOURCE_EXPORT.md index 7ede916..d7264df 100644 --- a/PUBLIC_SOURCE_EXPORT.md +++ b/PUBLIC_SOURCE_EXPORT.md @@ -1,3 +1,3 @@ # Public source export -This source snapshot was generated from the private canonical repository at revision `8a7b1e0651dbdab97d744cbd2e653ab3970ac6c5`. It contains no private Git history or operational evidence. Changes are published from the canonical repository. +This source snapshot was generated from the private canonical repository at revision `86d690c7579e368ce86b878b87bbeead9565ca20`. It contains no private Git history or operational evidence. Changes are published from the canonical repository. diff --git a/PUBLIC_SOURCE_MANIFEST.json b/PUBLIC_SOURCE_MANIFEST.json index 1b154fb..6799da3 100644 --- a/PUBLIC_SOURCE_MANIFEST.json +++ b/PUBLIC_SOURCE_MANIFEST.json @@ -1,6 +1,6 @@ { "schemaVersion": 1, - "sourceRevision": "8a7b1e0651dbdab97d744cbd2e653ab3970ac6c5", + "sourceRevision": "86d690c7579e368ce86b878b87bbeead9565ca20", "files": [ { "path": ".dockerignore", @@ -2742,11 +2742,6 @@ "sha256": "d3694e11ff8fa25233922d79e423cf90538653ede0acba4b13a3aa2a90a83453", "bytes": 288 }, - { - "path": "src/shared/lib/autoModeExecutorContract.test.ts", - "sha256": "c9e40a0c9612b35e17455f29ccbb80846ab2fd0aa8f4ab7dffbcbae5c9fb8d41", - "bytes": 1521 - }, { "path": "src/shared/lib/autoModePresentation.test.ts", "sha256": "e565e861077e0c972b809221588daa6d1a3636a4eff1af443024704a9397240d", @@ -3357,11 +3352,6 @@ "sha256": "a406cf5d1afe4f3bc786972a0f9fde85f2fb4a5fa0ba855e028759cb74593d10", "bytes": 2719 }, - { - "path": "src/shared/lib/releaseValidationContract.test.ts", - "sha256": "4948660461fad7dcdc9a220f7dc5b0b4e8875d0c936630552d5aba26a2dc1582", - "bytes": 753 - }, { "path": "src/shared/lib/repositoryIntake.ts", "sha256": "ad8a027dfa3343e3258f15f110d3fda82512667e023d78c41b1bb6ff59f8947e", @@ -3382,11 +3372,6 @@ "sha256": "63f045e23dfcde75481dc41139463279261ec36e7f846125a1b9deebbd42d018", "bytes": 2191 }, - { - "path": "src/shared/lib/runnerlessDeliveryPolicy.test.ts", - "sha256": "6b7ae8844bd3453ec7346a5c0765c35c7fc0fda17d410a108c062b0bb85f936a", - "bytes": 1424 - }, { "path": "src/shared/lib/safeData.ts", "sha256": "6c725068a13fb8328a8f89a15aaccdae65b1655ea74da1c59736bc859d56bc09", diff --git a/src/shared/lib/autoModeExecutorContract.test.ts b/src/shared/lib/autoModeExecutorContract.test.ts deleted file mode 100644 index 64fab6a..0000000 --- a/src/shared/lib/autoModeExecutorContract.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { readFileSync } from "node:fs"; -import { describe, expect, it } from "vitest"; - -const readRepositoryFile = (path: string) => - readFileSync(new URL(`../../../${path}`, import.meta.url), "utf8"); - -describe("Auto Mode executor host contract", () => { - it("keeps ordinary ChatGPT web chat as the only primary executor surface", () => { - const productContract = readRepositoryFile("docs/UX_AUTONOMY_PRODUCT_CONTRACT.md"); - const operatingGuide = readRepositoryFile("docs/PROJECTBRAIN_CHATGPT_OPERATING_LAYER.md"); - - expect(productContract).toContain( - "primary Auto Mode executor surface MUST be scheduled tasks in the ordinary ChatGPT web chat", - ); - expect(productContract).toContain("Codex desktop or Codex CLI automations"); - expect(operatingGuide).toContain( - "only supported primary executor surface is scheduled tasks in the ordinary ChatGPT **web chat**", - ); - expect(productContract).toContain("Multiple such tasks MAY run concurrently"); - expect(operatingGuide).toContain("different projects concurrently"); - expect(operatingGuide).toContain( - "Codex automations, Codex CLI, ChatGPT Work, local cron jobs and server-side OpenAI API calls MUST NOT schedule", - ); - expect(productContract).toContain( - "MUST NOT pause, disable, delete, reschedule, or otherwise mutate its own recurring ChatGPT task", - ); - expect(operatingGuide).toContain( - "MUST NOT pause, disable, delete or reschedule its own recurring ChatGPT web task", - ); - }); -}); diff --git a/src/shared/lib/releaseValidationContract.test.ts b/src/shared/lib/releaseValidationContract.test.ts deleted file mode 100644 index 973b7b9..0000000 --- a/src/shared/lib/releaseValidationContract.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { readFileSync } from "node:fs"; -import { describe, expect, it } from "vitest"; - -describe("release validation contract", () => { - it("keeps mock and real browser smoke inside the deployment-authoritative full gate", () => { - const workflow = readFileSync(new URL("../../../.gitea/workflows/managed-validation.yml", import.meta.url), "utf8"); - - expect(workflow).toContain("postgres:16"); - expect(workflow).toContain("TEST_DATABASE_URL"); - expect(workflow).toMatch(/\[\[\s+"\$\{profile\}"\s+==\s+(?:"full"|full)/); - expect(workflow).toContain("playwright install --with-deps --force chromium chromium-headless-shell"); - expect(workflow).toContain("pnpm test:e2e"); - expect(workflow).toContain("pnpm test:e2e:real"); - }); -}); diff --git a/src/shared/lib/runnerlessDeliveryPolicy.test.ts b/src/shared/lib/runnerlessDeliveryPolicy.test.ts deleted file mode 100644 index 10c56ec..0000000 --- a/src/shared/lib/runnerlessDeliveryPolicy.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { readdirSync, readFileSync } from "node:fs"; -import { join } from "node:path"; -import { describe, expect, it } from "vitest"; - -const workflowRoot = join(process.cwd(), ".gitea", "workflows"); -const workflowFiles = readdirSync(workflowRoot) - .filter((name) => name.endsWith(".yml") || name.endsWith(".yaml")) - .sort(); - -const workflowSource = (name: string) => readFileSync(join(workflowRoot, name), "utf8"); - -describe("runnerless production delivery policy", () => { - it("keeps production mutation out of Gitea Actions", () => { - expect(workflowFiles).not.toContain("unraid-deploy.yml"); - - for (const name of workflowFiles) { - const source = workflowSource(name); - expect(source, `${name} must not target the retired deployment runner`).not.toMatch(/runs-on:\s*unraid-deploy\b/); - expect(source, `${name} must not execute the root deployment controller`).not.toMatch(/docker\s+exec\s+gitea-deploy-control/); - expect(source, `${name} must not call the legacy deploy entrypoint`).not.toMatch(/deploy\.py\s+deploy\b/); - } - }); - - it("retains the exact validation context consumed by the runnerless controller", () => { - const managedValidation = workflowSource("managed-validation.yml"); - expect(managedValidation).toContain("name: Managed validation"); - expect(managedValidation).toContain("branches: [main]"); - expect(managedValidation).toContain("name: full"); - }); -});