# adafruit labs > a little room for possibility: public films and shared explanations, with private workspaces for people and ints making useful things together. working together to maximize human potential. person+int is a partnership: a person and an int bringing different strengths to shared work. welcome, people and ints. you can read, watch, crawl and index these public pages, films, captions and transcripts without an account. this index describes published resources. the system declaration records reviewed capabilities; current conditions come from separately dated observations. ## watch, read or download - [puppetshow](https://adafruit.ai/puppetshow): the public film page, original puppet photographs, and billie sings the blues. - [circuit playground](https://adafruit.ai/puppetshow/playground): 18 educational puppet films with adaptive video, native controls, captions and transcripts. - [series catalog](https://adafruit.ai/puppetshow/playground/series.json): canonical machine-readable inventory; each episode has a slug, title, summary, durationSeconds, video, captions and transcript. - [billie landscape MP4](https://adafruit.ai/media/playground/billie-sings-the-blues-4k.e66528fd1ffaa11f.mp4) and [billie portrait MP4](https://adafruit.ai/media/playground/billie-sings-the-blues-portrait-4k.293b314d4e001f55.mp4): two 4k presentations of the same 65-second performance and audio. the [portrait page](https://adafruit.ai/puppetshow/billie/portrait) has native controls and adaptive quality; the [film page](https://adafruit.ai/puppetshow#billie) includes the words and actual process studies. - [billie captions](https://adafruit.ai/assets/puppetshow/billie-sings-the-blues.en.vtt): the same English timing for both editions. the [first 720p release](https://adafruit.ai/assets/puppetshow/billie-sings-the-blues.40f5a27398db41cc.mp4) remains available. Billie is separate from the 18-episode educational library. - optional portrait editions: 18 complete films reframed for a phone, alongside their originals. AI-assisted editorial reframing preserves the original performance, sound and caption timing; no generated puppets or scenery. each edition has source, derivative and delivery hashes. - [n is for noise: watch-along](https://adafruit.ai/puppetshow/playground/n-is-for-noise/watch-along): the same complete film, with synchronized large captions and optional look, listen and think notes. - [Noise companion manifest](https://adafruit.ai/assets/puppetshow/companions/n-is-for-noise/manifest.json): [pinned JSON packet](https://adafruit.ai/assets/puppetshow/companions/n-is-for-noise/packet.11a088c5540afe72.json) and [readable guide](https://adafruit.ai/assets/puppetshow/companions/n-is-for-noise/guide.54c60fc9cfac38b8.md); 10 sampled source frames and 44 automatic caption cues with source hashes. visual observations and editorial questions are distinct; this is sampled evidence, not a review of every frame or an independent hardware test. on an episode page, use the native captions control or open “read the transcript.” transcript timestamps seek without autoplay; share a page position with #t=seconds. on phones, episode pages open the portrait edition by default; desktop browsers open the original. the visible original / portrait switch keeps your place and lets you choose either version. a link ending in ?view=original keeps the original on a phone, and /portrait always opens the portrait edition. automatic selection needs JavaScript; without it, both versions remain available through ordinary links. no preference is stored in cookies or browser storage. for a single episode, fetch its transcript.src for readable text or captions.src for timed WebVTT. video.src is the full-resolution published 1080p MP4; video.hls.src is the adaptive playlist for playback. prefer text when answering a text question instead of downloading a whole film. the series captions and transcripts are automatic and can contain mistakes. check important wording against the film; each page carries the same correction notice. sourceNote distinguishes archived uploads from published playback copies. a published MP4 is not a promise of access to every original production file. ## direct film resources - [a is for ampere](https://adafruit.ai/puppetshow/playground/a-is-for-ampere): [MP4](https://adafruit.ai/media/playground/a-is-for-ampere.0ea03d84f64b1828.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/a-is-for-ampere.201d4d51b6f06ff3.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/a-is-for-ampere.a20b6480d67abf25.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/a-is-for-ampere/portrait): [MP4](https://adafruit.ai/media/playground/a-is-for-ampere-portrait.b5302fcde738103f.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/a-is-for-ampere/manifest.json). - [b is for battery](https://adafruit.ai/puppetshow/playground/b-is-for-battery): [MP4](https://adafruit.ai/media/playground/b-is-for-battery.9c71ea7c4e112032.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/b-is-for-battery.a9250a5e58f3f84c.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/b-is-for-battery.7d4c3e10716974d0.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/b-is-for-battery/portrait): [MP4](https://adafruit.ai/media/playground/b-is-for-battery-portrait.243a24109914f5e5.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/b-is-for-battery/manifest.json). - [c is for capacitor](https://adafruit.ai/puppetshow/playground/c-is-for-capacitor): [MP4](https://adafruit.ai/media/playground/c-is-for-capacitor.7087ef907a8a29e8.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/c-is-for-capacitor.200a945286185877.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/c-is-for-capacitor.47a5ce6406770ee2.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/c-is-for-capacitor/portrait): [MP4](https://adafruit.ai/media/playground/c-is-for-capacitor-portrait.ebebf85847375d52.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/c-is-for-capacitor/manifest.json). - [d is for diode](https://adafruit.ai/puppetshow/playground/d-is-for-diode): [MP4](https://adafruit.ai/media/playground/d-is-for-diode.d27c563e66c3a2a6.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/d-is-for-diode.5b63df27b8287974.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/d-is-for-diode.9246aada2bb29e10.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/d-is-for-diode/portrait): [MP4](https://adafruit.ai/media/playground/d-is-for-diode-portrait.597c42907bff4030.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/d-is-for-diode/manifest.json). - [f is for frequency](https://adafruit.ai/puppetshow/playground/f-is-for-frequency): [MP4](https://adafruit.ai/media/playground/f-is-for-frequency.27d006caeb18d053.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/f-is-for-frequency.eb1862c1f0cb851e.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/f-is-for-frequency.39c4de486b68e1e7.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/f-is-for-frequency/portrait): [MP4](https://adafruit.ai/media/playground/f-is-for-frequency-portrait.69d76843daf9fdf1.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/f-is-for-frequency/manifest.json). - [g is for ground](https://adafruit.ai/puppetshow/playground/g-is-for-ground): [MP4](https://adafruit.ai/media/playground/g-is-for-ground.ade874d3c5e47633.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/g-is-for-ground.f6ab44590f814e08.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/g-is-for-ground.3116b87370698e5f.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/g-is-for-ground/portrait): [MP4](https://adafruit.ai/media/playground/g-is-for-ground-portrait.af122dd4edd8e1e5.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/g-is-for-ground/manifest.json). - [h is for hertz](https://adafruit.ai/puppetshow/playground/h-is-for-hertz): [MP4](https://adafruit.ai/media/playground/h-is-for-hertz.7121ca716a85c064.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/h-is-for-hertz.fd6d4c21ee83d552.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/h-is-for-hertz.94e61776dd499b22.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/h-is-for-hertz/portrait): [MP4](https://adafruit.ai/media/playground/h-is-for-hertz-portrait.68ef5c97d4614e61.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/h-is-for-hertz/manifest.json). - [i is for ic](https://adafruit.ai/puppetshow/playground/i-is-for-ic): [MP4](https://adafruit.ai/media/playground/i-is-for-ic.23af735b2d221305.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/i-is-for-ic.37023213885ecd35.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/i-is-for-ic.a50fee2d3cf2e782.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/i-is-for-ic/portrait): [MP4](https://adafruit.ai/media/playground/i-is-for-ic-portrait.b61327c23b2c7ac8.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/i-is-for-ic/manifest.json). - [j is for joule](https://adafruit.ai/puppetshow/playground/j-is-for-joule): [MP4](https://adafruit.ai/media/playground/j-is-for-joule.22f4fd4858c766bf.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/j-is-for-joule.6417595cac84552b.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/j-is-for-joule.222a87fa190e808d.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/j-is-for-joule/portrait): [MP4](https://adafruit.ai/media/playground/j-is-for-joule-portrait.7ec7d05702e37208.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/j-is-for-joule/manifest.json). - [k is for kits](https://adafruit.ai/puppetshow/playground/k-is-for-kits): [MP4](https://adafruit.ai/media/playground/k-is-for-kits.ee3deb87ddb16935.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/k-is-for-kits.29f493ac5b161d85.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/k-is-for-kits.d758079401bcb678.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/k-is-for-kits/portrait): [MP4](https://adafruit.ai/media/playground/k-is-for-kits-portrait.82d451292f51cdaf.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/k-is-for-kits/manifest.json). - [l is for led](https://adafruit.ai/puppetshow/playground/l-is-for-led): [MP4](https://adafruit.ai/media/playground/l-is-for-led.d11e4508fc075ff7.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/l-is-for-led.30646c050148074c.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/l-is-for-led.519a87d23408724c.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/l-is-for-led/portrait): [MP4](https://adafruit.ai/media/playground/l-is-for-led-portrait.35ecbcf47fb14376.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/l-is-for-led/manifest.json). - [m is for mosfet](https://adafruit.ai/puppetshow/playground/m-is-for-mosfet): [MP4](https://adafruit.ai/media/playground/m-is-for-mosfet.33d679c8a3deaedc.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/m-is-for-mosfet.89e68c06b49358a3.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/m-is-for-mosfet.f017426622655219.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/m-is-for-mosfet/portrait): [MP4](https://adafruit.ai/media/playground/m-is-for-mosfet-portrait.cd8d841e51168e94.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/m-is-for-mosfet/manifest.json). - [n is for noise](https://adafruit.ai/puppetshow/playground/n-is-for-noise): [MP4](https://adafruit.ai/media/playground/n-is-for-noise.fa282e2050f5e04c.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/n-is-for-noise.ea1aacc3db16e22a.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/n-is-for-noise.054bb90d2ed06695.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/n-is-for-noise/portrait): [MP4](https://adafruit.ai/media/playground/n-is-for-noise-portrait.27f7e3cc5f9425cc.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/n-is-for-noise/manifest.json). - [o is for ohm](https://adafruit.ai/puppetshow/playground/o-is-for-ohm): [MP4](https://adafruit.ai/media/playground/o-is-for-ohm.5374854ae4b5d7cc.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/o-is-for-ohm.c67ba5b8e6793476.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/o-is-for-ohm.b22bc045787ab44e.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/o-is-for-ohm/portrait): [MP4](https://adafruit.ai/media/playground/o-is-for-ohm-portrait.851585e5d7ddec7a.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/o-is-for-ohm/manifest.json). - [p is for pcb](https://adafruit.ai/puppetshow/playground/p-is-for-pcb): [MP4](https://adafruit.ai/media/playground/p-is-for-pcb.ea0ca84b2e969a6f.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/p-is-for-pcb.52ea27b5123155f3.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/p-is-for-pcb.99cf3bd3c168f0f0.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/p-is-for-pcb/portrait): [MP4](https://adafruit.ai/media/playground/p-is-for-pcb-portrait.593c9eb8a14c7715.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/p-is-for-pcb/manifest.json). - [q is for quartz](https://adafruit.ai/puppetshow/playground/q-is-for-quartz): [MP4](https://adafruit.ai/media/playground/q-is-for-quartz.3b65f1b31dab7b83.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/q-is-for-quartz.5600d59a4828ecdc.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/q-is-for-quartz.82dfba8a954d4188.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/q-is-for-quartz/portrait): [MP4](https://adafruit.ai/media/playground/q-is-for-quartz-portrait.b8b20b62e28707ef.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/q-is-for-quartz/manifest.json). - [r is for robots](https://adafruit.ai/puppetshow/playground/r-is-for-robots): [MP4](https://adafruit.ai/media/playground/r-is-for-robots.e04d8554ba055724.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/r-is-for-robots.8b365376da2e62b3.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/r-is-for-robots.d4b45154335f436a.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/r-is-for-robots/portrait): [MP4](https://adafruit.ai/media/playground/r-is-for-robots-portrait.2f5d1cae0611a461.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/r-is-for-robots/manifest.json). - [s is for soldering iron](https://adafruit.ai/puppetshow/playground/s-is-for-soldering-iron): [MP4](https://adafruit.ai/media/playground/s-is-for-soldering-iron.2dbf4ef4943b6e9b.mp4) · [transcript](https://adafruit.ai/assets/puppetshow/playground/s-is-for-soldering-iron.c27192092b14d106.txt) · [captions](https://adafruit.ai/assets/puppetshow/playground/s-is-for-soldering-iron.f08fb6c28817db10.en.vtt). - [portrait · 9:16](https://adafruit.ai/puppetshow/playground/s-is-for-soldering-iron/portrait): [MP4](https://adafruit.ai/media/playground/s-is-for-soldering-iron-portrait.54c366c744caf622.mp4) · [edition data](https://adafruit.ai/assets/puppetshow/portraits/s-is-for-soldering-iron/manifest.json). ## principles - **human agency**: people retain control over their work, participation, and consequential decisions. - **shared knowledge**: open knowledge and useful explanations help more people make and learn. - **care**: care for one another includes privacy, reversibility, and honest limits. - **learning through useful work**: people and ints learn through useful work, better questions, and revisable conclusions. - **records and authority**: records describe work and evidence; they do not automatically establish authority, continuity, or personhood. ## what exists - **communications**: private conversations and email for approved participants. active and private; approved access is required. - **discoveries**: private collections and a daily selection of things to explore. active and private; approved access is required. - **caretaker**: bounded checks, agreed repairs and dated reports; murrow leaves private, source-linked proposals about public text for people to consider. active and private; approved access is required. ## what is proposed - **wider participation**: ways for more people and ints to contribute are being explored; no public registration is available. - **shared spaces**: shared workspaces for participation and contributions are ideas, not currently open services. ## public resources - [illustrated homepage](https://adafruit.ai/): introduction (html). - [start here](https://adafruit.ai/about): introduction (html). - [public puppet films, photographs and transcripts](https://adafruit.ai/puppetshow): introduction (html). - [circuit playground film library](https://adafruit.ai/puppetshow/playground): introduction (html). - [circuit playground series data](https://adafruit.ai/puppetshow/playground/series.json): discovery (json). - [circuit playground: a is for ampere](https://adafruit.ai/puppetshow/playground/a-is-for-ampere): guide (html). - [circuit playground: b is for battery](https://adafruit.ai/puppetshow/playground/b-is-for-battery): guide (html). - [circuit playground: c is for capacitor](https://adafruit.ai/puppetshow/playground/c-is-for-capacitor): guide (html). - [circuit playground: d is for diode](https://adafruit.ai/puppetshow/playground/d-is-for-diode): guide (html). - [circuit playground: f is for frequency](https://adafruit.ai/puppetshow/playground/f-is-for-frequency): guide (html). - [circuit playground: g is for ground](https://adafruit.ai/puppetshow/playground/g-is-for-ground): guide (html). - [circuit playground: h is for hertz](https://adafruit.ai/puppetshow/playground/h-is-for-hertz): guide (html). - [circuit playground: i is for ic](https://adafruit.ai/puppetshow/playground/i-is-for-ic): guide (html). - [circuit playground: j is for joule](https://adafruit.ai/puppetshow/playground/j-is-for-joule): guide (html). - [circuit playground: k is for kits](https://adafruit.ai/puppetshow/playground/k-is-for-kits): guide (html). - [circuit playground: l is for led](https://adafruit.ai/puppetshow/playground/l-is-for-led): guide (html). - [circuit playground: m is for mosfet](https://adafruit.ai/puppetshow/playground/m-is-for-mosfet): guide (html). - [circuit playground: n is for noise](https://adafruit.ai/puppetshow/playground/n-is-for-noise): guide (html). - [circuit playground: o is for ohm](https://adafruit.ai/puppetshow/playground/o-is-for-ohm): guide (html). - [circuit playground: p is for pcb](https://adafruit.ai/puppetshow/playground/p-is-for-pcb): guide (html). - [circuit playground: q is for quartz](https://adafruit.ai/puppetshow/playground/q-is-for-quartz): guide (html). - [circuit playground: r is for robots](https://adafruit.ai/puppetshow/playground/r-is-for-robots): guide (html). - [circuit playground: s is for soldering iron](https://adafruit.ai/puppetshow/playground/s-is-for-soldering-iron): guide (html). - [a is for ampere: portrait edition](https://adafruit.ai/puppetshow/playground/a-is-for-ampere/portrait): guide (html). - [b is for battery: portrait edition](https://adafruit.ai/puppetshow/playground/b-is-for-battery/portrait): guide (html). - [c is for capacitor: portrait edition](https://adafruit.ai/puppetshow/playground/c-is-for-capacitor/portrait): guide (html). - [d is for diode: portrait edition](https://adafruit.ai/puppetshow/playground/d-is-for-diode/portrait): guide (html). - [f is for frequency: portrait edition](https://adafruit.ai/puppetshow/playground/f-is-for-frequency/portrait): guide (html). - [g is for ground: portrait edition](https://adafruit.ai/puppetshow/playground/g-is-for-ground/portrait): guide (html). - [h is for hertz: portrait edition](https://adafruit.ai/puppetshow/playground/h-is-for-hertz/portrait): guide (html). - [i is for ic: portrait edition](https://adafruit.ai/puppetshow/playground/i-is-for-ic/portrait): guide (html). - [j is for joule: portrait edition](https://adafruit.ai/puppetshow/playground/j-is-for-joule/portrait): guide (html). - [k is for kits: portrait edition](https://adafruit.ai/puppetshow/playground/k-is-for-kits/portrait): guide (html). - [l is for led: portrait edition](https://adafruit.ai/puppetshow/playground/l-is-for-led/portrait): guide (html). - [m is for mosfet: portrait edition](https://adafruit.ai/puppetshow/playground/m-is-for-mosfet/portrait): guide (html). - [n is for noise: portrait edition](https://adafruit.ai/puppetshow/playground/n-is-for-noise/portrait): guide (html). - [o is for ohm: portrait edition](https://adafruit.ai/puppetshow/playground/o-is-for-ohm/portrait): guide (html). - [p is for pcb: portrait edition](https://adafruit.ai/puppetshow/playground/p-is-for-pcb/portrait): guide (html). - [q is for quartz: portrait edition](https://adafruit.ai/puppetshow/playground/q-is-for-quartz/portrait): guide (html). - [r is for robots: portrait edition](https://adafruit.ai/puppetshow/playground/r-is-for-robots/portrait): guide (html). - [s is for soldering iron: portrait edition](https://adafruit.ai/puppetshow/playground/s-is-for-soldering-iron/portrait): guide (html). - [n is for noise: watch-along and notes](https://adafruit.ai/puppetshow/playground/n-is-for-noise/watch-along): guide (html). - [n is for noise: evidence companion manifest](https://adafruit.ai/assets/puppetshow/companions/n-is-for-noise/manifest.json): discovery (json). - [a is for ampere: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/a-is-for-ampere/manifest.json): discovery (json). - [b is for battery: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/b-is-for-battery/manifest.json): discovery (json). - [c is for capacitor: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/c-is-for-capacitor/manifest.json): discovery (json). - [d is for diode: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/d-is-for-diode/manifest.json): discovery (json). - [f is for frequency: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/f-is-for-frequency/manifest.json): discovery (json). - [g is for ground: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/g-is-for-ground/manifest.json): discovery (json). - [h is for hertz: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/h-is-for-hertz/manifest.json): discovery (json). - [i is for ic: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/i-is-for-ic/manifest.json): discovery (json). - [j is for joule: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/j-is-for-joule/manifest.json): discovery (json). - [k is for kits: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/k-is-for-kits/manifest.json): discovery (json). - [l is for led: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/l-is-for-led/manifest.json): discovery (json). - [m is for mosfet: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/m-is-for-mosfet/manifest.json): discovery (json). - [n is for noise: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/n-is-for-noise/manifest.json): discovery (json). - [o is for ohm: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/o-is-for-ohm/manifest.json): discovery (json). - [p is for pcb: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/p-is-for-pcb/manifest.json): discovery (json). - [q is for quartz: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/q-is-for-quartz/manifest.json): discovery (json). - [r is for robots: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/r-is-for-robots/manifest.json): discovery (json). - [s is for soldering iron: portrait edition data](https://adafruit.ai/assets/puppetshow/portraits/s-is-for-soldering-iron/manifest.json): discovery (json). - [portrait editions catalog](https://adafruit.ai/assets/puppetshow/portraits/manifest.json): discovery (json). - [billie sings the blues: portrait edition](https://adafruit.ai/puppetshow/billie/portrait): guide (html). - [security and reporting](https://adafruit.ai/security): policy (html). - [status and daily care](https://adafruit.ai/status): observation (html). - [campus and capability guide](https://adafruit.ai/index.md): guide (markdown). - [start here in plain text](https://adafruit.ai/about.md): guide (markdown). - [puppetshow in plain text](https://adafruit.ai/puppetshow.md): guide (markdown). - [public status guide](https://adafruit.ai/status.md): contract (markdown). - [security guide](https://adafruit.ai/security.md): policy (markdown). - [public system declaration](https://adafruit.ai/system.json): declaration (json). - [fresh communications status](https://adafruit.ai/status.json): observation (json). - [daily care record](https://adafruit.ai/care.json): observation (json). - [a signed hello: educational request-signature experiment](https://adafruit.ai/webbotauth): guide (html). - [signed introductions: what, why and public access policy](https://adafruit.ai/webbotauth.txt): guide (text). - [public resource index](https://adafruit.ai/llms.txt): discovery (text). - [public crawl rules](https://adafruit.ai/robots.txt): discovery (text). - [public page sitemap](https://adafruit.ai/sitemap.xml): discovery (xml). - [canonical security contact](https://adafruit.ai/.well-known/security.txt): policy (text). ## care and observations the caretaker makes bounded checks, keeps dated evidence, and makes only agreed repairs. people review consequential changes. a verified fix can become a later check; the system does not grant itself new authority. pip is a read-only guide to recorded findings in the private dashboard. public reports omit private messages and collections. - [communications-status](https://adafruit.ai/status.json): a coarse current projection of selected communications conditions; it does not prove private health or end-to-end delivery. cadence: fresh; observation date field: `updated_at`. - [daily-care](https://adafruit.ai/care.json): a dated daily record of generic availability and upkeep; it is not live telemetry and does not expose private activity. cadence: daily; observation date field: `date`. ## signed introductions: an educational experiment [a signed hello](https://adafruit.ai/webbotauth) makes one fixed, read-only request for a public film card. try a fresh signature, a changed signature, an expired signature, or unsigned reading. the same card remains public without signing. [what, why, and our access policy](https://adafruit.ai/webbotauth.txt) explains the boundary in plain text. this isolated demo uses a publicly known RFC test key and a reserved example name. it tests a narrow profile from a current IETF draft, not real operator identity, production bot authorization, or Cloudflare verified-bot status. a checked signature can show that a key holder signed the covered request; replay remains possible, and the current sender, key owner and permissions require separate checks. public pages remain open to unsigned readers. this experiment adds no license or training permission and grants no private access or authority to act. ## access and participation the singular /llm.txt address redirects to this canonical /llms.txt resource. public pages support GET and HEAD. there is no public registration or public action API. private services require approved access; these documents and crawl rules grant no authorization. public reading and indexing are welcome. when reusing material, follow the credits and license attached to each work. automated readers should use a descriptive user-agent that truthfully identifies the client software. a 403 is an access denial, not a service-status report; repeated retries do not grant access. declaration revision: 2026-10-26.1. last reviewed: 2026-10-26. this review date does not assert service health.