{"ref":"artifact:sap-samples-btp-sourcing-decision-board","page":"/artifacts/sap-samples-btp-sourcing-decision-board","json":"/artifacts/sap-samples-btp-sourcing-decision-board.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-btp-sourcing-decision-board","name":"SAP-samples/btp-sourcing-decision-board","artifact_type":"sample","ecosystem":"btp","use_as":"reference","domain":"ai-and-agents","origin_ring":"sap-official","description":{"one_line":"A procurement decision-support system that runs a cooperative and an adversarial AI agent strategy over a sourcing RFQ in parallel and cross-validates their recommendations on a live decision board.","short":"Procurement decision support cross-validating two AI agent strategies","what_it_solves":"The Sourcing Decision Board analyses a sourcing event by running a cooperative, iterative-refinement AI strategy and an adversarial, debate-style strategy in parallel, then compares the two before a procurement professional sees a recommendation. A Flask backend built on [SAP AI Core](artifact:btp-ai-core) and SAP Generative AI Hub calls the agents, a React and SAPUI5 frontend shows a live decision board with streaming updates, and a [SQLite](external:sqlite) database keeps the full decision history. It needs an SAP BTP account with AI Core and Generative AI Hub access, runs locally from `python server.py`, and deploys to Cloud Foundry with `cf push`."},"links":{"repo":"https://github.com/SAP-samples/btp-sourcing-decision-board"},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:agent-tooling"],"requires":[{"ref":"artifact:btp-ai-core","for":"the deployment the agents call, configured by client id, secret, auth URL, API URL and deployment id","requirement":"required","sources":[{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, Requirements","checked":"2026-10-19","quote":"- SAP BTP account with AI Core enabled"},{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, Technology Stack","checked":"2026-10-19","quote":"- **AI/ML**: SAP AI Core + SAP Generative AI Hub"}]},{"ref":"external:sqlite","for":"the database the decision history and the audit trail are kept in","requirement":"required","sources":[{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, Technology Stack","checked":"2026-10-19","quote":"- **Database**: SQLite (with full audit trail)"}]},{"ref":"external:nodejs","for":"building the React frontend before the server is started","requirement":"required","sources":[{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, Requirements","checked":"2026-10-19","quote":"- Node.js 18+ (for React frontend build)"}]},{"ref":"artifact:btp-cloud-foundry-runtime","for":"where the application is pushed when it is not run locally","requirement":"conditional","condition":"the application is deployed to SAP BTP; the quick start also runs it locally with python server.py","sources":[{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, Technology Stack","checked":"2026-10-19","quote":"- **Deployment**: SAP BTP Cloud Foundry ready"},{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, Deployment to SAP BTP Cloud Foundry","checked":"2026-10-19","quote":"# Deploy application\ncf push"}]}],"interfaces":[{"kind":"api","direction":"in","for":"create a decision, execute the agents, read the progress and stream the run","sources":[{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, API Endpoints","checked":"2026-10-19","quote":"| `/api/decision` | POST | Create new decision |"},{"url":"https://github.com/SAP-samples/btp-sourcing-decision-board","title":"SAP-samples/btp-sourcing-decision-board — README, API Endpoints","checked":"2026-10-19","quote":"| `/api/decision/<id>/stream` | GET | Stream execution via SSE |"}]}],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:swfuchs"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"3 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-04, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 5 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-04-28","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2026-04-21T08:23:16Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":4691,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-04-21","last_commit":"2026-04-28","commits":4,"contributors":3,"readme_path":"README.md","readme_sha":"fb58ae3e8b5d94981cbaa3053dfdcb95a4d2fb43","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:swfuchs","name":"Swen","json":"/actors/swfuchs.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}