Implementation and verification report

Song breakdowns — 18 October 2026

Added a seventh Hip-Hop Hub section with six guides: Eminem’s Lose Yourself and Stan, Kendrick Lamar’s DNA. and DUCKWORTH., and Tupac’s Dear Mama and Changes. Each guide includes release context, selected credits, a named recording route, five listening landmarks, expandable writing/flow/production analysis, an original teaching diagram and exercise, reflection questions, and links to styles, lessons, and other songs. Rap lessons and relevant style entries link back into the guides. The Hub and subsection navigation expose the new page.

Official recording pages, creator interviews, and the Library of Congress support release and production context. Interpretive analysis is identified as editorial. Maps use section landmarks rather than unverified timestamps; no claims of second-accurate seeking or embedded playback are made. The DUCKWORTH. listening route opens the original DAMN. album and identifies track 14. Diagrams and exercises are original, with no song lyrics, artwork, or audio bundled.

Artist and learning-focus filters combine with text search and shareable URLs. Deep links reveal and open filtered guides, move keyboard focus, and preserve ordinary links without JavaScript. Song notes extend the existing version-1 notebook with six disjoint IDs. Existing album notes, verse drafts, and progress are retained across all three notebook pages. Temporary notes remain downloadable; saving stays opt-in. Current edits survive opt-out, while confirmed reset clears the full hip-hop notebook.

Verification: 28 Node test groups passed, including source/reference checks and existing-notebook compatibility. All 313 real-Edge browser assertions passed: 77 platform, 54 Studio/Compare, 120 Hub, and 62 song checks. Tests cover combined filters, back/reload/deep links, keyboard analysis, source routes, old-notebook preservation across song/album/rap pages, downloads, opt-out/reset, blocked storage, reverse links, no-JavaScript guides, and expanded layouts at 320/390/768/1024/1440px. Desktop and mobile screenshots were visually reviewed. Project-path and domain-root Jekyll builds each passed checks for 39 HTML pages and 1,804 local links/assets.

Browser checks do not establish continuous provider availability or verify audio playback, exact timestamps, or every external credit. Safari/Firefox and physical-device testing remain outside this update. Earlier reports below retain their historical counts.

Styles & sounds expansion — 17 October 2026

Expanded the ten introductory style guides into a 36-entry directory across six browsing families. Each entry includes roots and context, three listening cues, example artists, a labelled listening route, an original exercise, related styles, and source links. The directory distinguishes subgenres, eras, regional umbrellas, writing and production approaches, techniques, and neighbouring traditions. It remains a growing introduction rather than a claim to cover every genre. All original style anchors and guided-album links remain valid.

Added artist/sound/alias search, combined family and entry-type filters, an A–Z index, starter routes, and native expandable cards. Filter URLs survive reload and browser navigation. Related links and direct anchors reveal a filtered entry, expand its details, and move keyboard focus to its heading. Browser testing caught native fragment navigation resetting that focus during initial loading; the final implementation reapplies the anchor after load. The editorial content and native disclosures remain usable without JavaScript.

Verification passed: 26 Node test groups, 22 Python validator cases, and 244 browser assertions (77 platform, 54 Studio/Compare, and 113 Hip-Hop Hub). The Hub checks include combined filters, invalid URL values, artist and alias search, keyboard disclosures, related links, deep links, no-JavaScript content, and responsive overflow at 320/390/768/1024px. Desktop and mobile directory screenshots were visually reviewed. Project-path and domain-root Jekyll builds each passed checks for 38 HTML pages and 1,685 local links/assets. Browser validation used Microsoft Edge; external provider playback and continuous external-link availability are not guaranteed.

The canonical data and its Jekyll mirror are updated together. SCHEMA.md documents the new fields and DEVELOPMENT.md describes the checks. Historical implementation reports below retain their original counts.

Hip-Hop Hub follow-up — 17 October 2026

