fix(ql3): close adopted lineage acceptance gates

This commit is contained in:
whyour
2026-08-21 15:35:48 +08:00
parent 4f6be5bc2c
commit b714f2bf18
9 changed files with 155 additions and 18 deletions
@@ -75,7 +75,7 @@ function localReport(scope, catalog, profile) {
composeMerge: true,
rolloutActive: true,
durableReceipt: true,
sqliteWriteContract: 37,
sqliteWriteContract: 50,
sqliteBackup: true,
sqliteWriteObservation: { committed: true },
sqliteRestorePrepared: true,
@@ -259,6 +259,9 @@ test('rejects synthetic, incomplete and unclean deployment reports', () => {
(input) => {
input.local.standalone.value.gracefulCleanup = false;
},
(input) => {
input.local.edge.value.sqliteWriteContract = 0;
},
(input) => {
input.cluster.report.value.receiptAuditCompatible = false;
},
@@ -275,6 +278,15 @@ test('rejects synthetic, incomplete and unclean deployment reports', () => {
}
});
test('requires one bounded SQLite write contract across Local profiles', () => {
const input = structuredClone(fixture('local').input);
input.local.standalone.value.sqliteWriteContract = 49;
assert.throws(
() => createDeploymentReadinessReceipt(input),
/different SQLite write contracts/,
);
});
test('rejects tampered, recomputed or authority-detached receipts', () => {
const { receipt } = fixture('all');
const tampered = structuredClone(receipt);