Mfr Review Viewer Corruption

repo: ~/Projects/mfr-review-viewer-corruption · 32 commits · 0 in last 24h, 0 in last 7d ·

Search the build

32 commits indexed

  1. e7e862b 2026-09-04 Correct iOS rejection evidence to Apple 5.6
  2. 1bf0022 2026-09-04 add mark-superseded.mjs — the TK-10922 fallback remediation (Steve-approved)
  3. 5b61b4a 2026-09-04 pre-stage the graph repair: cascade-impact-map parser + Steve's runbook
  4. d04f917 2026-09-04 Document GovArbitrage resubmission readiness
  5. 5dff43f 2026-09-03 option A executed and failed: the [110] delete block is structural, not intermittent
  6. 8f7032c 2026-09-03 diagnose the FileMaker [110] delete block: it is delete-time relationship resolution, not the layout
  7. d316caf 2026-09-03 document blocked HSW repair verification
  8. 1ba8310 2026-08-28 fix [110]: route sweep deletes/writes through Basic List of Fields (no related tables); add corrected 3-record HSW plan
  9. d32eae4 2026-08-28 yoloforever c1 (Cody fix): single-flight lock in enrich-suggestions — concurrent rebuild-triggered runs can't race + corrupt queue.jsonl
  10. 039cfdc 2026-08-28 yoloforever c1: wire /api/rebuild to auto-refill FileMaker suggestions (detached, resumable) so a rebuild never leaves the list blank
  11. 58ae65f 2026-08-27 auto-data-snapshot: 2026-08-27T19:24:37 (1 data files) — data/queue.jsonl
  12. 564d58c 2026-08-27 auto-data-snapshot: 2026-08-27T18:47:45 (1 data files) — data/queue.jsonl
  13. 9ba7a0c 2026-08-27 auto-data-snapshot: 2026-08-27T18:10:50 (1 data files) — data/queue.jsonl
  14. e65092a 2026-08-27 suggest the correct REAL mfr NUMBER in the list: FileMaker-own-record enrichment (enrich-suggestions.mjs) + real-code filter (has digit, no spaces, not a filename) + list prefers it + live in-place poller with coverage banner
  15. 50b2a99 2026-08-27 keep domain aside open on load (data-nav-sidebar=off) — Cody FIX-FIRST: nav-agent was auto-collapsing the search/facets/field-toggle/⚙Sweep toolset behind a hamburger on first paint; nav-agent still mounts its additive #list panel (true 2-into-1). Verified real-click reachable.
  16. ee721d4 2026-08-27 silence cosmetic /favicon.ico 404 (204 no-content)
  17. 84c6e57 2026-08-27 list form + full nav agent: convert card grid to one-row-per-record KV list (identity block: DW SKU + bad→suggested mfr + ACTIVE badge; inline label/value field chips) + wire /nav-agent + /kv-list drop-ins (2-into-1 with existing aside); candidates drill-down / suggested-mfr banner / foreign-marking / stage flow all preserved
  18. dcd7c8f 2026-08-27 scope to ACTIVE patterns only: default status='ACTIVE' in build-queue SIG + vendor-sweep enumerateSkus (STATUS_FILTER=all escape hatch); queue drops 20878 -> 2432, 0 Schumacher
  19. e24c287 2026-08-27 executor: add belongs-to-SKU (skuMatch) guard to execute-time re-verify — refuses to delete a foreign record even if a plan lists it
  20. ac96049 2026-08-27 viewer: prominent 'Suggested real mfr → Approve into field' banner (from own-SKU record) + grey/disable foreign records so they can't be picked or deleted
  21. 2326b02 2026-08-27 candidates: CRITICAL — scope keep/delete/mfr-suggest to own-SKU records (skuMatch); foreign leaks (e.g. Schumacher sharing a number) can no longer be delete-suggested
  22. c59fa7d 2026-08-27 auto-data-snapshot: 2026-08-27T10:10:28 (1 data files) — data/plans/HSW-51526-test.json
  23. 5604d8e 2026-08-27 viewer: per-vendor Sweep control — GET /api/vendor-plan (read-only analyzer), Stage-for-approval (safe default) + gated Execute-now (typed APPROVE token) modal
  24. df9f241 2026-08-27 auto-data-snapshot: 2026-08-27T09:33:34 (3 data files) — data/plans/Glitter-Walls-2026-08-27T16-29-28-229Z.json data/plans/Glitter-Walls-2026-08-27T16-35-08-417Z.json data/plans/HSW-51526-test.json
  25. a0b309d 2026-08-27 mfr-master-sweep executor: Cody-hardened — keep-in-delete guard, keep-worthiness guard (reject inverted plans), real runnable restore-record.mjs undo
  26. 23d36ff 2026-08-27 mfr-master-sweep: gated executor (dry-run default, snapshot-first, re-verify, never-to-zero, blast cap, ledger) + read-only batch analyzer
  27. 377ff9b 2026-08-27 viewer: per-chip red 'Remove suggested (N)' button — one-click mark the auto-suggested broken masters for deletion
  28. 8c74f84 2026-08-27 viewer: auto-apply keep/delete rule (delete broken no-sample masters, keep real sample records) + sample-history badges
  29. 8e3663b 2026-08-27 mfr-review-viewer: gated delete-record (keep-rest) staging with reversible FM snapshots
  30. b16f1e1 2026-08-27 auto-data-snapshot: 2026-08-27T08:19:36 (1 data files) — data/queue.jsonl
  31. a93a88b 2026-08-27 mfr-review-viewer: per-SKU candidates drill-down (FmPro + unified DB) + creds-in-URL fetch guard
  32. ffd4b1a 2026-08-27 mfr-review-viewer: authenticated viewer for broken DW#==Mfr SKU corruption (read-only + gated staging)

