Monorepo for Aesthetic.Computer aesthetic.computer
core feed DP1-PROVENANCE-COMPLETED.md
3.6 kB

DP1 Provenance Update - COMPLETED ✅ #

Date: October 12, 2025
Status: Successfully deployed to production


Summary #

All KidLisp playlists on feed.aesthetic.computer now include proper provenance blocks according to the DP-1 specification.


Updated Playlists #

✅ Colors Playlist #

✅ Chords Playlist #

✅ Top 100 KidLisp #


Provenance Block Format #

Each playlist item now includes:

{
  "provenance": {
    "type": "offChainURI",
    "contract": {
      "chain": "other",
      "uri": "https://aesthetic.computer/$code"
    }
  }
}

Example from Colors playlist: #

{
  "title": "aliceblue",
  "source": "https://aesthetic.computer/aliceblue?tv=true&density=5",
  "provenance": {
    "type": "offChainURI",
    "contract": {
      "chain": "other",
      "uri": "https://aesthetic.computer/aliceblue"
    }
  }
}

Scripts Updated #

Playlist Generation Scripts #

  • ✅ feed/create-top-kidlisp-playlist.mjs - Now includes provenance
  • ✅ feed/create-kidlisp-colors-playlist.mjs - Now includes provenance
  • ✅ feed/create-kidlisp-chords-playlist.mjs - Now includes provenance

Update Scripts #

  • ✨ feed/update-existing-playlists.mjs - Updates existing playlists with provenance
  • ✨ feed/update-kidlisp-playlists-simple.mjs - Simple regeneration wrapper
  • ✨ feed/regenerate-kidlisp-playlists.mjs - Full regeneration with delete

Changes Made #

  • Removed node-fetch import (using native fetch in Node 22)
  • Fixed provenance schema to include required chain field
  • Used 'other' for chain type (offchain KidLisp pieces)

Verification #

Test any playlist item:

curl -s https://feed.aesthetic.computer/api/v1/playlists/2680b102-04ee-47b5-b7d7-f814094695e7 \
  | jq '.items[0].provenance'

Expected output:

{
  "type": "offChainURI",
  "contract": {
    "chain": "other",
    "uri": "https://aesthetic.computer/aliceblue"
  }
}

API Authentication #

The production API uses Bearer token authentication stored as a Cloudflare Workers secret:

  • Secret Name: API_SECRET
  • Location: Cloudflare Workers environment (not in git)
  • Local Copy: aesthetic-computer-vault/feed/.env

Future: On-Chain Migration #

When KidLisp pieces are minted as Tezos FA2 tokens, update provenance to:

{
  "type": "onChain",
  "contract": {
    "chain": "tezos",
    "standard": "fa2",
    "address": "KT1...",
    "tokenId": "42",
    "uri": "ipfs://..."
  }
}

References #


Completed by: GitHub Copilot
Date: October 12, 2025
Status: ✅ Production Deployed