Publish curated projectbrain source from 86d690c7579e368ce86b878b87bbeead9565ca20

This commit is contained in:
Public Source Publisher committed 2026-10-01 03:19:04 +00:00
1 parent 5aa3e8d685
commit 471bd99c49
5 files changed
+2 -93

No files matched your search

+1 -1
View File
@@ -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.
+1 -16
View File
@@ -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",
@@ -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",
);
});
});
@@ -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");
});
});
@@ -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");
});
});