Authors

Agents used

  • none detected

Skills used

  • /queue5
  • /claude4
  • /code4
  • /plans4
  • /candidates3
  • /delete2
  • /diagnostics1
  • /probe1
  • /delete-context-diagnosis1
  • /writes1
  • /rebuild1
  • /facets1
  • /field-toggle1
  • /favicon1
  • /value1
  • /nav-agent1
  • /kv-list1
  • /disable1
  • /mfr-suggest1
  • /vendor-plan1
  • /wrong1
  • /build-queue1
  • /stage1

Creative ideas + design notes

Commits with substantial prose (≥120 chars) — the rationale behind each move.

1bf0022 · 2026-09-04 · add mark-superseded.mjs — the TK-10922 fallback remediation (Steve-approved)
FileMaker DELETE is structurally blocked by [110]. This stamps each broken placeholder
master's existing free-text Mfr Pattern with 'SUPERSEDED - see master <keepRid>' instead
of deleting. Deliberately does NOT write the real code onto the placeholder -- that would
leave two records both carrying gz103 and make the duplicate ambiguity worse (flagged
independently by the first-principles panelist and the contrarian).

Same rails as execute-sweep: dry-run default, snapshot-first with refusal if the snapshot
fails, execute-time re-verify (skuMatch + no sample history + still a placeholder),
keep-worthiness guard, idempotent re-run, write-verified by read-back, ledgered with an
exact undo per record.

Dry-run clean on all 3. The --apply is classifier-blocked for an agent; Steve fires it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5qbBnj5C8dVC83qvX6fV5
5b61b4a · 2026-09-04 · pre-stage the graph repair: cascade-impact-map parser + Steve's runbook
The DTD verdict made a cascade-delete impact map a precondition for touching the
Relationship Graph -- nobody had produced one. parse-ddr-cascade-map.mjs turns a
read-only FileMaker DDR export into exactly that: dangling table occurrences, every
cascade-delete relationship and what it would take with it, and the intersection of
the two (the [110] culprit). Smoke-tested against a fixture with a planted culprit.

Also adds the runbook: steps 1-3 are read-only, step 4 is the gated repair with the
disarm-vs-repoint distinction the contrarian surfaced, step 5 is the finish command.

