feat: add working application and synthetic sample data
GBB Demo authored on Nov 2, 2026
commit afffc5d4197a
Root commit: changes are relative to an empty tree.
4 files changed, +46 −0
- .gitignore+3 −0@@ -1,0 +1,3 @@1+__pycache__/2+node_modules/3+.env
- README.md+5 −0@@ -1,0 +1,5 @@1+# Taskflow API2+3+A dependency-free task API with validated transitions and a local HTTP server.4+5+Synthetic evaluation project.
- app.py+23 −0@@ -1,0 +1,23 @@1+import json2+from http.server import BaseHTTPRequestHandler, HTTPServer3+4+def transition(task, status):5+ if status not in {"todo", "in_progress", "done"}:6+ raise ValueError("Unknown task status")7+ return {**task, "status": status}8+9+class Handler(BaseHTTPRequestHandler):10+ def do_GET(self):11+ if self.path != "/tasks":12+ self.send_error(404)13+ return14+ payload = json.dumps([{"id": "task-1", "title": "Review the demo", "status": "todo"}]).encode()15+ self.send_response(200)16+ self.send_header("Content-Type", "application/json")17+ self.send_header("Content-Length", str(len(payload)))18+ self.end_headers()19+ self.wfile.write(payload)20+21+if __name__ == "__main__":22+ HTTPServer(("127.0.0.1", 8080), Handler).serve_forever()23+
- data/sample.json+15 −0@@ -1,0 +1,15 @@1+{2+ "environment": "demo",3+ "items": [4+ {5+ "id": "sample-1",6+ "name": "Explore the source",7+ "done": true8+ },9+ {10+ "id": "sample-2",11+ "name": "Review the draft PR",12+ "done": false13+ }14+ ]15+}