Skip to content

feat(showcase): publish SEC and teardown Catalog outcome pages - #78

Merged
aaitor merged 3 commits into
mainfrom
feat/catalog-showcase-outcomes
Sep 15, 2026
Merged

aaitor merged 3 commits into
mainfrom
feat/catalog-showcase-outcomes

Conversation

@aaitor

@aaitor aaitor commented Sep 15, 2026

Copy link
Copy Markdown
Member

The SEC earnings pack and competitive teardown from Catalog PR #77 are public in the repository but absent from the production Showcase's tutorial list. Add statically generated pages for both, with run summaries, observed charges, budget caps, and links to their redacted representative samples. The paid follow-up audio and cover remain in ignored out/; the Song page now labels its existing playable media as the earlier public run and records the September 15 seven-payment follow-up precisely.

Also remove the teardown README's stale publication-pending language after #77 merged. No raw Router envelopes, payment records, keys, or delegation identifiers are added.

Validation: npm ci --prefer-offline --no-audit --no-fund, node lib/demo-agent.mjs, npm run build (22 static pages, including the two new routes), and git diff --check. The linked sample Markdown pages return unauthenticated HTTP 200.

@aaitor
aaitor requested a review from r-marques September 15, 2026 14:48
@r-marques

Copy link
Copy Markdown
Member

👀 Reviewing

@r-marques r-marques left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Automated PR review — 🟡 Mergeable with nits

Wires the two Catalog outcomes that #77 merged this afternoon (SEC evidence pack, competitive teardown) into the Showcase as evidence-only recap entries, relabels the tier pill and section-4 title when a recap has no video, updates the Song page's receipt/warn to the 2026-09-15 seven-payment run, and drops the teardown README's "publication pending" wording. The structural side is clean: RecapRun.video? is already optional so the new predicate type-checks, "catalog" is in the Protocol union and every consumer is total, RecapPanel already renders receipt → warn → link when there is no video, and all eight repo links (six files, two interactive) resolve on main now that #77 is in.

No blocker. Four should-fixes, all content: the Song receipt's four rows sum to $0.1455 under a Total row that now says $0.1605 / "7 settled calls" — the three Suno status polls ($0.015) have no row; the teardown page attributes "8¢ of its 25¢ cap" to the 13.48 s follow-up, which no source records (the 8¢ readback is the 14.44 s run's); the "publication pending" sweep the PR body claims is two of five occurrences — BUILD_LOG.md:19, FRICTION.md:3,13 in the same folder still carry it; and the site's own recap tier docs still say "watch-only: embedded video, playable outputs". One premise I brought in from #77's review turned out stale: the SEC sample on main is the 10 s / 41 s follow-up, so the SEC page and its sample agree.

What I reviewed

  • Diff range origin/main...HEAD — 3 files, +132/−6, head 871a603b. git diff --check clean.
  • Panel: code-reviewer, plus my own checks of the types (lib/types.ts), RecapPanel, lib/repo.ts href composition, and the index/sidebar for any thumbnail keyed on run.video (none).
  • Every figure on the new pages checked against the catalog folders on main (catalog/README.md, each folder's README/BUILD_LOG/FRICTION, the linked samples); the Song rows summed by hand against song-from-the-headlines/BUILD_LOG.md:22.
  • Links: both interactive hrefs and all six files targets return 200 on main (curl / contents API).
  • Not run: npm run build (no node_modules in the review checkout); the PR body reports 22 static pages including the two new routes.

Verdict: 🟡 Mergeable with nits — 0 blockers, 4 should-fix, 4 nits.

🧭 Inline comments (10)

Each is posted on its line in Files changed.

  • 🟡 SHOULD FIX — Song receipt rows no longer sum to the total they sit under — $0.1455 in four rows, $0.1605 / "7 settled calls" in the Total — showcase/content/tutorials.ts:745
  • 🟡 SHOULD FIX — "consumed 8¢ of its 25¢ cap" is attributed to the 13.48 s follow-up, but no source records that run's cap readback — showcase/content/tutorials.ts:935
  • 🟡 SHOULD FIX — The "publication pending" sweep is half done — the same wording still stands in BUILD_LOG.md and FRICTION.md — catalog/competitive-product-teardown/README.md:5
  • 🟡 SHOULD FIX — The relabel introduces a third recap presentation the site's own tier docs don't describe — showcase/app/t/[slug]/page.tsx:60
  • 💡 NIT — The recap && !video predicate is duplicated and adds a third nesting level to the tier-pill ternary — showcase/app/t/[slug]/page.tsx:59
  • 💡 NITinteractive[].href hard-codes github.com/nevermined-io/tutorials/blob/main/…, duplicating lib/repo.ts and the tech.files link above — showcase/content/tutorials.ts:878
  • 💡 NITlanguage: "py" on the SEC entry — the paid runner is run-demo.sh (bash + jq + curl); Python is only the offline builder — showcase/content/tutorials.ts:826
  • 💡 NIT — Root CLAUDE.md:19 still describes catalog/ as "Video showcase demos (song-from-the-headlines, diligence-in-a-box)" — catalog/competitive-product-teardown/README.md:56
  • NICE — Types hold under strict, and an evidence-only recap renders with no dead media — showcase/app/t/[slug]/page.tsx:189
  • NICE — The two new pages' figures match the source folders on main, and every link resolves — showcase/content/tutorials.ts:872

Comment thread showcase/content/tutorials.ts
Comment thread showcase/content/tutorials.ts Outdated
Comment thread catalog/competitive-product-teardown/README.md
Comment thread showcase/app/t/[slug]/page.tsx Outdated
Comment thread showcase/app/t/[slug]/page.tsx Outdated
Comment thread showcase/content/tutorials.ts Outdated
Comment thread showcase/content/tutorials.ts
Comment thread catalog/competitive-product-teardown/README.md
Comment thread showcase/app/t/[slug]/page.tsx Outdated
Comment thread showcase/content/tutorials.ts

@r-marques r-marques left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Approved with comments — no blockers; 4 should-fix, 4 nit(s) left inline.

Inline review: #78 (review)

@aaitor
aaitor merged commit f6a9561 into main Sep 15, 2026
2 checks passed
@aaitor
aaitor deleted the feat/catalog-showcase-outcomes branch September 15, 2026 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants