Skip to content

docs: document native Pipeline workflows - #24

Merged
hyochan merged 2 commits into
mainfrom
docs/resolve-pipeline-dsl-14
Aug 8, 2026
Merged

docs: document native Pipeline workflows#24
hyochan merged 2 commits into
mainfrom
docs/resolve-pipeline-dsl-14

Conversation

@hyochan

@hyochan hyochan commented Aug 7, 2026

Copy link
Copy Markdown
Member

Summary

  • replace invented or stale Pipeline examples with the actual Swift result builder and Kotlin fluent API
  • document final-output type tracking honestly and show explicit Web and wrapper composition
  • make both native example screens execute the Pipeline DSL and add documentation contract tests

Test plan

  • cd packages/site && bun run typecheck
  • cd packages/site && bun run lint (two pre-existing warnings only)
  • cd packages/site && bun run format:check
  • cd packages/site && bun run test (68 tests)
  • cd packages/site && bun run build
  • cd packages/apple && swift build && swift test (177 tests)
  • Apple example simulator build with code signing disabled
  • cd packages/android && ./gradlew :locanara:test :locanara:build :example:assembleDebug
  • cd scripts/agent && bun run lint:markdown && bun run check
  • Visual QA at desktop dark/light and 390 px mobile viewport
  • Physical-device AI execution — skipped because it requires supported on-device model hardware

Closes #14

Summary by CodeRabbit

  • Documentation

    • Updated pipeline documentation with Swift and Kotlin examples, final-result type tracking, runtime text and metadata handoff, and platform availability guidance.
    • Clarified that Web, Expo, React Native, and Flutter use sequential feature calls rather than the native Pipeline builder.
    • Added examples covering API levels, custom chains, configuration, and metadata forwarding.
  • Examples

    • Updated Apple and Android demos to showcase proofreading followed by translation as a single typed pipeline result.
  • Tests

    • Added documentation checks for native examples, platform guidance, API coverage, and demo pipeline usage.

@hyochan hyochan added 🌎 web Related to web 👀 example 📖 documentation Improvements or additions to documentation 📝 readme 📱 iOS Related to iOS 🤖 android Related to android labels Aug 7, 2026
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@hyochan, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 51 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9fbd1e58-c9c5-431e-a1e3-f10e45f6772a

📥 Commits

Reviewing files that changed from the base of the PR and between f9e1cb9 and 4943975.

📒 Files selected for processing (3)
  • README.md
  • packages/site/src/pages/home/Home.tsx
  • packages/site/src/pipeline-docs.test.ts
📝 Walkthrough

Walkthrough

The PR aligns Pipeline DSL documentation with final-step output typing and runtime text/metadata handoff. It adds Swift and Kotlin examples, updates native demos, documents wrapper composition, and adds contract tests for the revised guidance.

Changes

Pipeline DSL documentation and examples

