CONCEPT_APPROVALS.json

assets/CONCEPT_APPROVALS.json

{
 "_law": "Josh, 2026-08-12: no 3D asset is generated before he has reviewed its concept art board. This file is the ONLY key -- the generative runners have no override flag and no environment bypass. 257 of 271 assets were built with no concept reference at all; this file is what stops that repeating.",
 "_who_may_edit": "Josh. A seat may APPEND a proposed row only with approved_by null, which approves nothing (an unsigned row is refused by concept_gate.find_approval). Signing it is Josh's act.",
 "_fields": {
  "asset_class": "character | creature | equipment | prop | architecture | flora ... or '*' for every class",
  "subject": "the registry id (CHAR_0001, CR_0042, EQS_0013 ...) or '*' for every subject in that class",
  "board": "repo-relative path to the concept board Josh actually looked at",
  "approved_by": "Josh -- an unsigned row approves nothing",
  "approved_on": "YYYY-MM-DD",
  "note": "scope limits in plain words, e.g. 'ladder faces only, not the garment'"
 },
 "approvals": [
  {
   "asset_class": "character",
   "subject": "CHAR_0001",
   "board": "build/art/characters/approved_bald_ladder_chatgpt/ + build/art/characters/bald_multiview/",
   "approved_by": "Josh",
   "approved_on": "2026-08-12",
   "note": "Josh generated this ladder himself and said 'I think these are good to work with' after reviewing every rung. 14 portraits (bald + haired, ages 7/9/11/12.5/14/16/18) and 7 eight-view bald multiview sheets. SUPERSEDES the derived BALD_BUST_W1344 keystones, which measured 0.395-0.509 against the approved panels and were a different face. Scope: CHAR_0001 only. Every other class still needs its own board in front of him."
  },
  {
   "asset_class": "boss",
   "subject": "BE_0002",
   "board": "build/art/concept_boards/BE_0002/BOARD_BE_0002.png",
   "approved_by": null,
   "approved_on": null,
   "note": "PROPOSED by seat hf 2026-08-15; unsigned — approves nothing until Josh signs"
  },
  {
   "asset_class": "boss",
   "subject": "BE_0002_S1",
   "board": "build/art/concept_boards/BE_0002_S1/BOARD_BE_0002_S1.png",
   "approved_by": null,
   "approved_on": null,
   "note": "PROPOSED by seat hf 2026-08-15; unsigned — approves nothing until Josh signs"
  },
  {
   "asset_class": "boss",
   "subject": "BE_0003",
   "board": "build/art/concept_boards/BE_0003/BOARD_BE_0003.png",
   "approved_by": null,
   "approved_on": null,
   "note": "PROPOSED by seat hf 2026-08-15; unsigned — approves nothing until Josh signs"
  },
  {
   "asset_class": "creature",
   "subject": "CR_0001",
   "board": "build/art/concept_boards/CR_0001/BOARD_CR_0001.png",
   "approved_by": null,
   "approved_on": null,
   "note": "PROPOSED by seat hf 2026-08-15; unsigned — approves nothing until Josh signs"
  },
  {
   "asset_class": "creature",
   "subject": "CR_0003",
   "board": "build/art/concept_boards/CR_0003/BOARD_CR_0003.png",
   "approved_by": null,
   "approved_on": null,
   "note": "PROPOSED by seat hf 2026-08-15; unsigned — approves nothing until Josh signs"
  },
  {
   "asset_class": "creature",
   "subject": "CR_0004",
   "board": "build/art/concept_boards/CR_0004/BOARD_CR_0004.png",
   "approved_by": null,
   "approved_on": null,
   "note": "PROPOSED by seat hf 2026-08-15; unsigned — approves nothing until Josh signs"
  },
  {
   "asset_class": "creature",
   "subject": "CR_0005",
   "board": "build/art/concept_boards/CR_0005/BOARD_CR_0005.png",
   "approved_by": null,
   "approved_on": null,
   "note": "PROPOSED by seat hf 2026-08-15; unsigned — approves nothing until Josh signs"
  }
 ]
}

Generated by harness/site/structure_site.py — the URL path is the repo path. review root