Added a landing page and six connected sections: culture/history, styles/sounds, global scenes, guided album listening, rap practice, and a dictionary. The starter collection includes eight timeline entries, five connected practices, ten style guides, eight scene introductions, ten albums with three listening questions each, eight original rap exercises, and 38 terms. Twenty-seven source records link to archives, museums, artist/producer interviews, universities, labels, venues, and release pages. Entries distinguish editorial listening prompts from historical and release context; the collection is explicitly introductory rather than exhaustive or ranked. No recordings, album covers, or song lyrics are bundled.

The existing charcoal/violet/lime design now includes an original CSS record-sleeve illustration, section navigation, a timeline, listening cards, lesson navigation, and dictionary anchors. Homepage, Learn, global navigation, and footer link to the Hub. Search and category filters combine, support accented text, retain state in the URL, and respond to back navigation. A direct entry anchor reveals its target even if prior filters would hide it. All editorial content and native listening disclosures work without JavaScript.

Rap practice and listening share an optional local notebook: lesson completion, one verse draft, and per-album notes. Saving requires opt-in. Downloads contain readable text; opt-out removes the device copy while preserving current-page edits, and confirmed reset clears only the hip-hop notebook. Unreadable saved data is not silently replaced. Failed reads/writes retain temporary edits with an export path. Another tab’s changes pause saving and explain how to download current edits before reloading. The site still has no accounts, microphone access, uploads, backend, or third-party client scripts. Music playback remains on the linked providers.

Verification: 24 Node test groups, all 22 Python validator regression cases, the original 77 browser assertions, 54 Studio assertions, and 94 new Hub assertions passed. The new real-Edge checks cover all six sections, filtering/reload/back/anchors, literal untrusted query text, keyboard disclosures, opt-in and cross-page persistence, notebook downloads, opt-out/reset isolation, corrupt/blocked/quota storage, cross-tab recovery, all seven new pages at 320/390/768/1024px, and no-JavaScript content. Clean desktop and mobile previews were visually inspected; a missing space in a mobile heading was corrected. Final project-path and domain-root builds each passed checks for 38 HTML pages and 1,506 local links/assets. Existing catalogue records and learning pathways remain unchanged.

The canonical content is data/hiphop.json, copied by the existing staging script for Jekyll. New content, search, and notebook contracts are tested in test-hiphop.mjs; browser checks run in test-hiphop-browser.mjs. SCHEMA.md and DEVELOPMENT.md describe maintenance and storage behavior. Browser validation used Microsoft Edge; Safari/Firefox, exhaustive external-link uptime, and transactional simultaneous-tab edits remain outside the checks. The notebook’s text download is not an import format. The prior implementation reports below remain as historical baselines.

My Studio and Compare follow-up — 17 October 2026

Added studio.html and compare.html within the existing static Jekyll app. Discover cards now save to named collections and select up to three resources for comparison. The navigation and footer expose the new pages. Collections support creation, renaming, deletion, project notes, individual resource notes, and removal without affecting other collections. Comparison presents actual catalogue metadata and source links; missing information and offline support remain explicitly unrecorded.

Personal data is versioned under nys-studio-v1. Backup imports are validated and bounded before mutation, add collections without overwriting notes, skip identical content, and preserve an existing comparison. Corrupt storage is not overwritten; failed writes keep changes in memory and provide a download on the current page. Confirmed reset affects Studio only. Cross-tab changes update views, and passive refreshes retain unsaved note drafts. This remains a local browser feature with manual backup transfer, without accounts, uploads, or a backend.

Verification for this addition: all 20 Node test groups passed (including 11 new storage/schema/merge cases); the 77 existing browser assertions and 54 new Studio/comparison assertions passed in real Edge. The new checks cover end-to-end saving, duplicate handling, comparison limits, notes, import/export downloads, text injection, blocked/corrupt storage, cross-tab drafts, keyboard focus, widths from 320 to 1024 pixels, catalogue failure/retry, and no-JavaScript fallbacks. Desktop and mobile screenshots were visually inspected. The initial browser test setup attempted to seed local storage on an opaque blank-page origin; restricting the test seeding to HTTP pages resolved those harness errors. No application errors remained in the successful run.