Layer / File(s) Summary
Native Pipeline contract documentation
packages/android/locanara/src/main/kotlin/com/locanara/dsl/*, packages/apple/Sources/DSL/Pipeline.swift
Documentation now describes final-step output typing and runtime ChainOutput handoff without adjacent generic compatibility enforcement.
Native Pipeline demo flows
packages/android/example/.../PipelineDemo.kt, packages/apple/Example/.../PipelineDemo.swift
The demos run typed proofread-to-translate pipelines and display one combined result.
Native API and tutorial documentation
README.md, packages/site/src/pages/docs/apis/pipeline.tsx, packages/site/src/pages/docs/tutorials/pipeline.tsx, packages/site/src/pages/docs/types/index.tsx, packages/site/src/pipeline-docs.test.ts
README and site pages now use Swift and Kotlin Pipeline examples, document custom chains and metadata, and test required guidance.
Web and wrapper platform guidance
packages/site/src/pages/docs/libraries/*, packages/site/src/pages/docs/tutorials/index.tsx, packages/site/src/pages/docs/utils/ios.tsx, packages/site/src/pages/home/Home.tsx, README.md
Documentation distinguishes native Pipeline builders from explicit feature calls in Web, Expo, React Native, and Flutter APIs.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: documenting native Pipeline workflows.
Linked Issues check ✅ Passed The PR meets the documentation, native example, README, API-level, custom Chain, and Web guidance objectives in [#14].
Out of Scope Changes check ✅ Passed The documentation, examples, SDK comments, and contract tests directly support the Pipeline documentation objectives in [#14].
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/resolve-pipeline-dsl-14

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
packages/site/src/pipeline-docs.test.ts (1)

18-44: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Reduce coupling to exact prose and formatting.

Several assertions match rendered sentence fragments, for example "final result type", "cannot prove", and "Final-output tracking, not typed edges". Prettier controls where those sentences wrap, so a reformat or a small wording edit breaks CI without a real regression. Line 19 already needs \s+ to absorb one wrap.

Assert on stable anchors instead, for example the AnchorLink id values, Callout title props, and code identifiers such as translateStreaming and model.pipeline.

The negative assertions on Line 41 and Line 43 have the same weakness in reverse. model.proofread(inputText) passes if the variable is renamed, so the test stops guarding the intended behavior.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/site/src/pipeline-docs.test.ts` around lines 18 - 44, Reduce
brittleness in the tests within pipeline-docs.test.ts by replacing exact
rendered prose checks such as “final result type,” “cannot prove,” and
“Final-output tracking, not typed edges” with stable documentation anchors,
including AnchorLink ids, Callout title props, and code identifiers. Strengthen
the negative native-example assertions to detect the actual proofread API usage
regardless of input-variable renaming, while preserving the existing positive
checks for translateStreaming and pipeline usage.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/site/src/pages/home/Home.tsx`:
- Line 170: Update the sibling Swift Pipeline snippet in Home.tsx to use the
documented step types Proofread() and Translate(to:) instead of ProofreadChain()
and TranslateChain(to: "ko"), while preserving the existing pipeline structure
and example behavior.

In `@README.md`:
- Around line 90-108: Wrap the README Kotlin example containing model.summarize
and chain.run in a suspend function, following the existing suspend fun
structure used later in the document. Keep the Simple, Chain, and Custom
examples within that function so the suspend operations compile correctly.

---

Nitpick comments:
In `@packages/site/src/pipeline-docs.test.ts`:
- Around line 18-44: Reduce brittleness in the tests within
pipeline-docs.test.ts by replacing exact rendered prose checks such as “final
result type,” “cannot prove,” and “Final-output tracking, not typed edges” with
stable documentation anchors, including AnchorLink ids, Callout title props, and
code identifiers. Strengthen the negative native-example assertions to detect
the actual proofread API usage regardless of input-variable renaming, while
preserving the existing positive checks for translateStreaming and pipeline
usage.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0454354e-3180-4b43-a959-04db917f9b1a

📥 Commits

Reviewing files that changed from the base of the PR and between 9b4643b and f9e1cb9.

📒 Files selected for processing (15)
  • README.md
  • packages/android/example/src/main/kotlin/com/locanara/example/components/pages/framework/PipelineDemo.kt
  • packages/android/locanara/src/main/kotlin/com/locanara/dsl/Pipeline.kt
  • packages/android/locanara/src/main/kotlin/com/locanara/dsl/PipelineStep.kt
  • packages/apple/Example/LocanaraExample/components/pages/FrameworkShowcase/PipelineDemo.swift
  • packages/apple/Sources/DSL/Pipeline.swift
  • packages/site/src/pages/docs/apis/pipeline.tsx
  • packages/site/src/pages/docs/libraries/expo.tsx
  • packages/site/src/pages/docs/libraries/flutter.tsx
  • packages/site/src/pages/docs/tutorials/index.tsx
  • packages/site/src/pages/docs/tutorials/pipeline.tsx
  • packages/site/src/pages/docs/types/index.tsx
  • packages/site/src/pages/docs/utils/ios.tsx
  • packages/site/src/pages/home/Home.tsx
  • packages/site/src/pipeline-docs.test.ts

Comment thread packages/site/src/pages/home/Home.tsx
Comment thread README.md Outdated
@hyochan
hyochan merged commit a796725 into main Aug 8, 2026
4 checks passed
@hyochan
hyochan deleted the docs/resolve-pipeline-dsl-14 branch August 8, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖 android Related to android 📖 documentation Improvements or additions to documentation 🌎 web Related to web 👀 example 📱 iOS Related to iOS 📝 readme

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: document Pipeline DSL with cross-platform code examples

1 participant