Start with one decision.
Reuse the same foundation.
Start with qualification and routing. The same Decision Pack structure is designed for support escalation, approved claims and other company decisions. Builders connect workflows; business owners review the rules; employees need clear findings when supported work is checked.
One contract.
Connected surfaces.
Planned REST, SDK and MCP interfaces share one decision contract. Keep your workflows and models; connect the decisions you want them to reuse.
import { Felspar } from "@felspar/sdk" const felspar = new Felspar({ authority: "gumdrop-production" }) // Resolve released authority for one job const decision = await felspar.resolve({ job: "enterprise_pitch_deck@1", input: { employee_count: 750, account_country: "US", initiative_status: "active", buyer_role: "vp_revenue_operations" } }) decision.status // "ready" decision.release // "enterprise-sales@1.0.0" decision.receipt // "rcpt_7hK2…q9"
curl https://api.felspar.ai/v1/resolve \ -H "Authorization: Bearer $FELSPAR_KEY" \ -H "Content-Type: application/json" \ -d '{ "authority": "gumdrop-production", "job": "enterprise_pitch_deck@1", "input": { "employee_count": 750, "account_country": "US",
"initiative_status": "active", "buyer_role": "vp_revenue_operations" } }' # 200 OK { "status": "ready", "decision": "enterprise_ready", "permitted_jobs": ["enterprise_pitch_deck@1"], "release": "enterprise-sales@1.0.0", "receipt": "rcpt_7hK2…q9" }
// Planned configuration for a compatible MCP client { "mcpServers": { "felspar": { "url": "https://mcp.felspar.ai", "auth": "oauth" } } } // In a connected, compatible MCP client → felspar.resolve job=enterprise_pitch_deck@1 ← ready · enterprise-sales@1.0.0 · rcpt_7hK2…q9
● In development. Interfaces shown are directional, not available production APIs.
Know what
was checked.
A resolution receipt records which release applied to which inputs. Checking an exact artifact and gating a downstream action are separate steps, each requiring its own evidence.
Authorized, connected consumers can access a released Pack. Access alone does not establish use.
A resolution receipt ties the decision to the exact release and inputs.
A separate check binds findings and any recorded approval to an exact artifact revision.
Your application must enforce its own gate before sending or publishing.
Illustrative receipt with synthetic data. A receipt records scoped decisions and checks. It does not prove source truth, model obedience or downstream delivery. Coverage depends on connected consumers and registered artifacts.
Keep your tools. Share the decision.
One decision.
Two workflows. Measured.
Our first focus is qualification and routing across two workflows. Bring a rule your team maintains in more than one place. We’ll test whether sharing it reduces update, review and debugging work.
Tell us about one decision to start a conversation.
One decision, two workflows and 20–50 past cases. The six-week term leaves up to two additional weeks for contracting, customer review, acceptance and handoff.
Trace the decision from source to both workflows. Agree the historical cases and baseline.
Build and review the Decision Pack. Connect the first workflow in shadow mode.
Connect the second workflow, replay past cases, test one controlled change.
Compare total effort and outcomes against baseline. Continue, narrow or stop.
Agree success criteria before kickoff. Compare both workflows against the baseline, then decide whether to continue, narrow or stop.