docs(staging): add personal report acceptance and rollback runbook
Staging Backend Quality Gate / validate (pull_request) Failing after 15m33s
Staging Backend Quality Gate / publish (pull_request) Has been skipped

This commit is contained in:
Jesse
2026-08-06 12:59:36 +08:00
parent d89073d296
commit c949b224fe
5 changed files with 203 additions and 0 deletions
+10
View File
@@ -249,6 +249,8 @@ test("staging env validator rejects selector drift, duplicates, and unsafe permi
"EPAY_CONFIG_ENCRYPTION_KEY=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"EPAY_CHAT_ENABLED=false",
"JYOTISH_DYNAMIC_RECTIFICATION_TOKEN=dynamic-token-that-is-at-least-32-bytes",
"PERSONAL_REPORT_ENABLED=true",
"PERSONAL_REPORT_DAILY_LIMIT=5",
];
const run = () =>
spawnSync("bash", [validator, envFile], { encoding: "utf8" });
@@ -276,6 +278,14 @@ test("staging env validator rejects selector drift, duplicates, and unsafe permi
assert.notEqual(run().status, 0);
writeEnv(validSelectors.map((line) => line.startsWith("EPAY_CHAT_ENABLED=") ? "EPAY_CHAT_ENABLED=true" : line));
assert.notEqual(run().status, 0);
writeEnv(validSelectors.map((line) => line.startsWith("PERSONAL_REPORT_ENABLED=") ? "PERSONAL_REPORT_ENABLED=false" : line));
assert.equal(run().status, 0);
writeEnv(validSelectors.map((line) => line.startsWith("PERSONAL_REPORT_ENABLED=") ? "PERSONAL_REPORT_ENABLED=TRUE" : line));
assert.notEqual(run().status, 0);
writeEnv(validSelectors.map((line) => line.startsWith("PERSONAL_REPORT_DAILY_LIMIT=") ? "PERSONAL_REPORT_DAILY_LIMIT=0" : line));
assert.notEqual(run().status, 0);
writeEnv(validSelectors.map((line) => line.startsWith("PERSONAL_REPORT_DAILY_LIMIT=") ? "PERSONAL_REPORT_DAILY_LIMIT=5x" : line));
assert.notEqual(run().status, 0);
writeEnv(validSelectors);
const shellOverride = spawnSync(
@@ -799,6 +799,8 @@ test("public rectification rollout enables the semantic agent and recreates web
"EPAY_CONFIG_ENCRYPTION_KEY=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"EPAY_CHAT_ENABLED=false",
`JYOTISH_DYNAMIC_RECTIFICATION_TOKEN=${"t".repeat(32)}`,
"PERSONAL_REPORT_ENABLED=true",
"PERSONAL_REPORT_DAILY_LIMIT=5",
"KEEP_ME=unchanged",
"RECTIFICATION_V3_CREATE_ENABLED=false",
"RECTIFICATION_V3_MIGRATIONS_READY=false",