-
Notifications
You must be signed in to change notification settings - Fork 0
docs: document combined cross-sink production proof #308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1002,7 +1002,26 @@ describe('legacy leakage CLI and operator guide', () => { | |
| expect(envExample).toContain(envName) | ||
| } | ||
| expect(runbook).toContain('Redis credential-revocation/namespace proof') | ||
| expect(runbook).toContain('complete cross-sink production proof') | ||
| expect(runbook).not.toContain(['deferred complete', 'cross-sink production proof'].join(' ')) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When Markdown wraps any part of the prohibited phrase onto another line, this exact Useful? React with 👍 / 👎. |
||
| for (const combinedProofContract of [ | ||
| 'mandatory combined CI proof', | ||
| 'cross-sink-production-sentinel.postgres-redis.test.ts', | ||
| 'S4_CROSS_SINK_PRODUCTION_SENTINEL_OK', | ||
| 'canonical `tasks.prompt` authorization', | ||
| 'task API projections', | ||
| 'logs and export', | ||
| 'Server-Sent Events live, snapshot, and replay', | ||
| 'Redis history, sequence, and live data', | ||
| 'worker diagnostics', | ||
| 'scrubbed database inventory', | ||
| 'signed producers-disabled receipt', | ||
| 'zero-scan and reappearance checks', | ||
| 'legacy Redis ACL revocation', | ||
| 'not proof for arbitrary future producers or sinks', | ||
| 'not proof of correctness', | ||
| ]) { | ||
| expect(runbook).toContain(combinedProofContract) | ||
| } | ||
| expect(runbook).toContain('schemaVersion: 2') | ||
| expect(runbook).toContain('sentinelSetFingerprint') | ||
| expect(runbook).toContain('legacy_task_log_unavailable') | ||
|
|
@@ -1130,7 +1149,9 @@ forge:task-events:v2:* keys.` | |
| 'S4_REDIS_ACL_DENIALS_OK', | ||
| 'S4_REDIS_ACL_LEGACY_REVOKED_OK', | ||
| ]) expect(runbook).toContain(proofContract) | ||
| expect(runbook).toMatch(/deferred complete cross-sink\s+production proof/) | ||
| expect(runbook).not.toContain(['deferred complete', 'cross-sink production proof'].join(' ')) | ||
| expect(operatorGuide).toContain('cross-sink-production-sentinel.postgres-redis.test.ts') | ||
| expect(operatorGuide).toContain('S4_CROSS_SINK_PRODUCTION_SENTINEL_OK') | ||
| expect(operatorGuide).toContain('database-authoritative S4 runtime mode') | ||
| expect(operatorGuide).toMatch(/Changing environment values\s+alone cannot flip the mode/) | ||
| for (const aclToken of [ | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When an operator tries to reproduce this newly mandatory gate, the documented filename is insufficient: a direct Vitest run exits successfully with the only test skipped unless destructive mode and three dedicated service URLs are configured, while the disposable database setup and exact 1/1/marker validation exist only inside
.github/workflows/web-ci.yml. Include the safe setup and checked invocation, add a wrapper command, or link directly to the relevant workflow step so this release gate is operable from the runbook.AGENTS.md reference: AGENTS.md:L155-L165
Useful? React with 👍 / 👎.