Skip to content

Porting an agent project to canyonos core using porting-to-canyonos-core skill - #55

Closed
nickhuo wants to merge 6 commits into
mainfrom
jiajunh/can-228-porting-to-ventis-skill
Closed

Porting an agent project to canyonos core using porting-to-canyonos-core skill#55
nickhuo wants to merge 6 commits into
mainfrom
jiajunh/can-228-porting-to-ventis-skill

Conversation

@nickhuo

@nickhuo nickhuo commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

CAN-228. Two deliverables, one PR: the skill that tells you how to port an existing agent project onto Ventis, and the example that shows what the result looks like.

The skill answers, before anyone writes an adapter, the four questions a port
turns on: what class Ventis actually loads, what the adapter has to fix, what
has to be declared (import root, requirements, env_file), and what to report
rather than fix. `ventis-contract.md` pins each claim to the code that makes it
true; `traps.md` maps symptoms back to causes.

Its one rule: rewrite orchestration, import everything else. A port that
restates a prompt, a tool body or a model call has copied the source instead of
reusing it.
The skill's worked example. `joke_writer.py` is upstream's map-reduce joke
graph, unedited: three prompts, two schemas, three nodes. What could not come
across is the graph itself -- `StateGraph`, the `Send` fan-out and the
`operator.add` reducer are control flow owned by the LangGraph runtime, and
Ventis has no runtime to execute them.

So the edges are re-expressed as ordinary Python in the workflow, where the
fan-out becomes N calls dispatched across JokeAgent's three replicas, and the
nodes those edges connected are imported unchanged. The adapter restates
nothing.

The workflow entry point is `main(query)` because the deployment platform's
test endpoint posts to a hardcoded /main with a strictly validated
{query: string} body. Ventis itself would serve any name and any kwargs.
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d4d60645-ffa4-4761-80fb-b4178ecaa225


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.

@nickhuo
nickhuo force-pushed the jiajunh/can-228-porting-to-ventis-skill branch from b159af8 to d309661 Compare August 27, 2026 00:33
Pure rename: 4 files, no content change.
3 files, +265/-23:
  joke_writer.py  +170/-20   root span, a span per node, a generation per
                             Bedrock call, four tagged failure paths
  README.md        +78/-3    Tracing section
  .env.example     +17/-0    LANGFUSE_* keys
@nickhuo
nickhuo force-pushed the jiajunh/can-228-porting-to-ventis-skill branch from d309661 to c395c5d Compare August 27, 2026 00:35
@nickhuo nickhuo changed the title Porting an agent project to Ventis: the skill, plus joke_writer as its worked example Porting an agent project to canyonos core using porting-to-canyonos-core skill Aug 28, 2026
@nickhuo nickhuo closed this Aug 29, 2026
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.

1 participant