diff --git a/README.md b/README.md index 3f44f04..729bfa0 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,7 @@ An outcome contract is structural evidence, not runtime enforcement. Money and c - [Architecture and limitations](docs/architecture.md) - [Reproducible demo](docs/demo.md) - [Release audit](docs/release-audit.md) +- [Community launch pack](docs/community-launch-v0.9.md) - [Roadmap](docs/roadmap.md) - [Codex for Open Source application gate](docs/codex-for-oss-application.md) - [Contributing](CONTRIBUTING.md) diff --git a/docs/codex-for-oss-application.md b/docs/codex-for-oss-application.md index 75710a0..edfc161 100644 --- a/docs/codex-for-oss-application.md +++ b/docs/codex-for-oss-application.md @@ -8,6 +8,8 @@ Program terms: Prepared: 2026-07-22 +Official form rechecked: 2026-07-22 + ## Recommendation Submit in **English**, even through the PT-BR form. OpenAI publishes no language requirement and no evidence that language changes selection odds. English is recommended only to reduce translation friction for a global technical review. @@ -38,11 +40,11 @@ Submit immediately after the v0.9.0 release on 2026-07-24. Do not wait for arbit ### Maintainer role -Select: **Principal maintainer**. +Select: **Primary maintainer**. ### Why is this repository eligible? -Recount before submission; keep under 500 characters. +Character count: **356/500**. > Vibeflow is an MIT-licensed safety gate for AI-generated n8n workflows, rebuilt end-to-end with Codex. It audited a real 92-node workflow in read-only mode, finding 3 blocking risks and 57 warnings. Community feedback then shaped v0.9: outcome-aware checks for refunds, customer actions, silent failures, audit, idempotency, approval, limits, and recovery. @@ -67,7 +69,7 @@ Character count: **390/500**. ### Anything else we should know? -Recount before submission; keep under 500 characters. +Character count: **381/500**. > Vibeflow is a public case study in Codex-native OSS development. Codex drove the project from product repositioning through implementation, adversarial review, remediation, CI, plugin packaging, releases, a real-workflow audit, and the v0.9 response to user feedback. Adoption is early, but the engineering, maintenance history, and real-world evidence are public and reproducible. @@ -97,6 +99,7 @@ Use these links only if OpenAI requests verification; the form has no dedicated - Release and Red Team audit: - CI history: - Launch discussion: +- Public r/n8n feedback that shaped v0.9: - Engineering PRs: ## Evidence snapshot @@ -107,8 +110,9 @@ Refresh this section on 2026-07-24 immediately before submission. Current candid - `v0.9.0` release candidate, with v0.8.0 already public; - 36 adversarial tests passing locally and in remote Node.js 20, 22, and 24 CI; - dependency-free CLI, GitHub Action, and installable Codex plugin; -- 3 prior maintainer PRs merged with green CI; add the v0.9 PR after merge; +- 5 maintainer PRs merged with green CI, including the v0.9 implementation PR; - 2 stars, 0 forks, and no verified external contributor yet; +- public r/n8n launch thread with several substantive comments that directly shaped VF010-VF013; - first real audit: anonymized 92-node workflow, 3 blocking findings, 57 warnings, no workflow mutation; - Codex used across product repositioning, implementation, review, Red Team, remediation, packaging, CI, release, real-workflow audit, and the community-feedback-driven v0.9 cycle. diff --git a/docs/community-launch-v0.9.md b/docs/community-launch-v0.9.md new file mode 100644 index 0000000..33b90c3 --- /dev/null +++ b/docs/community-launch-v0.9.md @@ -0,0 +1,94 @@ +# Community launch pack — v0.9.0 + +Publish only after the public `v0.9.0` release URL works. + +## Feedback provenance + +The v0.9 scope came from the public [original r/n8n launch thread](https://www.reddit.com/r/n8n/comments/1v3is1w/i_built_an_opensource_safety_gate_for_aigenerated/), not a speculative roadmap. + +| Community feedback | v0.9 response | +|---|---| +| Separate dangerous nodes from dangerous outcomes | VF010 and VF011 classify money, customer, privileged, and destructive-data actions. | +| Require idempotency, approval, amount/counterparty limits, and durable audit | `outcomeContracts` verifies graph evidence for those controls. | +| Error paths can exist but notify nobody | VF012 requires an operator-visible failure path. | +| Writes need rollback or replay stories | VF013 requires compensation, rollback, or replay evidence. | +| Static checks cannot replace runtime guardrails | The CLI and documentation explicitly preserve that boundary. | + +Captured on 2026-07-22: the thread had 3 votes and several substantive comments. Treat the comments as product evidence; do not present the vote count as broad adoption. + +## Reddit — r/n8n + +### Title + +I built your feedback into Vibeflow v0.9: outcome-aware preflight checks for n8n workflows + +### Post + +I shared Vibeflow here earlier and two pieces of feedback changed the direction of the project: + +1. A dangerous outcome is not the same thing as a dangerous node. A normal HTTP node can still issue a refund, send a payment, notify a customer, change access, or delete data. +2. A connected error branch is not enough if it silently terminates, and a write is not production-ready without a rollback, compensation, or replay story. + +That feedback is now implemented in Vibeflow v0.9. + +Vibeflow is a local, dependency-free preflight checker for exported n8n workflow JSON. The new release adds: + +- `VF010`: blocks money and privileged actions without an outcome contract; +- `VF011`: warns about uncontracted customer communications and destructive writes; +- `VF012`: detects error paths that notify nobody; +- `VF013`: requires compensation, rollback, or replay evidence. + +For a contracted action, the checker verifies structural evidence in the workflow graph: + +- an atomic idempotency claim cannot be bypassed; +- a durable audit write happens before the action; +- approval, amount, and counterparty checks have real allow/deny branches; +- the failure notification is connected to the action's error output; +- recovery is represented in the graph. + +The important boundary: this is static preflight, not runtime enforcement. The payment/customer system must still enforce authorization, limits, counterparties, durable audit, and recovery at runtime. + +There is a reproducible unsafe refund workflow and a passing contracted version in the repository: + +https://github.com/domfelipe/vibeflow-n8n + +Release: https://github.com/domfelipe/vibeflow-n8n/releases/tag/v0.9.0 + +I am especially looking for anonymized examples of: + +- a real-world action the classifier misses; +- a false positive where the workflow is demonstrably safe; +- a control that looks present in JSON but can still be bypassed; +- a recovery pattern that does not fit compensate/rollback/replay. + +Please remove credentials and customer data before sharing workflow fragments. The best reports will become paired unsafe/safe regression fixtures. + +## Short reply to the original commenters + +Your distinction between dangerous nodes and dangerous outcomes became the core of v0.9. The release now detects ordinary HTTP/database/message nodes by impact and validates idempotency, approval, amount/counterparty limits, durable audit, operator-visible failures, and recovery evidence. I kept runtime enforcement explicitly outside the claim. Thank you — this materially improved the project. + +## GitHub Discussion + +### Title + +Vibeflow v0.9: help test outcome contracts against real n8n workflows + +### Body + +Vibeflow v0.9 adds outcome-aware preflight policies for money, customer, privileged, and destructive-data actions. The implementation was driven by community feedback that ordinary nodes can still produce dangerous real-world outcomes. + +Please test an exported workflow and report anonymized false positives, missed actions, bypassable controls, or recovery patterns. Useful reports need a minimal unsafe case, the expected safe case, and the exported JSON fields that distinguish them. + +- Release: https://github.com/domfelipe/vibeflow-n8n/releases/tag/v0.9.0 +- Demo: https://github.com/domfelipe/vibeflow-n8n/blob/v0.9.0/docs/demo.md +- False-positive report: https://github.com/domfelipe/vibeflow-n8n/issues/new?template=false-positive.yml +- Policy proposal: https://github.com/domfelipe/vibeflow-n8n/issues/new?template=rule-proposal.yml + +Never attach credentials, customer data, or a private production workflow. + +## Evidence rules + +- Do not ask for artificial stars, forks, or empty PRs. +- Record only public, attributable usage or anonymized audit outcomes. +- Convert actionable feedback into an issue and paired unsafe/safe fixture. +- Never publish customer workflow names, IDs, node names, credentials, or infrastructure identifiers. diff --git a/docs/launch.md b/docs/launch.md index 35eefd2..8ab115a 100644 --- a/docs/launch.md +++ b/docs/launch.md @@ -26,3 +26,5 @@ A normal HTTP, database, or messaging node can refund money, contact a customer, > The new outcome contracts detect money, customer, privileged, and destructive-data actions — including ordinary HTTP nodes — and verify structural evidence for idempotency, approval, limits, durable audit, failure notification, and recovery. It is local, dependency-free, CI-friendly, and explicit about what still needs runtime enforcement. Link to the repository and the safe/unsafe refund demo. Ask users for anonymized workflows, classifier false positives/negatives, and missing domain actions. + +Ready-to-post Reddit and GitHub Discussion copy: [community-launch-v0.9.md](community-launch-v0.9.md).