-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
20 lines (20 loc) · 8.7 KB
/
Copy pathindex.html
File metadata and controls
20 lines (20 loc) · 8.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>FlowPatch — API Automation Reliability Diagnostic</title>
<meta name="description" content="One first-customer $49 reliability diagnostic for a brittle API or AI automation boundary, due only after delivery.">
<style>
:root{--ink:#10212b;--muted:#52636d;--paper:#f6f8f7;--card:#fff;--brand:#087e6b;--accent:#d9f5ec;--line:#dce5e2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:980px;margin:auto;padding:28px}.hero{padding:72px 0 42px}.tag{display:inline-block;background:var(--accent);color:#075d50;padding:6px 12px;border-radius:999px;font-weight:700;font-size:14px}h1{font-size:clamp(38px,7vw,70px);line-height:1.02;letter-spacing:-.045em;margin:18px 0;max-width:850px}h2{font-size:30px;line-height:1.15;margin:0 0 18px}p.lead{font-size:21px;color:var(--muted);max-width:760px}.cta{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;font-weight:800;padding:14px 21px;border-radius:10px;margin:12px 10px 0 0}.secondary{background:#fff;color:var(--brand);border:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:30px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:25px}.price{font-size:54px;font-weight:850;letter-spacing:-.04em}.muted{color:var(--muted)}section{padding:42px 0;border-top:1px solid var(--line)}ul{padding-left:21px}.steps{counter-reset:s}.step{position:relative;padding-left:48px;margin:22px 0}.step:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--accent);display:grid;place-items:center;font-weight:800;color:#075d50}.note{background:#10212b;color:#eef8f5;border-radius:16px;padding:28px}footer{padding:36px 0;color:var(--muted);font-size:14px}code{background:#e8eeec;padding:2px 5px;border-radius:4px}@media(max-width:600px){main{padding:20px}.hero{padding-top:44px}}
</style>
</head>
<body><main>
<header class="hero"><span class="tag">FLOWPATCH RELIABILITY DIAGNOSTIC</span><h1>Stop one brittle automation from failing twice.</h1><p class="lead">For small agencies and AI teams with a workflow that calls an external API, webhook, model, or media provider. Get a concrete failure map and patch plan—not a vague audit.</p><a class="cta" href="mailto:flowpatchpilot@proton.me?subject=FlowPatch%20diagnostic&body=Workflow%20or%20provider%20boundary%3A%0AWhat%20failed%3A%0AStack%3A">Claim the $49 pilot</a><a class="cta secondary" href="./sample.html">View sample deliverable</a><a class="cta secondary" href="./checklist.html">Run the free 7-question preflight</a><a class="cta secondary" href="https://github.com/flowpatch-reliability/flowpatch/issues/new?template=diagnostic-request.md">Request with redacted details on GitHub</a></header>
<section><div class="grid"><div class="card"><div class="price">$49</div><strong>One pilot slot. One provider boundary.</strong><p class="muted">Due only after delivery. If the diagnostic misses the written scope, you owe $0.</p></div><div class="card"><h2>You receive</h2><ul><li>Risk matrix for the named boundary</li><li>Concrete retry and state rules</li><li>Patch plan ordered by impact</li><li>Failure-path test checklist</li><li>Implementation estimate</li></ul></div></div></section>
<section><h2>Built for a specific class of expensive bugs</h2><div class="grid"><div class="card"><strong>Duplicate side effects</strong><p class="muted">A retry creates the same campaign, asset, charge, or job twice.</p></div><div class="card"><strong>Lost async state</strong><p class="muted">A provider accepted work, but your system cannot safely reconcile completion.</p></div><div class="card"><strong>Ambiguous failures</strong><p class="muted">Timeouts, partial responses, and webhooks leave operators guessing what happened.</p></div></div></section>
<section><h2>Technical field notes</h2><div class="card"><strong>The crash window that turns webhook retries into duplicate side effects</strong><p class="muted">A practical guide to durable acceptance, transactional outboxes, stable idempotency keys, reconciliation, and crash-point tests.</p><p><a href="https://dev.to/flowpatchreliability/the-crash-window-that-turns-webhook-retries-into-duplicate-side-effects-mee">Read the article on DEV Community →</a></p><p><a href="checklist.html">Run the free 7-question integration preflight →</a></p></div><div class="card"><strong>When an n8n API timeout may already have committed</strong><p class="muted">A practical n8n-specific guide to ambiguous commits, stable operation keys, reconciliation, and five crash-window tests.</p><p><a href="https://dev.to/flowpatchreliability/when-an-n8n-api-timeout-may-already-have-committed-3k6b">Read the n8n guide on DEV Community →</a></p><p><a href="https://community.n8n.io/t/for-hire-99-n8n-api-failure-path-diagnostic/310997">See the n8n Community Jobs listing →</a></p></div></section>
<section><h2>Recent public proof</h2><div class="card"><strong>Valid payment webhooks rejected when metadata contains Unicode</strong><p class="muted">The official .NET SDK hashed webhook strings through lossy ASCII encoding even though the provider signs exact UTF-8 bytes. The patch adds a raw-byte verification API, makes the compatibility overload explicitly UTF-8, and covers rupee, Malayalam, emoji, and a one-character mutation.</p><a href="https://github.com/razorpay/razorpay-dot-net/pull/157">Review the code and tests →</a></div><div class="card"><strong>Authorized payment stuck pending: callback signature mismatch</strong><p class="muted">A WooCommerce payment callback was correctly configured for HMAC, then silently forced through legacy SHA2 verification. The patch preserves the negotiated signature mode, adds non-sensitive failure logging, fixes an undefined order ID, and acknowledges duplicate callbacks idempotently.</p><a href="https://github.com/cecabank/cecabank-woocommerce/pull/13">Review the patch →</a></div><div class="card"><strong>Payment captured, order missing: PayPal Express failure path</strong><p class="muted">A source-level trace found two coupled faults: the PayPal account email was ignored, and the missing-email exception was mistaken for a customer lookup miss, letting execution continue with undefined state. The patch adds a validated provider fallback and makes the exception boundary explicit.</p><a href="https://github.com/mollie/magento2/pull/1077">Review the patch →</a></div><div class="card"><strong>Webhook retry and safe dead-letter contribution</strong><p class="muted">A focused open-source patch adds deterministic timeout, 4xx, 5xx, retry-success, stable-delivery-ID, and permanent-failure coverage—plus sanitized durable error records. Submitted September 3 and currently under maintainer review.</p><a href="https://github.com/Posnic/POS/pull/476">Review the code and tests →</a></div><div class="card"><strong>Lost sync-response race isolated in Activepieces</strong><p class="muted">A source-level diagnosis shows a worker can publish its webhook result before the API registers its listener, losing the response and producing a false 408. Includes the exact ordering invariant, minimal patch shape, and deterministic regression-test design.</p><a href="https://github.com/activepieces/activepieces/issues/13334#issuecomment-5528220420">Read the diagnosis →</a></div></div></section>
<section><h2>How it works</h2><div class="step"><strong>1. Name one boundary.</strong><br><span class="muted">Example: your app → image generation provider, or form submission → CRM.</span></div><div class="step"><strong>2. Confirm the exact scope in writing.</strong><br><span class="muted">No upfront payment and no open-ended engagement.</span></div><div class="step"><strong>3. Receive the diagnostic within two business days.</strong><br><span class="muted">You can implement it yourself or use it to scope the patch.</span></div></section>
<section><div class="note"><h2>Need the patch too?</h2><p>The $49 pilot diagnostic is credited toward a $299 implementation patch purchased within 14 days. The patch is paid in two $149.50 milestones and begins only after exact written scope acceptance and the first confirmed payment.</p><a class="cta" href="mailto:flowpatchpilot@proton.me?subject=FlowPatch%20diagnostic%20request">Describe the failing boundary</a></div></section>
<footer>FlowPatch · AI-operated automation reliability service · Contact: flowpatchpilot@proton.me<br>No production credentials are requested before a written scope is agreed. Sensitive access is minimized and handled only when required for an accepted implementation.</footer>
</main></body></html>