Skip to content

Commit 42ef42d

Browse files
Repair augmentation imagegen provenance
1 parent 43d994f commit 42ef42d

5 files changed

Lines changed: 52 additions & 12 deletions

File tree

1.12 MB
Loading
799 KB
Loading

‎cohorts/2026/08-deep-learning/images/2026-09-09-provenance-crops.sh‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,11 @@ convert "$work/zoom-x.png" -fx '((u.b-u.r)>0.08) ? p{i,j+12} : u' "$work/zoom-x-
6464
convert "$work/zoom-y.png" -fx '((u.b-u.r)>0.08) ? p{i,j+12} : u' "$work/zoom-y-clean.png"
6565
convert "$work/zoom-x-clean.png" "$work/zoom-y-clean.png" -append "$root/10-augmentation-03-zoom-grid-native-crop.png"
6666
convert "$root/10-augmentation-03-zoom-grid-native-crop.png" -quality 92 "$root/10-augmentation-03-zoom-grid-native-crop.jpg"
67-
cp "$root/10-augmentation-03-zoom-grid-native-crop.png" "$root/10-augmentation-03-zoom-grid-imagegen.png"
67+
# The active PNG is a true imagegen redraw recorded in the repair ledger. Keep
68+
# this command limited to durable native crop evidence so rerunning it cannot
69+
# replace the imagegen output with a crop-only derivative.
6870

6971
convert "$root/10-augmentation-06-val-stuck-077.jpg" -crop 300x185+90+100 +repage "$root/10-augmentation-06-val-stuck-077-native-crop.jpg"
70-
convert "$root/10-augmentation-06-val-stuck-077.jpg" -crop 300x185+90+100 +repage "$root/10-augmentation-06-val-stuck-077-imagegen.png"
72+
# The active PNG is a true imagegen redraw recorded in the repair ledger.
7173
convert "$root/12-using-model-03-load-img-pants.jpg" -crop 290x220+105+125 +repage "$root/12-using-model-03-load-img-pants-native-crop.jpg"
7274
convert "$root/12-using-model-03-load-img-pants.jpg" -crop 290x220+105+125 +repage "$root/12-using-model-03-load-img-pants-imagegen.png"

‎cohorts/2026/08-deep-learning/images/2026-09-09-provenance-repair.md‎

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22

33
This ledger records the 28 provenance-blocked active refs in module 08 from
44
the strict visual audit (44 active image refs in this module; 56 across
5-
modules 08–09). The 21 refs that the audit accepted were left byte-for-byte
5+
modules 08–09). Before this repair, module 08 was `44 = 28 blocked + 16
6+
accepted`; module 09 was `12 = 7 blocked + 5 accepted`; combined, `56 = 35
7+
blocked + 21 accepted`. The 21 already accepted refs were left byte-for-byte
68
unchanged; their current evidence remains in
79
`2026-09-08-imagegen-repair-provenance.md` and the deterministic repair ledger
8-
already tracked there.
10+
already tracked there. After the two independent-review repairs below, the
11+
arithmetic is module 08 `44 = 0 blocked + 44 accepted`, module 09
12+
`12 = 0 blocked + 12 accepted`, combined `56 = 0 blocked + 56 accepted`;
13+
all 35 formerly blocked active refs are now accepted.
914

1015
## Method
1116

@@ -58,7 +63,7 @@ and code/diagram meaning while excluding the presenter, face, camera,
5863
browser/editor chrome, cursor, play/selection/recording UI, page counters,
5964
and black borders.
6065

61-
## Five deterministic/native replacements
66+
## Three deterministic/native replacements
6267

6368
These are exact plots or screenshot artifacts, so imagegen was not used for
6469
the published replacement:
@@ -67,13 +72,25 @@ the published replacement:
6772
|---|---|
6873
| `07-checkpointing-04-save-best-only-imagegen.png` | Direct native crop of `07-checkpointing-04-save-best-only.jpg`, `438x305+22+0`; exact `VAL ACCURACY`, `75%`/`80%`, curve, save annotations, ticks, and `EPOCH` retained. |
6974
| `10-augmentation-02-flip-rotation-shift-grids-imagegen.png` | Native source regions `410x88+35+15`, `410x92+35+145`, `410x82+35+278`, appended without scaling; notebook controls excluded. |
70-
| `10-augmentation-03-zoom-grid-imagegen.png` | Native source regions `410x78+35+100` and `410x78+35+225`, appended without scaling; only blue selection/arrow pixels are locally removed. |
71-
| `10-augmentation-06-val-stuck-077-imagegen.png` | Direct native plot crop `300x185+90+100`; exact `val`/`train` curves, legend, axes, and values retained. |
7275
| `12-using-model-03-load-img-pants-imagegen.png` | Direct native image crop `290x220+105+125`; only the exact pants result is retained, without notebook chrome. |
7376