Jekyll builds and rendered-link checks passed at both the project path and domain root: 31 HTML pages and 1,028 local links/assets in each. The original implementation report follows as a historical baseline. No new vendor claims or catalogue records were added in this follow-up. Safari/Firefox and truly simultaneous cross-tab writes remain unverified; local storage does not provide transactional merging.

Baseline and constraints

Started from upstream commit bafad82 (Rename project to Never Your Sounds), cloned into the delivery workspace because no checkout was present. Read the full repository tree, README, navigation, guides, resources, license, contribution/maintainer files, JSON, layouts/includes, assets, scripts and both Actions workflows before implementation. The baseline validator passed for 60 resources and five pathways. There were no existing frontend tests or dependency manifests.

The deployment contract is preserved: GitHub Actions stages canonical Markdown/JSON into docs/site, builds Jekyll from docs, uploads _site, and deploys to the project URL with /never-your-sounds. Existing browse.html?cat=..., /site/guides/*.html, /site/resources/*.html, JSON paths, original pathway IDs and sister links remain supported. The CC BY 4.0 license and repository documentation remain present.

Baseline gaps: catalogue search supported only name/category/tags, cards omitted descriptions and context, raw URLs were concatenated into HTML, paths opened only their first guide, and no browser utilities existed. The home template emitted duplicate titles, mobile navigation lacked Escape/focus behavior, and Markdown rendering relied on Pages-specific defaults. No claim is made that the upstream hosted site was successfully inspected: its URL could not be retrieved during the initial audit.

Delivered features

  • Design and navigation: charcoal, violet and restrained lime system; responsive homepage with working search, workflow/goals, open-source starting points, existing guide index and trust section; shared header/footer; skip link, focus states, reduced motion, progressive mobile navigation and 404 page. Local SVG favicon and 1200×630 social-preview PNG with editable SVG source. No external font requests.
  • Discovery: all original 60 resources retained. Metadata-aware search with platform aliases, combined filters, five sorts, URL restoration, result counts, accessible expandable detail, official-site links, cost/license caveats, honest historical review dates, recoverable loading/errors, omitted-malformed-record notices, no-JS fallback. DOM construction uses text nodes and validated HTTPS URLs rather than catalogue HTML injection.
  • Metadata: added grounded descriptions, optional pricing/license notes and source URLs. Targeted corrections to REAPER, Bitwig, SoundBridge, MuseScore, legacy Cakewalk and Studio One labels; no blanket new review dates. The existing film guide’s overly broad YouTube-library restriction was replaced with exact-track/platform verification guidance.
  • Creation: tap tempo averaged across up to eight intervals; metronome at 20–300 quarter-note BPM with accents, volume and eight signatures; bidirectional bars/beats/seconds calculator; six scales with degree-aware spelling; production vocabulary, signal flow, loudness/export reference; project-named licensing/release checklists with browser-local saving, reset and printable layout. Web Audio starts only on request and closes on stop/hide/navigation/interruption.
  • Learning: eight server-rendered journeys, with ordered actions, guide/category links, next step and progress. First beat, independent artist and sampling journeys join the original five. Local persistence is opt-in; disabling it removes saved progress. Reset current/all paths and blocked/corrupt storage behavior are implemented.
  • Trust and privacy: dedicated explanation of listed versus verified resources, cost models, licensing records and local storage. No accounts, analytics, third-party client libraries, microphone use, uploads, keys or backend.
  • Engineering: cross-platform Python staging with explicit front matter, retained shell entry point, GitHub-compatible Kramdown/GFM configuration, reproducible development manifests, data/schema regression checks, real browser tests, rendered-link checker and CI extensions.

Changed files

Core pages: docs/index.html, docs/browse.html, new docs/create.html, docs/learn.html, docs/trust.html, docs/404.html.

Shared site: docs/_config.yml, _includes/head.html, _includes/site-header.html, _includes/site-footer.html, _layouts/page.html, new _layouts/app.html; docs/assets/css/site.css, new browse.css, create.css, learn.css; docs/assets/js/site.js, browse.js, new create.js, learn.js, audio-math.mjs; favicon and social images.

Data/content: data/sound-resources.json, data/tracks.json, synced docs/_data/tracks.json, guides/film-and-video.md. data/guides.json and the original topic guides otherwise remain intact.

Development/documentation: README, NAVIGATION, CONTRIBUTING, MAINTAINERS, new SCHEMA, DEVELOPMENT and this report; Gemfile, package.json/package-lock.json, .gitignore, .gitattributes; staging/validation scripts, new test-validator.py, test-audio-math.mjs, test-discovery.mjs, test-browser.mjs, check-built-site.py; Pages and validation workflows.

Verification performed

  • Baseline python scripts/validate-catalog.py: passed, 60 resources and five tracks.
  • Updated python scripts/validate-catalog.py: passed, 60 resources, 12 guides and eight tracks.
  • python scripts/test-validator.py: all 22 regression cases passed. Initial Windows-sandbox temporary-directory failures were resolved by pointing process-local TEMP/TMP into the workspace; no tests were skipped.
  • npm test: all nine Node test groups passed, covering tempo/math/scales and safe catalogue normalization/search/filter/sort.
  • python scripts/sync-pages-site.py: executed successfully; original Markdown and JSON staged with explicit front matter.
  • Official Jekyll 3.10.0 source executed successfully through its CLI build command with the committed configuration. This machine had no Ruby; a workspace-local Ruby runtime and gems were used. Pure-Ruby library paths were supplied through a small local bootstrap because native watch/live-reload gems could not be installed without a Windows Devkit. Jekyll source and rendering code were not changed. Normal Bundler installation and GitHub-hosted Actions execution were not run here.
  • node scripts/test-browser.mjs: the final expanded run passed 77 assertions in headless Microsoft Edge. It covered real Web Audio event spacing/accents and context cleanup, 320/390/768/1024/1440px layouts, filter URLs, keyboard details, local storage, safe malformed data handling, HTTP errors, unsupported audio, printing controls and no-JS fallbacks. Earlier harness failures were corrected to measure elapsed tap time and scheduled audio-parameter values, rather than assuming automation has no timing overhead or reading future values before their scheduled time.
  • Both project-base-path and domain-root Jekyll builds passed. python scripts/check-built-site.py passed on each: 29 HTML pages and 881 local links/assets, including local fragments and single title/main/h1 checks. No external network checks are part of this test.
  • Desktop and mobile screenshots were inspected visually for the homepage and product pages. The SVG social graphic was rendered into a 73 KB PNG. git diff --check was run and formatting issues corrected.
  • Preservation checks compared the final data against git show HEAD:data/...: all 60 original resource names and all original pathway labels, guide references, category links and step order remain present.

Remaining boundaries and deployment

Publishing is handled by the existing Pages workflow after a push to main, or by manual workflow dispatch. Repository Pages source must remain GitHub Actions. A successful push does not by itself confirm a completed deployment; check the workflow result. No new infrastructure or credentials are required.

No DAW, microphone recording, audio-file analysis, mastering, generated audio, accounts, cloud sync, accreditation or live vendor monitoring was added. References and calculators are explicitly identified as such. Browser metronome timing and sound-device output vary; the tests verify scheduled audio, not perceived volume or hardware latency. Cross-browser Safari/Firefox and physical mobile audio were not tested. External links were not exhaustively checked for reachability or current license terms. The source notes identify focused metadata provenance; historical review dates are not current-term guarantees.

Official references used for focused descriptions/corrections include REAPER licensing, Bitwig trial, SoundBridge offerings, MuseScore, Cakewalk transition guidance, Audacity and Surge XT. LMMS’s source role was retained from existing repository content; its homepage returned 403 during the focused check.

← Back to home