← back to Gmc Titlefix
preserve current TK-00066 canary evidence
db4fabca338613df0576008a13e0946f7377266e · 2026-08-31 11:17:14 -0700 · Steve
Files touched
A data/track-c-canary-current.jsonA verification/TK-00066-post-link-e2e-proof.jsonM verify-canary.mjs
Diff
commit db4fabca338613df0576008a13e0946f7377266e
Author: Steve <steve@designerwallcoverings.com>
Date: Mon Aug 31 11:17:14 2026 -0700
preserve current TK-00066 canary evidence
---
data/track-c-canary-current.json | 60 ++++++++++++++++++++++++++
verification/TK-00066-post-link-e2e-proof.json | 49 +++++++++++++++++++++
verify-canary.mjs | 4 +-
3 files changed, 112 insertions(+), 1 deletion(-)
diff --git a/data/track-c-canary-current.json b/data/track-c-canary-current.json
new file mode 100644
index 0000000..3649d56
--- /dev/null
+++ b/data/track-c-canary-current.json
@@ -0,0 +1,60 @@
+{
+ "generated_at": "2026-08-31T18:13:59.574Z",
+ "total": 400,
+ "approved": 385,
+ "disapproved": 3,
+ "other": 0,
+ "flipped": 350,
+ "still425": 38,
+ "readErrors": 12,
+ "errors": [
+ {
+ "offerId": "shopify_US_7421471817779_42654206787635",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/products/online%3Aen%3AUS%3Ashopify_US_7421471817779_42654206787635"
+ },
+ {
+ "offerId": "shopify_US_7810571173939_44170603298867",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/productstatuses/online%3Aen%3AUS%3Ashopify_US_7810571173939_44170603298867"
+ },
+ {
+ "offerId": "shopify_US_6811234533427_40875215519795",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/productstatuses/online%3Aen%3AUS%3Ashopify_US_6811234533427_40875215519795"
+ },
+ {
+ "offerId": "shopify_US_7810436300851_44170214211635",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/productstatuses/online%3Aen%3AUS%3Ashopify_US_7810436300851_44170214211635"
+ },
+ {
+ "offerId": "shopify_US_7810578677811_44170611327027",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/products/online%3Aen%3AUS%3Ashopify_US_7810578677811_44170611327027"
+ },
+ {
+ "offerId": "shopify_US_7506089508915_42949341741107",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/productstatuses/online%3Aen%3AUS%3Ashopify_US_7506089508915_42949341741107"
+ },
+ {
+ "offerId": "shopify_US_7552701497395_43243527340083",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/products/online%3Aen%3AUS%3Ashopify_US_7552701497395_43243527340083"
+ },
+ {
+ "offerId": "shopify_US_7822321745971_44223552225331",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/productstatuses/online%3Aen%3AUS%3Ashopify_US_7822321745971_44223552225331"
+ },
+ {
+ "offerId": "shopify_US_7552741834803_43243618959411",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/productstatuses/online%3Aen%3AUS%3Ashopify_US_7552741834803_43243618959411"
+ },
+ {
+ "offerId": "shopify_US_7855821946931_44417989279795",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/products/online%3Aen%3AUS%3Ashopify_US_7855821946931_44417989279795"
+ },
+ {
+ "offerId": "shopify_US_7810545025075_44170472357939",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/products/online%3Aen%3AUS%3Ashopify_US_7810545025075_44170472357939"
+ },
+ {
+ "offerId": "shopify_US_7430004637747_42683857797171",
+ "error": "HTTP 404 https://shoppingcontent.googleapis.com/content/v2.1/146735262/products/online%3Aen%3AUS%3Ashopify_US_7430004637747_42683857797171"
+ }
+ ]
+}
diff --git a/verification/TK-00066-post-link-e2e-proof.json b/verification/TK-00066-post-link-e2e-proof.json
new file mode 100644
index 0000000..a9fe426
--- /dev/null
+++ b/verification/TK-00066-post-link-e2e-proof.json
@@ -0,0 +1,49 @@
+{
+ "intent": "Verify TK-00066 Track C customer-facing price remediation after the Merchant feed-rule link",
+ "risk_tier": "R3 (external integration, read-only verification)",
+ "environment": "Mac2 local verifier against Merchant account 146735262",
+ "build_commit_before_proof": "6cddcdafcac3970e9e935d648e367ad075c27b6a",
+ "timestamp": "2026-08-31T18:16:32Z",
+ "baseline": {
+ "structural_link": "Price override datasource 10693978453 linked into primary feed 180695450 at 2026-08-31T17:39:58Z",
+ "immutable_pre_link_canary": "MISSING",
+ "known_canary_population": 400,
+ "known_successfully_inserted_and_readable": 388,
+ "known_404_rows": 12
+ },
+ "checks": [
+ {
+ "boundary": "syntax",
+ "command": "node --check verify-canary.mjs",
+ "verdict": "PASS"
+ },
+ {
+ "boundary": "unit",
+ "command": "node --test test/track-c-safety.test.mjs",
+ "verdict": "PASS",
+ "assertion": "5/5 safety tests passed"
+ },
+ {
+ "boundary": "live Merchant product and product-status reads",
+ "command": "node verify-canary.mjs",
+ "verdict": "FAIL",
+ "artifact": "data/track-c-canary-current.json",
+ "assertion": "350 flipped above $4.26; 38 still at or below $4.26; 12 known rows returned 404; 385 approved and 3 disapproved among readable rows"
+ },
+ {
+ "boundary": "fail-closed behavior",
+ "command": "node verify-canary.mjs",
+ "verdict": "PASS",
+ "assertion": "Verifier exited nonzero because the immutable pre-link baseline is missing, while preserving the current scan for diagnosis"
+ }
+ ],
+ "negative_checks": [
+ "Missing immutable baseline cannot be replaced by a post-link capture",
+ "Any unreadable offer remains a hard read error",
+ "No success verdict is emitted while 38 readable offers still advertise $4.25"
+ ],
+ "side_effects": "No Merchant PATCH/POST, feed insert, Shopify write, database write, publish, deploy, email, spend, DNS, or remote push",
+ "cleanup": "No external test state created; current read-only evidence intentionally retained",
+ "overall_verdict": "BLOCKED",
+ "remaining_gate": "Wait for Google to reprocess the remaining 38 readable offers, then rerun the same read-only verifier; completion additionally needs an evidence policy for the 12 stable 404 rows because the pre-link baseline is unavailable"
+}
diff --git a/verify-canary.mjs b/verify-canary.mjs
index 6ea7e66..7cceea1 100644
--- a/verify-canary.mjs
+++ b/verify-canary.mjs
@@ -8,6 +8,7 @@ const { token, MERCHANT } = require('./_auth.js');
const CANARY = '/Users/macstudio3/.claude/yolo-queue/gmc-fresh-override-canary.json';
const BASELINE = new URL('./data/track-c-canary-baseline.json', import.meta.url);
const BASELINE_ATTEMPT = new URL('./data/track-c-canary-baseline-attempt.json', import.meta.url);
+const CURRENT = new URL('./data/track-c-canary-current.json', import.meta.url);
const RESULT = new URL('./data/track-c-canary-verification.json', import.meta.url);
const capture = process.argv.includes('--capture-baseline');
const canary = JSON.parse(fs.readFileSync(CANARY, 'utf8')).overrides;
@@ -48,6 +49,7 @@ async function scan() {
}
const current = await scan();
+fs.writeFileSync(CURRENT, JSON.stringify(current, null, 2) + '\n');
if (capture) {
fs.writeFileSync(BASELINE_ATTEMPT, JSON.stringify(current, null, 2) + '\n');
if (current.readErrors) {
@@ -61,7 +63,7 @@ if (capture) {
}
if (!fs.existsSync(BASELINE)) {
- console.error(`HOLD: no immutable baseline at ${BASELINE.pathname}; run --capture-baseline before linking.`);
+ console.error(`HOLD: no immutable baseline at ${BASELINE.pathname}; current scan preserved at ${CURRENT.pathname}.`);
process.exit(1);
}
const baseline = JSON.parse(fs.readFileSync(BASELINE));
← 6cddcda snapshot before TK-00066 verification observability fix
·
back to Gmc Titlefix
·
auto-data-snapshot: 2026-08-31T11:17:15 (3 data files) — dat d3daab6 →