Neither depends on which path is chosen, so both are useful either way. No canonical
FileMaker record touched.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5qbBnj5C8dVC83qvX6fV5
5dff43f · 2026-09-03 · option A executed and failed: the [110] delete block is structural, not intermittent
Steve authorized the single retry delete of rid 129453. Dry-run clean (1 delete, 0 guard
trips, snapshot written, keep untouched); live --apply returned [110] Related tables are
missing again -- byte-identical to the 2026-08-28 failure six days earlier. That eliminates
the external-data-source-availability hypothesis by experiment. deleted=0, changed=0,
nothing to undo; all 3 targets and 3 keeps re-verified present and unchanged.

Option B (Relationship Graph repair in FileMaker Pro) is now the only remaining path.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5qbBnj5C8dVC83qvX6fV5
8f7032c · 2026-09-03 · diagnose the FileMaker [110] delete block: it is delete-time relationship resolution, not the layout
Zero-effect DELETE probe (nonexistent record id, GET-proven absent) returns 101 not 110
across all 95 same-base-table layouts with 0 related fields and 0 portals, including
'Basic List of Fields'. Reads resolve every related TO fine. So 110 is raised during the
delete of a real record by a relationship that appears on no layout -- which is why every
layout swap failed identically. Narrows the fix to a Relationship Graph repair in
FileMaker Pro, with retry-first because an external-data-source outage would be intermittent.

Adds scripts/diagnostics/* (read-only probes), verification/probe-*.json evidence, and
verification/delete-context-diagnosis.md. 0 canonical FileMaker records created, changed,
or deleted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5qbBnj5C8dVC83qvX6fV5
a93a88b · 2026-08-27 · mfr-review-viewer: per-SKU candidates drill-down (FmPro + unified DB) + creds-in-URL fetch guard
Each chip gets a '▸ candidates' expander that lazy-fetches GET /api/candidates?dw_sku=<sku>
and renders two groups: FmPro records (every matching WALLPAPER master, so duplicate/wrong
masters are visible) and Unified DB rows (shopify_products/vendor_catalog/dw_sku_registry).
Selecting a candidate's radio writes its real mfr (noteMfr / metafield / mfrPattern) into the
row's confirmed-mfr input for gated staging; a 'none — keep manual' radio is included.

Backend lib/candidates.mjs is READ-ONLY (FM _find + psql SELECTs), imports findRecords from
filemaker-mcp (does not modify it), degrades to {filemaker:[],unified:[...],fmError} on FM
failure. The real mfr note ('#gz127 - $44.10 Net - 1/14') lives in FileMaker field 'Mfr Pattern';
noteMfr parses the token after '#'. Added the fleet creds-in-URL window.fetch guard (the
embedded-creds baseURI trap was silently breaking every fetch, queue + candidates alike).

Verified: GET /api/candidates?dw_sku=HSW-51526 -> 18 FmPro masters (gz127 surfaces, duplicate
masters visible), 3 unified rows; radio-pick writes gz127 into the confirmed-mfr input.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ffd4b1a · 2026-08-27 · mfr-review-viewer: authenticated viewer for broken DW#==Mfr SKU corruption (read-only + gated staging)
Loader (scripts/build-queue.mjs) runs the corruption-signature query against
dw_unified.shopify_products, classifies each row (TIER-2 alpha-prefix recovery /
LIKELY-LEGIT Schumacher / TIER-4 bad-sku / TIER-3 needs-review), prefers the
filemaker-mcp peer output when present, writes data/queue.jsonl. Express server
(Basic Auth admin/DW2024!) serves the facet+sort+density grid with inline-editable
guesses; POST /api/stage drafts a gated memo to pending-approval and NEVER writes
to dw_unified/FileMaker/Shopify.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

File tree

33 files tracked. Click any to browse the source at HEAD.

Other build journals

← Mfr Review Viewer  ·  all 4 projects  ·  Micawallpaper →

Export

commits.csv · feed.atom · project.json · commits.json

rendered in 0ms