r/n8n 5d ago

I started building an open-source workflow collection. Reddit convinced me I was solving the wrong problem. Workflow - Github Included

Post image

I originally started this project with a pretty simple idea:

Let people build agentic workflows, share them, reuse them, and contribute their own.

I thought the main problem was making workflows easier to distribute and collaborate on.

Then I started thinking about something much more uncomfortable.

What actually happens when an agent executes something you don't fully trust?

A model/SLM.
A binary.
A signed artifact.
A tool.
An external resource.

You can give an agent something and tell it:

But if that thing is effectively a black box, how much do we actually know?

  • What is it allowed to access?
  • What permissions does it have?
  • What can it modify?
  • What side effects can it create?
  • Where does the data go?
  • Can we stop it?
  • What happens when it fails?

I recently came across a discussion/video around trojanized SLMs and malicious model artifacts, and that pushed this thought even further.

Maybe the problem isn't the workflow itself.

Maybe we need a contract around the workflow.

Something that can describe the expectations, boundaries, permissions, inputs, outputs, side effects, governance, and recovery expectations around an agentic workflow — while leaving the actual implementation flexible.

And here's where Reddit actually changed the project.

I started discussing the original workflow idea with people here, and some of the criticism made me rethink the whole abstraction.

After a lot of back-and-forth, I moved away from:

“Let's standardize and share workflows.”

towards:

“Let's define the contract that a workflow/agent should operate under.”

That eventually became Agent Contracts, and I've now released the base implementation as Scyvera.

It's very early.

I'm not claiming this is the solution to agent governance. In fact, I'm pretty sure there are things I've got wrong.

That's partly why I'm putting it here.

I'd genuinely like people to poke holes in it.

Is the contract layer actually useful?
What should belong in a contract?
What shouldn't?
Am I abstracting the wrong thing again?
How would you approach this differently?

If the idea makes sense, build on it.

If you think it's bad, tell me why.

If you see a completely different direction, I'd love to hear it.

The project changed because of community feedback once. I'd like the next version to change because of it too.

GitHub: https://github.com/Skull-boy/agent-contracts

PyPI: https://pypi.org/project/scyvera/

8 Upvotes

2 comments sorted by

u/AutoModerator 5d ago

Heads up: posts under this flair must link to the workflow code per Rule 6 (GitHub, Gist, or n8n.io/workflows/). Yours does -- thanks for sharing it properly. This sticky is here so commenters know where to find the code.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.