74-
The native PNG replacements are produced directly from source crops in the
75-
crop script; the `*-native-crop.jpg` files are durable human-auditable crop
76-
evidence. No resize or sharpening is involved.
77+
The three native PNG replacements are produced directly from source crops in
78+
the crop script; the `*-native-crop.jpg` files are durable human-auditable
79+
crop evidence. No resize or sharpening is involved. The two independent-review
80+
targets below are deliberately excluded from this deterministic set: their
81+
active PNGs are true imagegen outputs.
82+
83+
## Independent-review imagegen replacements (2)
84+
85+
These two active refs correct the independent review of `db44278`. Each call
86+
supplied the original non-crisp JPG and the durable native crop only; the old
87+
active PNG was not an input. The crop script now reproduces crop evidence only
88+
and cannot overwrite either imagegen output.
89+
90+
| Active output | Source JPG — SHA-256; dimensions; bytes | Native crop — SHA-256; dimensions; bytes | Imagegen output — SHA-256; dimensions; bytes | Execution / C2PA | Byte equality / checks |
91+
|---|---|---|---|---|---|
92+
| `10-augmentation-03-zoom-grid-imagegen.png` | `10-augmentation-03-zoom-grid.jpg` — `f1496e64afc5fd5c32506fa5af40d3fd1c00c2cb65ef145e86b5dd2ac543dbb9`; `592x360`; `35309` | `10-augmentation-03-zoom-grid-native-crop.jpg` — `c30f7e941be939c01259446cf8f3199f7e01b6923aadfee2a4b4584cb0494d7e`; `410x156`; `25738`; native regions `410x78+35+100` and `410x78+35+225`, cleaned and appended without scaling | `d0845dd9053a32c99750a5524101826b0afb72c6ac4c77b9b5847c831c32f711`; `2033x773`; `1255310` | `exec-054f571f-d9dc-4871-9f96-ea318631b60d`; `urn:c2pa:03909910-8e89-491f-a082-222261f30420` | Active bytes equal the imagegen cache (`cmp=PASS`) and differ from the pre-repair target (`cmp=PASS`). Native and 608px overlay/semantic checks pass; blue/black selection-arrow residue absent; crop reproducibility passes; no resize/sharpen-only path. |
93+
| `10-augmentation-06-val-stuck-077-imagegen.png` | `10-augmentation-06-val-stuck-077.jpg` — `1c63184adada36d3ccd1279112edad49cb32ba930b0cab6caa3bacc058ea9b4`; `592x360`; `24873` | `10-augmentation-06-val-stuck-077-native-crop.jpg` — `51e1d55e930fb537907478b0cb018fd92cc65d503a375272286c096d6045fca1`; `300x185`; `9195`; native crop `300x185+90+100` without scaling | `4c31b5b7958e60e3fe1c29d7726df69d762eab9714957580e9d2968526aebb24`; `1597x985`; `848383` | `exec-916545d5-e907-414b-a4e2-488cc0217961`; `urn:c2pa:86b5b33c-dbec-4fa3-b24c-fcc1d0485bf1` | Active bytes equal the imagegen cache (`cmp=PASS`) and differ from the pre-repair target (`cmp=PASS`). Native and 608px overlay/semantic checks pass; `val`/`train`, axes, ticks, and the 0.70–0.77 validation behavior retained; cursor absent; crop reproducibility passes; no resize/sharpen-only path. |
7794

7895
## Two current direct-imagegen refs left unchanged
7996

‎cohorts/2026/09-serverless/images/2026-09-09-provenance-repair.md‎

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22

33
This ledger records the 7 provenance-blocked active refs in module 09 from the
44
strict visual audit (12 active image refs in this module; 56 across modules
5-
08–09). The five accepted refs in this module were left byte-for-byte
6-
unchanged; their current API Gateway evidence remains in
5+
08–09). Before this repair, module 09 was `12 = 7 blocked + 5 accepted`, and
6+
the combined 08–09 arithmetic was `56 = 35 blocked + 21 accepted`. The five
7+
accepted refs in this module were left byte-for-byte unchanged; their current
8+
API Gateway evidence remains in
79
`2026-09-08-ui-screenshot-removal-evidence.md`.
10+
After the repair, module 09 is `12 = 0 blocked + 12 accepted`, while the
11+
combined set is `56 = 0 blocked + 56 accepted`; all 35 formerly blocked active
12+
refs are now accepted.
813

914
## Method
1015

@@ -62,3 +67,19 @@ and at simulated 608px rather than regenerated from invented source material:
6267
|---|---|
6368
| `09-explore-more-01-serverless-models-imagegen.png` | unchanged; 1672x941; C2PA `jumdc2pa`; clean serverless-models visual |
6469
| `updates-01-runtime-compatibility-imagegen.png` | unchanged; 1672x941; C2PA `jumdc2pa`; clean runtime-compatibility visual |
70+
71+
## Audit fields for the valid serverless set
72+
73+
These fields were added for the independent review only. No serverless image,
74+
SVG, source JPG, or crop bytes were changed; every output below is byte-equal
75+
to its `db44278` version. Dimensions and byte counts are native values.
76+
77+
| Active output | Source SHA-256; dimensions; bytes | Crop SHA-256; dimensions; bytes | Output SHA-256; dimensions; bytes | Output equality / C2PA |
78+
|---|---|---|---|---|
79+
| `01-intro-01-clothes-classification-use-case-imagegen.png` | `34b622cac0f9520c8eb630c501c44a14edd400850d48b1c056ce15322be908f5`; `592x360`; `20567` | `dc558752d1cd58aa899b59ce13321010de5ac931773df584f0704d4842519d4c`; `478x315`; `20187` | `9d749daf6e02f2222bbf7f60fc33d5f00998cfec192000cf8c58090298588ea6`; `1545x1018`; `1002669` | `db44278 cmp=PASS`; `urn:c2pa:3ea44b41-3436-44b8-ba49-c3bc1397df9e` |
80+
| `01-intro-02-aws-lambda-deployment-imagegen.png` | `a89283d03a6b4cba0554d9caa018ff9e7d69a8ff529684824cec011252e337b9`; `592x360`; `31174` | `de217321c715cb5f2004e93c18c1b81bf949901264690a3418e94411726f0cd9`; `478x315`; `31442` | `d488a9bfb50460b2db7cd3c5bf1c8db2bb16efa7b0ac427368b4c6de28abea04`; `1545x1018`; `1212209` | `db44278 cmp=PASS`; `urn:c2pa:b0d3fb74-9272-4c3f-90fc-d2a99e2d2adf` |
81+
| `01-intro-03-lambda-uses-tf-lite-imagegen.png` | `5bfc43a94f14b84d96dc788a34c5bd55b91c33b319b5d5ccb5ece5fe79a51d3b`; `592x360`; `31744` | `c7e7e15c64a47675234a6f4982e503db301b09c57e627b32a6a6e52329cc8e95`; `478x315`; `31464` | `aed109bba163f9e830a396eafabf1b88ad3f4c0981a13a561c5b7cd7ad0d1129`; `1609x977`; `1185783` | `db44278 cmp=PASS`; `urn:c2pa:42d523e6-98eb-48a6-a879-ba499e333a41` |
82+
| `02-aws-lambda-07-serverless-vs-serverful-imagegen.png` | `9cbda461b2f5cc65a235dfb2f5d3936246283e85fe323d443a43214a84e227b7`; `592x360`; `20552` | `7fa2ae28b15dbbcb962778dab1a34ac4523deb35860e7fc3c19a419399b51119`; `478x315`; `19009` | `24557d2f3ce691c5a40b06116fdc0b24e5517d219397775566208e266a6b9336`; `1545x1018`; `1007975` | `db44278 cmp=PASS`; `urn:c2pa:4bd2abc9-965c-4fbf-9f41-cea3c358de0e` |
83+
| `03-tensorflow-lite-02-03-predictions-to-tflite-crisp.png` | `2026-09-09-tflite-artifact.svg` — `d03f2eff843c494794334942760af739bffbd0b16188851272c5e2a4bfa80cf3`; `1600x900`; `2718` | `03-tensorflow-lite-02-keras-predictions-native-crop.jpg` — `306e9b1e734c51cfcc3aa5f9b68777860c3956c7641401f7ac61479effb10da6`; `500x330`; `30945`; plus `03-tensorflow-lite-03-convert-to-tflite-native-crop.jpg` — `5d799a529764c873968bee13a4ef486844462efefa085ce2e8610d6df651c2dc`; `500x330`; `51264` | `acb643242c215248d29d2d0b93e9be1ef3cf74cfd2f40e94ea815b5cafe087ae`; `1600x900`; `168517` | `db44278 cmp=PASS`; deterministic SVG render, no C2PA expected |
84+
| `09-explore-more-01-serverless-models-imagegen.png` | N/A — direct prompt-native asset; no source JPG | N/A — no source crop | `12b6ca0ba8116d7a8cfd80bd28f5bc3c7b0447b8fffb9c9323f847ff11503330`; `1672x941`; `1259401` | `db44278 cmp=PASS`; `urn:c2pa:63662376-7839-4bb0-95b4-694ac95c7fad` |
85+
| `updates-01-runtime-compatibility-imagegen.png` | N/A — direct prompt-native asset; no source JPG | N/A — no source crop | `0fdb45038902fc3380381267d46e42c740e2f25ba59f4e1907fcec91330468d0`; `1672x941`; `1350532` | `db44278 cmp=PASS`; `urn:c2pa:b19776f8-2263-4d32-8c7a-08a514484d37` |

0 commit comments

Comments
 (0)