Skip to content

Add YouTube comments gateway and analyzer examples - #148

Open
JaiswalShivang wants to merge 1 commit into
openprose:mainfrom
JaiswalShivang:feature/youtube-sentiment-example
Open

Add YouTube comments gateway and analyzer examples#148
JaiswalShivang wants to merge 1 commit into
openprose:mainfrom
JaiswalShivang:feature/youtube-sentiment-example

Conversation

@JaiswalShivang

@JaiswalShivang JaiswalShivang commented Jul 6, 2026

Copy link
Copy Markdown

Add YouTube comment analyzer pedagogical tutorial examples

1. Summary

  • New Gateway Node: Added skills/open-prose/examples/youtube-comments-gateway.prose.md to model external-driven comment ingress.
  • New Responsibility Node: Added skills/open-prose/examples/youtube-analyzer.prose.md to manage comment sentiment analysis and top action items extraction.
  • Spec Conformance: Fully aligned with the runtime_contract: 2 specifications, using canonical ### Requires and ### Maintains sections (avoiding legacy Requires.input or Maintains.output headers).
  • Facet Isolation: Declared explicit sub-facets (#### comments, #### sentiment-breakdown, #### action-items) using the named-parts rule under ### Maintains.

2. Use Case / Run Evidence

This example provides a concrete onboarding scenario for developers transitioning from traditional imperative pipelines (e.g., Python/FastAPI pipelines that poll and run LLMs continuously) to declarative multi-node graphs.

It illustrates how the Reactor reconciler enforces the "cost scales with surprise" thesis: when the incoming YouTube comment dataset doesn't change, the gateway memo-skips, preventing downstream sentiment rendering from burning tokens.

3. Design Boundary

The new files are placed directly under skills/open-prose/examples/ as a standalone tutorial example. This addition stays within the framework boundary by utilizing core language primitives (gateway, responsibility, facets, and postconditions) without introducing hosted-product concepts or modifying compiler internals.

4. Examples

YouTube Comments Gateway Node (kind: gateway)

---
name: youtube-comments-gateway
kind: gateway
id: 067NC4KG01RG50R40M30E20918
version: 0.15.0
---

# YouTube Comments Gateway

### Continuity: external-driven

### Maintains
The raw comments dataset fetched from the YouTube API.

#### comments
A raw list of viewer comment threads.

@josemontesdeoca
josemontesdeoca self-requested a review July 30, 2026 14:50

@josemontesdeoca josemontesdeoca 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.

Hi @JaiswalShivang 👋🏼 thank you for taking the time to contribute this. The YouTube comments → sentiment/action-items example is a thoughtful use case, and I’d like to help get it over the line.

The remaining work is fairly contained:

  • Package it: use a dedicated example directory, place the contracts under src/, and add a short README and examples-index entry.
  • Clarify it: describe the material comment/result fields, comment and citation IDs, and what makes an update materially different.
  • Verify it: add a small offline check—discoverable by the examples gate—covering both an identical delivery and a materially changed comment.

No new contract syntax is needed; the existing sections can express these details in plain language.

If you’d like to make these changes, I’m happy to review the next pass. If you’d prefer, I can add them as a separate maintainer follow-up commit, explain what changed, and give you a chance to look it over before the final merge decision.

Separately, I’d love to hear more about how you’re using OpenProse and what we could improve. If you’d ever like to chat with us about it, I’d be happy to arrange that.

@josemontesdeoca josemontesdeoca added the documentation Improvements or additions to documentation label Jul 30, 2026
@JaiswalShivang

Copy link
Copy Markdown
Author

Hi @josemontesdeoca 👋🏼

Thank you so much for the thoughtful review and the kind words!

To give you a bit of context, I originally found OpenProse while searching for open-source projects to contribute to, as I am currently actively looking for internship opportunities. The declarative approach to AI workflows really caught my eye, which is why I decided to dive in and build this out.

I would love to make these updates myself to get a better understanding of the project's testing patterns and structure. I will work on packaging it into a dedicated directory, clarifying the fields, and adding the offline verification checks. I'll ping you as soon as I push the next pass!

I would also absolutely love to take you up on the offer to chat. It would be great to share my thoughts on the framework and learn more about what your team is building. Let me know what platform or time works best for you to connect!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants