AI-generated image purge
Vault-wide scan for AI-image-generation artifacts. Tells used to identify them: banner-styled title text, stylized 3D icon graphics with depth/gradients, faux decorative backgrounds, garbled or invented placeholder labels, any rendering that isn’t a flat technical diagram or a real plot.
The vault is public and auto-deploys, so AI-generated decorative images get deleted rather than left in place.
Scope of the scan
- All 476 images in
attachments/were either visually inspected (suspicious-named or large outliers) or known by provenance (Wikimedia downloads with API-verified license, matplotlib renders from_audit/, textbook PDFs and course slides with characteristic page numbers / Queen’s slide branding, hand-authored whiteboard photos). - Special attention to filenames containing
overview,concept,flow,process,core,architecture,hierarchy,system— the most likely AI-gen naming patterns. - All 21 ELEC 274 attachments (the course where the user flagged the example) were individually inspected.
Removed (4 files, all ELEC 274)
| File | Note | Why flagged |
|---|---|---|
elec274-cache-overview.png | Cache memory.md | The reference example. Banner title “CACHE CORE CONCEPTS”; stylized 3D circuit-board / memory-module renderings; gradient backgrounds; tries to combine “Temporal Cache” / “Spatial Cache” / “MEMORY ADDRESS DECOMPOSITION” / “CACHE MEMORY STRUCTURE & BLOCK ENTRY” into one busy concept-art panel; garbled micro-labels in the address-decomposition bar. |
elec274-two-pass-assembly.png | Assembler.md | Banner title “TWO-PASS ASSEMBLY PROCESS”; stylized 3D file-icon graphics with gradient depth; document icons containing fake squiggly placeholder text; decorative coloured boxes labelled “FIRST PASS / SECOND PASS” with cartoony shadowing. |
elec274-memory-cell-array.png | Memory cell.md | Banner-style “ADDRESS INPUT ARRAY” / “MEMORY CELL ARRAY” titles; stylised 3D depth on the cell-array stack; faux decorative gradients on the address-bus arrow; inconsistent label formatting and decorative annotation styling. |
elec274-separate-processing-linker.png | Linker.md | Banner title “SEPARATE PROCESSING (ASSEMBLER)”; stylised file-folder 3D icons; gradient backgrounds on every box; “Matched Names” / “Unresolved” labels in decorative-but-garbled styling typical of AI image generation. |
All four were dated May 9 19:11 — same batch upload. All four share the same visual signature (banner title + 3D icons + gradient + decorative coloring + slightly-off micro-text), which is what triggered the systematic per-file inspection of the rest of that batch.
Inspected and kept (representative)
The remaining 17 May-9 ELEC 274 images are legitimate:
- 12 are clean textbook figures (visible page numbers from the Hamacher/Vranesic/Zaky text —
big-vs-little-endian,compiler-assembler-linker,datapath-stages,instruction-address-generator,instruction-fetch-hardware,io-interface-registers,memory-program-layout,memory-program-layout-2,processor-internals,functional-units-block,subroutine-call-graph,stack-push-pop-with-sp). - 3 are hand-drawn whiteboard photos in
.jpeg(datapath-whiteboard,instruction-address-generator-whiteboard,instruction-fetch-whiteboard). - 1 is a clear slide-style figure (
stack-push-pop-conceptual— spring + plate stack illustration). - 1 is a Queen’s-branded course slide (
cache-mapping-example— text snippet showing the bit split for the worked example).
Spot-checked other courses for similar AI-gen patterns and found none:
- ELEC 252 outliers (
transistor-family-tree,mosfet-model-hierarchy,semiconductor-colossus-vs-silicon-chip,bridge-rectifier-cvd-worked) — all genuine Queen’s course slides with the standard yellow/blue ribbon at the top. - ELEC 271 outliers (
fpga-general-structure,cost-calculation-result) — clean slide-style. - ELEC 278 ”*-overview.png” files (
avl-tree-overview,binary-tree-traversal-overview,queue-deque-overview,selection-bubble-heap-sort-overview,shell-sort-overview) — all hand-drawn whiteboard study cards (consistent handwriting, structured content, no AI tells). - MTHE 237 large files (
phase-portrait-case1,lyapunov-method-overview,impulse-vs-time) — same hand-drawn whiteboard study-card style. - Non-course-prefixed files (
c-cpp-compilation-process,area-chart-example,bode-plot-lowpass,decision-tree-elements,call-stack-frame-layout) — already attributed Commons sources or screenshots from tools.
Replacements (3 self-rendered, 1 left text-only)
After the embed was removed, each spot was reassessed:
| Note | Decision | Replacement |
|---|---|---|
Cache memory.md | Re-illustrated | elec274-cache-address-decomp.png — self-rendered matplotlib bar showing the 32-bit address split into 14-bit tag / 13-bit index / 5-bit offset for the worked direct-mapped example. Flat, labelled, no decoration. |
Assembler.md | Re-illustrated | elec274-two-pass-assembly-flow.png — self-rendered matplotlib flowchart: source → Pass 1 builds symbol table → Pass 2 emits machine code → object file. Five rounded boxes, plain arrows, no styling. |
Memory cell.md | Re-illustrated | elec274-memory-cell-array-clean.png — self-rendered matplotlib block diagram showing a 4×4 cell grid, row decoder driving word lines, sense amplifiers on the bit lines, column decoder/mux below, data-out arrow. |
Linker.md | Left text-only | The note already contains a working ASCII flow under “In the full toolchain” (source → compiler/assembler → object files → linker → executable) plus a 5-step numbered enumeration of what the linker does. Adding a redundant rendered diagram would not earn its space. Spot deliberately left image-free. |
All three replacements are matplotlib-generated at 170 DPI; attribution rows appended to attachments/attributions.md marked “self-generated.” Captions in the notes use the standard *Self-generated illustrative figure — ...* form.
Summary
- Purged: 4 files, all from one same-day batch in ELEC 274.
- Replaced: 3 with self-rendered diagrams (Cache memory, Assembler, Memory cell).
- 1 spot deliberately left image-free (Linker — text already covers the picture).
- 0 broken embeds vault-wide after the pass.
- No image was sourced from an unverified or “trusted” website at any point. Replacements are matplotlib renders only.