原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 7266,
"has_wiki": false,
"homepage": "https://superserve.ai?utm_source=github&utm_medium=referral&utm_campaign=repo_bio",
"languages": {
"CSS": 6341,
"HTML": 664,
"Ruby": 1058,
"Shell": 3132,
"Python": 400451,
"JavaScript": 56615,
"TypeScript": 1792489
},
"pushed_at": "2026-07-27T17:03:51Z",
"created_at": "2025-10-10T01:33:24Z",
"owner_type": "Organization",
"updated_at": "2026-07-27T05:19:22Z",
"description": "Sandbox infrastructure for AI Agents",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript",
"Python"
]
},
"owner": {
"blog": "https://superserve.ai",
"name": "Superserve",
"type": "Organization",
"login": "superserve-ai",
"company": null,
"location": "United States of America",
"followers": 18,
"avatar_url": "https://avatars.githubusercontent.com/u/225320943?v=4",
"created_at": "2025-08-08T04:32:41Z",
"is_verified": null,
"public_repos": 13,
"account_age_days": 353
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2026-03-01T03:17:47Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2026-02-24T00:45:50Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2026-02-23T22:31:08Z"
}
],
"recent_commits": [
{
"oid": "263c83bd4d0892d3107371b245742a73dd3434db",
"body": "## Related Issues\nCleans up the billing page\n\n## Description\nAdds a billing summary page\n\n## Additional Context\n<!-- Anything you want reviewers to know or give specific feedback on?\n-->\n\n## Testing\n<!-- Describe how you tested these changes -->\n\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\n<img width=\"1651\" height=\"914\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/052d98e9-224d-4fb9-848b-3214c6f705ed\"\n/>",
"is_bot": false,
"headline": "Adding a billing summary UI (#251)",
"author_name": "awille-ai",
"author_login": "awille-ai",
"committed_at": "2026-07-24T00:35:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d0cca95888b199d58bf34e750d5a5d04adc26b5",
"body": "The control plane is moving the per-team active-sandbox counter from the\n`team.active_sandbox_count` column to a sharded counter table; after\nthat migration the column freezes at its pre-migration value and live\ncounts are served by the `team_active_sandbox_counts` view. This\nrepoints the console's \n[…]\n shows wrong data that this PR would\nhave shown correctly.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: read live sandbox counts from the sharded-counter view (#294)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-23T21:02:15Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4cb632063ddd42bf11044f17d78828e2e5fda884",
"body": "When an exec WebSocket closed before a command finished, both SDKs\nraised a generic \"connection closed\" error that discarded the server's\nclose code and reason. Separately, `stdin.write` sent arbitrarily large\npayloads as a single frame, which can exceed per-message limits on the\nserver side.\n\n- std\n[…]\nn\n`__version__`, which had drifted from `pyproject.toml`).\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "sdk: chunk stdin writes and surface exec close reasons (#291)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-21T02:28:34Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "609c006a859a0166fc142dba75c4c0311598d691",
"body": "Reverts superserve-ai/superserve#283",
"is_bot": false,
"headline": "Revert \"docs: add LangChain Deep Agents integration page\" (#292)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-21T00:54:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2327e5809bb25c47b845d05f0e23f8e6ea9e8946",
"body": "Adds a docs page for the\n[`langchain-superserve`](https://pypi.org/project/langchain-superserve/)\nintegration — using Superserve sandboxes as the execution runtime for\nLangChain, LangGraph, and Deep Agents.\n\n## What's here\n- New page `integrations/agent-harnesses/langchain.mdx` under\n**Integrations \n[…]\n async\n`ainvoke` path verified against SDK signatures.\n\nModel in the example uses the current-generation\n`anthropic:claude-sonnet-5`.\n\n---------\n\nCo-authored-by: Pavitra Bhalla <pavitra@superserve.ai>",
"is_bot": false,
"headline": "docs: add LangChain Deep Agents integration page (#283)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-21T00:33:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "897993493d1730d66ee419cfccb92f4194eb0c0d",
"body": "## Summary\n\n- add an Agno guide under Cookbook → Agent Harnesses\n- document installation, sandbox execution, session reuse, lifecycle\noptions, and secret binding\n- add the official Agno mark and link to Agno's toolkit reference and\nrunnable cookbook example\n\n## Why\n\nAgno's Superserve toolkit has mer\n[…]\nadvanced toolkit options.\n\n## Validation\n\n- `bun run docs:check-nav`\n- `bunx --bun mintlify validate`\n- `bunx --bun mintlify broken-links`\n- local Mintlify preview returned HTTP 200 for the Agno route",
"is_bot": false,
"headline": "docs: add Agno integration guide (#288)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-17T19:39:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "abcd5c4d512759f82555af1b146869ce1d8e2711",
"body": "## Summary\n\n- add the dedicated `platform:activity:read` permission to console\nimpersonation keys\n- scope audit-log caches by the active or impersonated team\n- resolve per-sandbox activity from the impersonated team's region\n- fail closed with a clear authorization state when activity access is\nmiss\n[…]\ns/console lint`\n- `bun run --cwd apps/console typecheck`\n- 58 focused Vitest tests passed across permissions, impersonation,\nproxy authentication, activity cache isolation, and activity server\nactions",
"is_bot": false,
"headline": "Fix admin access to impersonated audit logs (#285)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-17T18:31:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fa841ba3d1d555a5751b1b7d9bfcb23ce9bf8a3c",
"body": "## Summary\nPlatform impersonation of a migrated team fails with 401s: the\nimpersonation cookie pins the team's region at start, and `findTeamById`\nreturns the first cell match in configured order — for a migrated team\nthat's the detached fallback row in the old cell, whose keys are all\nrevoked. Part\n[…]\now is missing, null-home_region compatibility.\n- Full team-directory suite: 24/24.\n- Root cause verified live against a migrated team (impersonation 401 →\nresolves after the equivalent data-side fix).",
"is_bot": false,
"headline": "console: findTeamById prefers the cell a team names as home (#282)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-15T01:38:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "365ee739c116f11647fc59721109a39c4c288c42",
"body": "## Related Issues\n<!-- Link any related issues: Fixes #123, Relates to #456 -->\nNone.\n\n## Description\nAdds a `loop-pr-loop` GitHub Actions workflow that runs the published\n`@superserve/loops` PR review loop on every PR code change (opened,\nsynchronize, reopened) plus manual dispatch, driving one war\n[…]\ns[bot]`\nusing the workflow's built-in token.\n\n## Testing\n<!-- Describe how you tested these changes -->\n\n- [ ] Tested locally\n- [ ] Added/updated tests\n- [ ] All tests passing\n\n## Screenshots/Demo\nN/A",
"is_bot": false,
"headline": "Add pr-loop GitHub Actions workflow (#280)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-15T00:06:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3e1833b2500cc45c13e770cb6ddc8b362bf68068",
"body": "## Related Issues\nWhen we fixed the impersonation, we broke the template view\n\n## Description\nThis changes the authentication for the template view\n\n## Additional Context\n<!-- Anything you want reviewers to know or give specific feedback on?\n-->\n\n## Testing\n<!-- Describe how you tested these changes -->\n\n- [ ] Tested locally\n- [ ] Added/updated tests\n- [ ] All tests passing\n\n## Screenshots/Demo\n<!-- If applicable, add screenshots or a demo link -->",
"is_bot": false,
"headline": "fixing template view (#281)",
"author_name": "awille-ai",
"author_login": "awille-ai",
"committed_at": "2026-07-14T22:39:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94f348345513e3315e13c5729b744d3f2dd378fa",
"body": "…uperserve sandbox (#247)\n\n## Summary\n\nAdds **PR Superloop** — an open-source, installable agent loop that\nshepherds open pull requests. On each commit pushed to a PR, Claude Code\nruns headless inside a warm Superserve sandbox, reviews the diff against\na calibrated rubric, runs the project's own tes\n[…]\nut if preferred)**\n- `apps/console/src/components/date-range-filter.test.tsx` — pins the\nclock so the test is date-independent.\n- `docs/docs.json` — also adds Teams endpoints to the API Reference nav.",
"is_bot": false,
"headline": "Add PR Superloop: an installable agent loop that reviews PRs from a S…",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-14T14:24:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c5bd5df203a9300bff63c21c6bc67ea19592a011",
"body": "## Related Issues\nhttps://github.com/superserve-ai/superserve/pull/227 this was the\noriginal change that made the changes, and then i stomped on it by\naccident\n\n\n## Description\nThis is the \"impersonation\" flow that I accidentally killed\n\n## Additional Context\n\n\n## Testing\nAdded tests. also looking at the console build\n\n- [X ] Tested locally\n- [X ] Added/updated tests\n- [X ] All tests passing\n\n## Screenshots/Demo\n<!-- If applicable, add screenshots or a demo link -->",
"is_bot": false,
"headline": "Reviving a page I killed (#263)",
"author_name": "awille-ai",
"author_login": "awille-ai",
"committed_at": "2026-07-13T21:07:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85779e63fcb0da48872315aebc47d1fe6e8ab05c",
"body": "## Summary\nOne version alignment left over from #275 (the `MIN_SDK_VERSION` bump to\n0.8.0 already landed there): the Python SDK bumps to 0.8.0, since it\nships the same new region-routing code as the TS SDK's 0.8.0 and a PyPI\nrelease can't go out on the old version.\n\n## Testing\nVersion metadata only; no code paths change.",
"is_bot": false,
"headline": "python-sdk: bump to 0.8.0 to match the TS SDK region release (#276)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-10T04:48:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96bcebfa39b00398ced6a3e5f937cea1360989bb",
"body": "## Summary\nAdds `usw-sandbox.superserve.ai` to both SDKs' shared-host sets, so\nserver-side data-plane traffic for usw sandboxes uses the pooled shared\norigin + routing header instead of a distinct TLS origin per sandbox.\nThe comment guarding this entry asked for the usw proxy's shared-host\npath to b\n[…]\nutes via the shared origin. The test list extends\nper cell launch.\n\n## Testing\nTS SDK: 221 tests green (13 files). Python SDK: 54 green. Live\nshared-origin exec verified against the usw cell as above.",
"is_bot": false,
"headline": "sdk: usw joins the shared-host data-plane path (#277)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-10T04:45:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ea65baf80cad7850bca5ec712c1d48b21966342e",
"body": "Makes west-cell (`usw`) teams work from all three clients: SDKs,\nconsole, and MCP. Before this, a west team's key/console/MCP calls\nlanded on the primary (us-east) cell, so their sandboxes were\nunreachable.\n\n**SDKs** — add `usw` → `{api-usw.superserve.ai,\nusw-sandbox.superserve.ai}` to the known-reg\n[…]\nTests: SDK, Python, MCP, and console suites green; typecheck clean.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>\nCo-authored-by: Pavitra Bhalla <pavitra@superserve.ai>",
"is_bot": false,
"headline": "Add usw region routing to the SDKs and console data plane (#275)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-10T03:09:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a82fad135b9b19a6a052ebd5cee8ab20880a2ac3",
"body": "…273)\n\n## Problem\n\nA brand-new user (e.g. Google OAuth first login) lands on `/sandboxes`\nand immediately hits **\"Something went wrong — You do not have\npermission to perform this action.\"** The auth callback provisions\nnothing, so the user has zero memberships; the first server-side request\nis what\n[…]\nexisting on `main` (OpenAPI `GET /activity` missing from docs nav).\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>\nCo-authored-by: Pavitra Bhalla <pavitra@superserve.ai>",
"is_bot": false,
"headline": "console: provision full RBAC chain on first-login team auto-create (#…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-09T22:44:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7a5f0c29e01215b864cf477154c084956177d116",
"body": "…(#274)\n\nAdds a `sec` suffix inside the **Timeout** and **Auto-delete** number\ninputs in the create-sandbox dialog's advanced section, so the unit is\nvisible at a glance rather than only in the helper text.\n\nUses the `Input` component's existing `suffix` prop — no component\nchanges.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: show seconds unit on sandbox timeout and auto-delete inputs …",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-09T17:37:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "58dc097c15e6b11600f9bf0bd2796dc76dd69085",
"body": "## Summary\n\nMigrates the Audit Logs page from client-side filtering of a capped\n≤100-row fetch to true server-side pagination against the new `GET\n/activity` endpoint, mirroring the Sandboxes list page.\n\nPreviously the page fetched up to 100 activity rows via a Supabase\nserver action (`listActivityA\n[…]\nv entry can only land\nonce #189 is merged. It'll go in a small docs-only PR right after —\nmerge it promptly, since once #189 is on `main` the check will expect\nthe nav entry on subsequent console PRs.",
"is_bot": false,
"headline": "feat: server-side pagination for audit logs page (#270)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-09T16:45:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "56b57cef38bf117002b356fcf557b6d9a525b556",
"body": "## Summary\nAdds a team switcher to the console. The active team lives in an\nhttpOnly cookie (`region:teamId`) and every dashboard surface —\nsandboxes, templates, snapshots, secrets, activity/audit, API keys,\nbilling, quota, team management — resolves it server-side, so switching\nre-scopes the whole \n[…]\ner-team derivation; new teams-actions\ntests for the directory's active marker, switch validation, and\ncreate-switches-to-new-team.\n- Full console suite: 409 tests pass; typecheck, oxlint, oxfmt clean.",
"is_bot": false,
"headline": "console: team switcher — cookie-backed active team (#272)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-09T05:02:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "56145c0cefc77b0844b29fb92bef67352c311baa",
"body": "Auto-pause (`timeoutSeconds`) was only documented as scattered field\ndescriptions — the lifecycle page had Pause/Resume/Kill/Auto-delete but\nno Auto-pause section, even though it's the more fundamental behavior\n(auto-delete depends on a box pausing first).\n\n- Adds an **Auto-pause** section to the li\n[…]\neout tracks the current active session and re-arms\non resume; it's not a total lifetime. Both now link to the new section.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "docs: add auto-pause lifecycle section and fix timeout wording (#269)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-08T18:12:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "301e15b79d436eb7168eed51c12af9d386019a2b",
"body": "…d main (#268)\n\nRecovers from a partial release and fixes the underlying workflow bug.\n\n## Context\n`@superserve/sdk@0.7.8` **published successfully to npm**, but the\n`release.yml` \"Commit version bump\" step failed:\n```\nGH006: Protected branch update failed for refs/heads/main.\nChanges must be made t\n[…]\nthe\nprotected-branch design and the PyPI publisher config.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "release: reconcile main to 0.7.8 and fix release.yml push to protecte…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-08T05:53:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "dec41101a2939857e8fea00d0d6130f8f589e327",
"body": "…ump (#267)\n\nThe auto-delete PR (#265) pre-bumped the SDK and Python package versions\nto 0.7.8. But `release.yml` (the `workflow_dispatch` publisher) is\ndesigned to **own** the version bump — it bumps\n`package.json`/`pyproject.toml`/`__init__.py` to the input version,\npublishes via OIDC, then commit\n[…]\n: 0.7.8), then\npush the `mcp-v0.1.1` tag once the SDK is live on npm.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "revert: unset SDK/Python 0.7.8 bump so release.yml owns the version b…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-08T00:04:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "778a9cbd2dc5fda236c5537a8fd42dadd1e2b7ad",
"body": "Everything in this repo and its PR metadata is public, so the guidelines\nnow say what that implies: no customer names, no internal tracker IDs,\nno internal URLs — in code, fixtures, commits, or PR text. Also rewords\none merged comment that cited a tracker ID.\n\nTesting: docs + comment-only change; lint clean on the touched file.",
"is_bot": false,
"headline": "document public-repo hygiene in CLAUDE.md (#266)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-07T23:42:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ab33b48202fa606009381a9ea1f372683011a01",
"body": "… on update (#265)\n\nSDK, console, MCP, and docs support for paused-sandbox auto-delete, plus\na patchable auto-pause timeout. Mirrors the control-plane API\n(superserve-ai/sandbox#178).\n\n- **TS + Python SDKs**: `autoDeleteSeconds`/`auto_delete_seconds` on\ncreate; `update()` sets or clears (`null`/`Non\n[…]\nsole 351), pytest (287), MCP (88); typecheck\n+ lint clean.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "sdk: auto_delete_seconds on create, patchable auto-delete and timeout…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-07T23:30:04Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "70235d6bb5b87bc53a83aa138c3bda28d7ee56b5",
"body": "… writes (#264)\n\nThe console now supports teams homed in different regions (\"cells\"),\nincluding creating new teams in the usw cell. A cell registry maps\nregion → {Supabase admin client, control-plane API base URL}; team\nlookups fan out across configured cells, and everything that operates on\na team \n[…]\nhe team's cell, proxy routes forward to the resolved cell base\nURL.\n- `bun run test` (console): 47 files, 370 tests passing; `bun run\ntypecheck` clean; `bunx oxlint` / `oxfmt` clean on `apps/console`.",
"is_bot": false,
"headline": "console: multi-cell support — cell registry, team directory, per-cell…",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-07T18:11:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "739c43305761579daa2f7144dbd50edb0f02b510",
"body": "## Summary\n\nRestructures the docs site navigation. The former 4-tab layout\n(Documentation · SDK Reference · Integration Guides · API Reference)\nbecomes a single-axis **anchors** layout: no top tab bar; four\nicon-labeled sections pinned at the top of the sidebar, selected via a\nlayout comparison acro\n[…]\ner renders in the Cookbook sidebar\nwhile `cookbook/pr-loop.mdx` and `cookbook/software-factory.mdx` remain\non disk\n- [x] Verify the anchors sidebar renders as expected on the deployed\nMintlify preview",
"is_bot": false,
"headline": "docs: merge SDK and API reference into one tab, add Cookbook tab (#255)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-06T17:26:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1e3459cece001d3a2eba85b8a86a7d835b155174",
"body": "…d templates (#262)\n\n## What\n\nAdds server-side pagination, sorting, and filtering to the **Sandboxes**\nand **Templates** list views. Both pages previously fetched the entire\nlist and filtered/searched in memory, which doesn't scale as a team\naccumulates sandboxes/templates. Each view now fetches onl\n[…]\nnual: paginate / sort / filter / search on both pages against a\nbackend that has the pagination params (staging, post backend deploy)\n\n---------\n\nCo-authored-by: Pavitra Bhalla <pavitra@superserve.ai>",
"is_bot": false,
"headline": "console: server-side pagination, sorting & filtering for sandboxes an…",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-07-04T00:50:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d8059e4985eb7fa4d3c519d203e00ae8aa9ad99d",
"body": "SDKs (TypeScript + Python) now derive the API endpoint client-side from\nthe region token in `ss_live_<region>_<random>` API keys, via a\nknown-regions map. This lets multi-region keys route to the right cell\nwith zero configuration, part of the multi-region cell work (SS-143).\n\n**Technical decisions*\n[…]\new tests in both SDKs cover legacy keys, `use` keys, unknown regions,\n`_`-collision keys, weird/never-throw keys, and the full precedence\norder (plus prototype-member safety on the TS side via `Map`).",
"is_bot": false,
"headline": "sdk: derive API endpoint from region-tagged API keys (#261)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-02T23:53:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bb86b7daebd0a1110b89514169ca386ed2b1bd7f",
"body": "…250)\n\n## What\n\n**Trusted Publishing (token-free OIDC) for the release workflows:**\n- `mcp-publish.yml` — npm publish now via OIDC (dropped\n`NODE_AUTH_TOKEN`/`.npmrc`; added `npm install -g npm@latest` since OIDC\ntrusted publishing needs npm ≥ 11.5.1). The MCP-registry half already\nused `github-oidc\n[…]\n`NPM_TOKEN` / `PYPI_TOKEN` secrets can be deleted.\n(`cli-publish.yml` still uses a token — same treatment optional later.)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "ci: Trusted Publishing for MCP + SDK releases; fix MCP server.json (#…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-02T21:00:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b53719176a7344b17356091ad3a62a81435779d0",
"body": "## Summary\n- Several public docs described sandbox cold starts as \"sub-second\" —\nundersells actual latency and reads as vague marketing copy\n- Replaced with \"<50ms\" / \"fast (<50ms)\" across the Claude Managed\nAgents integration docs, guide README, and parallel-benchmark-agent\nrecipe README\n\n## Testing\n- Docs-only change",
"is_bot": false,
"headline": "docs: replace sub-second cold start claims with <50ms (#256)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-02T17:04:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa08a0039ea6bb45e467cdcb95afdeefa039bc86",
"body": "## Summary\n- Add a permission-gated `/user-management` console page for RBAC Phase\n4 team member and role management.\n- Add a console-owned `/api/team-management` proxy that resolves the\ncurrent team server-side and forwards only to customer RBAC endpoints.\n- Gate user-management access on the share\n[…]\nests\n\n## Notes\n- No backend schema changes in this repo.\n- Customer sandbox read access should move to explicit\nplatform-authorized read APIs in a separate backend/API design, not\nstaff impersonation.",
"is_bot": false,
"headline": "Add RBAC user management console UI (#241)",
"author_name": "awille-ai",
"author_login": "awille-ai",
"committed_at": "2026-07-02T05:56:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c29fdd2b21da12a09457b899c433b3ef75d66252",
"body": "New customer API keys embed the team's home region —\n`ss_live_<region>_<random>`, read from `team.home_region` — so the API\nedge can route a request to the team's home cell from the key string\nalone, no directory lookup. Legacy keys are untouched and keep working.\nPart of the two-region rollout; pai\n[…]\ng\n\n3 new vitest cases: region embedding + hash-covers-full-string, fallback\non missing column, fallback on unknown region code. Existing\nimpersonation-refusal test unchanged. Typecheck + oxlint clean.",
"is_bot": false,
"headline": "console: mint region-prefixed API keys (ss_live_<region>_...) (#253)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-07-02T05:45:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7f54ea21d60a306adbff184dc8ddb4318951ab4c",
"body": "Shows a warning banner once a team reaches 80% of its sandbox limit,\ncomplementing the email/Slack alerts from the control plane.\n\n- Live read of the team's sandbox usage (self-clears when sandboxes are\ndeleted).\n- Threshold check mirrors the control-plane integer math so banner and\nemail never disa\n[…]\nession dismiss; renders nothing for multi-team users (no error\nspam).\n- Mounted in the dashboard shell above page content.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: warn in-product when a team nears its sandbox limit (#239)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-07-02T03:52:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ec092a43df02d80fe5ab3f362458a4bbdb0d8b94",
"body": "## Summary\n\n- Cuts CLAUDE.md from ~270 lines to ~90\n- Removes SDK API surfaces, design choices, lifecycle details, and\nverbose command tables — all covered better in\n`skills/superserve/SKILL.md` and `docs.superserve.ai`\n- Keeps the non-obvious, repo-specific stuff: console proxy\narchitecture, `bun add --filter` footgun, SDK version sync locations,\ndesign language, branding, git rules\n- Adds pointer to `docs.superserve.ai/llms-full.txt` for LLM-friendly\nfull reference",
"is_bot": false,
"headline": "trim CLAUDE.md to essentials, defer to docs and skill (#249)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-29T22:23:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32133b686fd92f035f102309c9643b28ffea134c",
"body": "## Summary\n\n- Deletes the `spec/` folder (38 AI-generated planning docs that don't\nbelong in a public repo)\n- Removes the `## Planning` section from `CLAUDE.md` that was\ninstructing agents to save docs there",
"is_bot": false,
"headline": "remove spec/ folder and planning instruction from CLAUDE.md (#248)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-29T21:29:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c195040f0756220712751400193498700d5cc5bf",
"body": "Adds context7.json for Context7 integration with the Superserve docs.",
"is_bot": false,
"headline": "add context7.json with superserve context configuration (#246)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-29T20:53:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de696a3371ad35b99ea4b5527a944bc4e21e9304",
"body": "## Related Issues\n\nImplements SS-84 (Superserve sandbox MCP server).\n\n## Description\n\nAdds `@superserve/mcp`, a stdio Model Context Protocol server that\nexposes Superserve sandbox primitives as 10 fine-grained tools\n(`sandbox_create`, `sandbox_exec`, `sandbox_files_read`/`write`/`list`,\nand lifecycl\n[…]\nerror mapping, directory-listing\nparser, file round-trips); the live exec round-trip skips cleanly\nwithout `SUPERSERVE_API_KEY`.\n\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing",
"is_bot": false,
"headline": "mcp: add @superserve/mcp server with docs and design spec (#234)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-06-26T17:37:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "784d5e020c401e0a9e4b246fb57c5f9f6e73c40b",
"body": "## Related Issues\n\nRelates to SS-91 (agent skills).\n\n## Description\n\nAdds a consumer-facing **agent skill** at `skills/superserve/SKILL.md`\nthat teaches AI coding agents (Claude Code and the broader skill\necosystem) how to drive the Superserve sandbox SDKs — covering the\nlifecycle (`create`/`pause`/\n[…]\ned. No application code changed.\n\n- [x] Tested locally (content verified against SDK source + docs)\n- [ ] Added/updated tests (N/A — documentation only)\n- [ ] All tests passing (N/A — no code changes)",
"is_bot": false,
"headline": "docs: add Superserve sandbox agent skill (SKILL.md) (#228)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-06-26T17:03:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ee2514bdc17635a3acb6c048f98347f8bef44ed1",
"body": "## Summary\n\nFixes the SDK bug @meAmitPatil reported on #228: the data plane returns\n**503** for a paused sandbox, but the SDKs only auto-resumed on **401**,\nso `pause()` + an immediate `run()` / file op failed with \"sandbox is\npaused\" instead of transparently resuming. `files` had **no resume path\na\n[…]\nse step\n(`SDK_VERSION` tracks the last published version).\n- 503-detection keys on the status code; if the backend later exposes a\nstable `code` for paused, `isResumable` can be tightened to match it.",
"is_bot": false,
"headline": "sdk: auto-resume a paused sandbox on data-plane 503 (TS + Python) (#244)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-06-26T17:00:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "863979036ea3930af5dae8e04a4616f4cb3f12cf",
"body": "## Related Issues\nN/A\n\n## Description\nWhen you create a PR, it creates preview links, and they were not\nworking correctly. this addresses that.\n\n## Additional Context\nN/A\n\n## Testing\nI clicked the link, and it worked.\n\n- [ ] Tested locally\n- [ ] Added/updated tests\n- [X] All tests passing\n\n## Screenshots/Demo\n[Link](https://console-git-aw-fixpreview-superserve.vercel.app/)",
"is_bot": false,
"headline": "Mini PR to allow use to use Vercel to get a preview of the UI (#243)",
"author_name": "awille-ai",
"author_login": "awille-ai",
"committed_at": "2026-06-25T20:36:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6374682297c980d0a5366ad4a3ab55f1a3013d42",
"body": "## Summary\n\nAdds a top-level **Storage** docs section with two new integration\nguides, and reorganizes the virtual-filesystem pages.\n\n- **New Storage group** in the Documentation tab — moved Mesa and Archil\nout of Integration Guides and added Cloud buckets.\n- **Archil** — mount an Archil elastic fil\n[…]\not set in the exec env)\n- missing region `endpoint`/`url` for non-`us-east-1` S3 buckets\n- `chmod 600` on the GCS key file\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "docs: add Storage section with Archil and cloud buckets guides (#242)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-25T03:45:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "239d5fb9f99651ad60681362b5823864ad7f30be",
"body": "…on plan (#240)\n\n## Related Issues\n\nN/A — surfaced while building the LangChain/LangGraph (Deep Agents)\nintegration.\n\n## Description\n\nFixes a bug in the Python SDK's `map_api_error`: it assumed the response\nbody's `error` field is always a dict (`{\"error\": {\"message\": ...}}`,\nthe control-plane shape\n[…]\npassed (incl. the new\n`test_string_error_body_maps_to_typed_error`); ruff + mypy clean. The\nintegration's full `SandboxIntegrationTests` suite (87 tests) was\nverified green live against the fixed SDK.",
"is_bot": false,
"headline": "Fix SDK data-plane error mapping + add langchain-superserve integrati…",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-06-24T17:39:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dddb94df91bef4fa0b680383cbc04640bf2a7050",
"body": "## Related Issues\n\nImplements sandbox **preview URLs** — lets a coding agent expose a\nrunning service (dev server, demo, etc.) inside a sandbox as a public\nURL a reviewer can open.\n\n## Description\n\nAdds `getPreviewUrl(port)` / `get_preview_url(port)` to the TypeScript\nand Python SDKs — a pure, synch\n[…]\nntext\n\nAccess is public-by-UUID (no auth) by design, and the section is gated\non the sandbox being `active`. Running several dev servers at once is\nsupported by previewing multiple ports side by side.",
"is_bot": false,
"headline": "feat: add sandbox preview URLs (TS/Python SDK + console) (#229)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-06-24T17:06:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "09fe10825f357f97d84c461ae22840a3318a06c9",
"body": "## Related Issues\nRelates to SS-64\n\n## Description\nAdds read-only, console-only admin team impersonation behind a\nstaff-identity gate. A staff user can \"act as\" a team from a new admin\nteams page; the console derives an ephemeral per-admin API key, scopes\nall reads to the impersonated team, blocks w\n[…]\n actions, the proxy gate (GET\nallowed, writes blocked), and the new `access_token` redaction\n(adversarial — fails without the fix). Full console suite: **277\npassing**; typecheck + oxlint/oxfmt clean.",
"is_bot": false,
"headline": "feat(console): admin team impersonation (read-only, staff-gated) (#227)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-06-24T16:54:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1b80e824c01f3f86b6946a135833101631bf62fa",
"body": "## Summary\n- **Auth routes noindex**: Added `(auth)` group layout setting `robots:\nnoindex, nofollow` — covers all auth pages and their query-string\nvariants (`?next=`, `?utm_source=`) in one place, fixing the \"Duplicate\npages without canonical\" Ahrefs audit issue\n- **Docs PostHog proxy**: Updated `\n[…]\n74 docs pages) Ahrefs audit issues\n\n## Test plan\n- [ ] Console auth pages (`/auth/signin/`, `/auth/signup/`) render\n`noindex` in `<head>`\n- [ ] PostHog events from docs route through `p.superserve.ai`",
"is_bot": false,
"headline": "fix: noindex auth routes + PostHog proxy on docs (#238)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-24T01:04:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "65aae46a69e03f667106335760c442e621c390c3",
"body": "## Summary\n\n- `apps/console/src/app/layout.tsx`: OG image was set to `/og-image.png`\nwhich doesn't exist in `public/` — would return 404 for any social share\npreview\n- Changed to `https://www.superserve.ai/cover.png` (the main site's OG\nimage) which is a valid, publicly accessible URL\n\n## Test plan\n\n- [ ] Verify `og:image` in console HTML source resolves to a 200 image",
"is_bot": false,
"headline": "fix: console OG image was referencing a missing file (#237)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-23T21:48:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b04931c0a7954553eeca2a73183542fbd8b3faf",
"body": "Adds billing pricing and usage estimates for the authenticated team,\nbacked by pricing plan/rate data and hourly usage rollups.\n\nNo credits system is included in this branch.",
"is_bot": false,
"headline": "Adding pricing to the UI (#224)",
"author_name": "awille-ai",
"author_login": "awille-ai",
"committed_at": "2026-06-22T21:43:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9ab272fefad385a72e98eee8c5126e70dbb386d",
"body": "Moves the secret-binding endpoints into the **Secrets** API-reference\ngroup, where they belong with the rest of the secret operations:\n\n- `POST /sandboxes/{sandbox_id}/secrets` (attach)\n- `DELETE /sandboxes/{sandbox_id}/secrets/{env_key}` (detach)\n\nThey were under **Sandboxes** (grouped by URL path)\n[…]\ninds all secret operations\n(lifecycle + attach/detach + audit) in one place. No spec change;\n`check-nav` stays green (37 operations).\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "docs: group secret attach/detach under Secrets (#236)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-22T19:24:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ba84955e9c7f9a91056bbcd33d35daf8976ca40e",
"body": "The Mintlify docs build was failing (\"Listed in the docs nav but not\ndefined in the OpenAPI spec\"), which blocked the **entire** API\nreference from updating — including the secrets endpoint pages.\n\nCause: exec moved from the control plane to the data plane (sandbox#78),\nwhich removed `POST /sandboxe\n[…]\n docs pull the\nOpenAPI from sandbox `main`, so merge the sandbox PR first, then this\none, for the two new pages to render.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "docs: fix Exec API reference nav to match spec (#235)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-22T19:14:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6f0e8edc1db3dcf87d118c073c304bb3b8e84d53",
"body": "## What\n\nLets a console user download an entire sandbox directory as a single ZIP\nfrom the **Files → Download** panel. This is the console half of SS-66.\n\n## Changes\n\n`apps/console/src/components/sandboxes/files-section.tsx`\n(`DownloadPanel`):\n- Removed the client-side `endsWith(\"/\")` rejection — a \n[…]\nthe console ships first, a directory download shows \"Directory\ndownload is not available for this sandbox yet\" (single-file downloads\nkeep working) until the data plane catches up. SDKs are unchanged.",
"is_bot": false,
"headline": "console: download a sandbox directory as a zip (#221)",
"author_name": "Mohamed Sobhy",
"author_login": "mohamedsobhi777",
"committed_at": "2026-06-22T17:25:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c8c5529ae6d4506f70d8a8af1970190824a1c93c",
"body": "Bumps `@superserve/sdk` (npm) and `superserve` (PyPI) to 0.7.6 for the\nruntime secret-binding feature (attach/detach at runtime).\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "Bump SDK versions to 0.7.6 (#231)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-18T21:09:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53893d50378d4269ed7aff4a7bc5b353df2d68e6",
"body": "Adds attach/detach secret to the SDKs and the console, plus docs.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "Runtime secret binding: SDK, console, and docs (#226)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-18T19:49:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "239958f13b037b9e84e75defb720665b26c1a3e8",
"body": "Release the current SDK (adds the secrets surface) to npm + PyPI before\nthe runtime-binding work.\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "Bump SDK versions to 0.7.5 (#230)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-18T18:27:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfa0939246ea58458e535abc6e112ec44882ef21",
"body": "## Summary\nTL;DR - Fixes a few issues to improve health score on ahrefs.com.\nCurrently at 66/100, I want to bring it up\n\n\n- Adds Next.js `rewrites()` to proxy PostHog requests through the\nconsole's own domain (`/ingest/*` → `us.i.posthog.com`,\n`/ingest/static/*` → `us-assets.i.posthog.com`)\n- Update\n[…]\n\n- Privacy link: check signin/signup pages — privacy link should point to\n`www.superserve.ai/privacy` directly\n- Ensure `NEXT_PUBLIC_WEBSITE_URL=https://www.superserve.ai` is updated\nin production env",
"is_bot": false,
"headline": "console: proxy PostHog through own domain to bypass ad blockers (#225)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-18T04:01:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d449ac108ba4d0282db8035a0304f842761ffff1",
"body": "## Related Issues\nSS-55 Usage tracking and Billing\n\n## Description\nThis adds the UI for the usage tracking and billing\n\n## Additional Context\nThere are DB changes to enable the feature, which have already rolled\nout to production\n\n## Testing\nAdded tests, and ran them\n\n- [X ] Tested locally\n- [X ] Ad\n[…]\nDemo\n<img width=\"1644\" height=\"526\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/46b8ae49-23de-4d09-9f28-3d3debdd1f82\"\n/>\n\n---------\n\nCo-authored-by: Alejandro Wille <ahwille@gmail.com>",
"is_bot": false,
"headline": "Add metrics UI (#222)",
"author_name": "awille-ai",
"author_login": "awille-ai",
"committed_at": "2026-06-17T23:45:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dd083a81506474d9d567ce7fa313bf73ed9b67f1",
"body": "…#216)\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: secrets foundation — types, API client, hooks, sidebar nav (…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-17T22:10:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc25c3aacb62258d51f987fda31dc4ec62c5e825",
"body": "## Summary\n- Added MCP contextual menu options (`mcp`, `add-mcp`, `cursor`,\n`vscode`) and dropped `chatgpt` — makes it easy for Claude Code, Cursor,\nand VS Code users to add our docs as an MCP server\n- Added MCP tip callout to introduction page\n- Changed \"boots\" → \"starts\" (less jargon-y)\n- Removed \"in under five minutes\" time claim from quickstart description\nand intro card",
"is_bot": false,
"headline": "docs: MCP contextual options, copy improvements (#223)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-17T20:19:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0b46594365cb225590c4f014e08c80b4b90ccfa",
"body": null,
"is_bot": false,
"headline": "Docs: theme changes, get started button added (#220)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-06-11T16:11:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6db217d7a6144a9c78c6e656571b511c5c0fb4c3",
"body": "…ge (#219)\n\nFollow-up to PR #218. Two improvements based on review feedback:\n\n- Replace fragile string-match in the page with a typed `errorCode:\n\"blocked_email\"` returned from the signup action. Action also logs the\nblocked attempt (with email) for visibility.\n- Pass `?reason=signup_blocked` to the\n[…]\nignup context instead of saying\n\"sign in\". OAuth callback also redirects with the same query param when\nthe trigger fires.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: typed errorCode for blocked-email + signup-tailored error pa…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-10T18:56:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "37ce8b6c1fade92382cc8b3dcaec20e8253935ef",
"body": "When a blocked email or domain attempts signup, the Supabase trigger\nraises and the action returns the wrapped 'Database error saving new\nuser' message. Previously this rendered as inline error text on the\nsignup form; now it routes to the same /auth/auth-code-error page that\nOAuth failures already use, matching the existing Authentication Error\nUX.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: show auth-code-error page when signup is blocked (#218)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-10T18:15:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ab5230f5652e0a571cbe7b5d6e0101e699920bf",
"body": null,
"is_bot": false,
"headline": "Update referral links in README",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-09T20:37:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef42a7ff455a45ed0e6ee608dab79678e105dbde",
"body": "Reverts superserve-ai/superserve#215",
"is_bot": false,
"headline": "Revert \"docs: add Get Started button to navbar\" (#217)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-09T15:44:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b73c3b0f9fe5c9cdfc76b18b387e8054e5cee6d7",
"body": "## Summary\n\n- Adds a **Get Started** button to the docs navbar linking to\n`https://console.superserve.ai` with UTM tracking\n- Keeps GitHub link alongside it in the navbar\n- Keeps the existing `maple` theme — the layout breakage in the previous\nattempt was caused by switching to `willow`\n- Adds `styl\n[…]\n ] Confirm button styling matches design system\n- [ ] Confirm no layout or visual regressions (docs layout unchanged\nfrom `maple` theme)\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)",
"is_bot": false,
"headline": "docs: add Get Started button to navbar (#215)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-09T15:41:31Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4a6d3dbc64f774b9c96f454af2d4fa306a576825",
"body": "Reverts superserve-ai/superserve#213",
"is_bot": false,
"headline": "Revert \"docs: add Get Started button to navbar\" (#214)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-08T20:41:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2da16cbab8a68a37f7c73bdcc1b251b188aa7a91",
"body": "## Summary\n\n- Adds a **Get Started** button to the docs navbar (top-right header)\nlinking to `https://console.superserve.ai` with UTM tracking\n- Adds GitHub link alongside it in the navbar\n- Switches theme from `maple` to `willow` — maple renders navbar items\nat the bottom of the sidebar; willow put\n[…]\nsign system (mint green, dark\ntext, no border radius)\n- [ ] Confirm hover state works\n- [ ] Confirm no visual regressions on other pages\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)",
"is_bot": false,
"headline": "docs: add Get Started button to navbar (#213)",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-08T20:36:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "734ec1e012b55fde9b747733412aac3ec7b1747f",
"body": "Both See-also links in all three recipe READMEs were broken: `Full\nguide` 404'd (no per-recipe doc pages) and is repointed to the\n`claude-managed-agents` guide; `Base recipe` pointed at a nonexistent\npath and is fixed to `../../`.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "guides: fix broken links in the managed-agents recipe READMEs (#212)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-08T18:51:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48a88dbe564a814f1f6a04919a5073395e629dda",
"body": "…managed-agents (#211)\n\nReorganizes the Claude managed-agents material into one place.\n\n**Moves (via `git mv`, history preserved):**\n- `guides/claude/claude-managed-agents/` →\n`guides/managed-agents/claude-managed-agents/`\n-\n`recipes/claude/{research-agent,dev-environment,parallel-benchmark-agent}`\n\n[…]\nard) now point at the new paths — verified each resolves to an existing\npath, and no old-path references remain anywhere in the repo.\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "docs: consolidate claude managed-agents guide + recipes under guides/…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-07T18:54:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "27e74adfefa3c7ed9690e2cca9de7c8e35414baf",
"body": "…209)\n\nFixes 6 doc inaccuracies, each verified against the platform source /\nSDK / tests:\n\n- **introduction**: `superserve/base` is bare Ubuntu (no Python/Node) —\nremoved the false claim\n- **networking**: precedence is allow-wins (was stated as deny-wins);\nnoted `*.x.com` doesn't match bare `x.com`\n\n[…]\nfailed` error code\n- **claude-agent-sdk**: async tool handler now uses `AsyncSandbox` +\n`await` (was a blocking sync call)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "docs: fix factual inaccuracies in reference and integration guides (#…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-05T00:56:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0ae1d05baf42e1a83e266905a7ad7ca13b800734",
"body": "The template builder's curated image list offered the **full**\n`python:3.11` / `python:3.12` images (~1.6 GB), while node/debian used\n`-slim`. The full Python images overflow the smaller disk options, so\npicking e.g. Python 3.12 + 1 GB disk always fails with\n`image_too_large`.\n\n- Switch curated Pyth\n[…]\ne (covers the\ncustom-image path).\n\nAfter this, every curated image fits a 1 GB disk (largest is\n`node:22-slim` at 329 MB).\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: use slim Python base images in the template builder (#210)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-04T21:23:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b1f251ae4cd8a2cd7673ba4e3c3810bbe909e337",
"body": "…ecipes (#206)\n\n## Summary\n\nAdds three new Claude Managed Agents recipes, each with Python +\nTypeScript implementations, a README, and a full docs page.\n\n- **Long-running Research Agent** (`guides/claude/research-agent/`) —\nagent researches topics across multi-turn sessions; sandbox pauses\nbetween t\n[…]\nerve + Anthropic\naccount and confirm end-to-end flow works\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "guides: add research agent, dev environment, and parallel benchmark r…",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-06-04T17:54:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2e7fbda668fcfcbe989652df2564378764bd5847",
"body": "Bump the TypeScript and Python SDK versions to 0.7.4 for the\ncommands.spawn() release (also corrects the stale User-Agent SDK_VERSION\nin both clients).\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "Bump SDK versions to 0.7.4 (#208)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-03T17:47:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f452ad60d2f92563ed7b86cbe93755860d7789ad",
"body": "Adds `commands.spawn()` — a live, full-duplex command session over the\ndata-plane `/exec/connect` WebSocket. Complements the one-shot\n`commands.run()` (HTTP/SSE); pairs with the server side in\nsuperserve-ai/sandbox#89.\n\n`spawn()` returns a handle while the process runs: stream output, write\nto stdin\n[…]\nbefore-finish, resume-retry, socket cleanup.\n\nTS 152 tests / Python 198 tests green; tsc, oxlint, oxfmt, ruff, mypy\nclean.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "Add commands.spawn() for full-duplex exec (TS + Python) + docs (#205)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-03T16:30:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e1b900f3463c83a55719082019957e2a0eefdd39",
"body": "… (#204)\n\nDownloading a directory path in the sandbox Files panel surfaced a raw\ninternal backend error. Downloads are single-file only, so the console\nnow handles the directory case cleanly.\n\n## Changes\n- Parse the data-plane error body instead of showing raw JSON.\n- Directory path and missing-file\n[…]\n upload errors.\n- Fixed the pre-existing jsx-a11y control-label errors in the touched\nand adjacent files (lint now green).\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "console: clearer directory download error and fix a11y control labels…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-02T01:59:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "59c910c6625d90eccf5edd472657fdf179f875f2",
"body": "Adds an automated check so the API Reference nav in `docs/docs.json`\ncan't drift from the OpenAPI spec it renders — the gap that let a\ndocumented endpoint go missing from the published docs.\n\n## What it does\n`scripts/check-docs-nav.ts` fetches the spec referenced in `docs.json`\nand compares it again\n[…]\nll.\n- `/health` is exempt (intentionally not in the public nav). Uses the\nbuilt-in `Bun.YAML` parser, no new dependencies.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "ci: check docs nav stays in sync with the OpenAPI spec (#203)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-01T19:42:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1f4d514bfa0650631d646ed6b031e125523c3ff8",
"body": "Surfaces three endpoints that exist in the OpenAPI spec but were missing\nfrom the API reference nav, so they now render in the docs.\n\n## Changes\n- Add `POST /sandboxes/{sandbox_id}/activate` to the Sandboxes group\n- Add a new Files group with `GET /files` and `POST /files`\n\nThe spec itself is pulled live from the sandbox repo's `main`; all three\npaths are already present there, so the Mintlify build resolves them.\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "docs: add activate and files endpoints to API reference nav (#202)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-06-01T18:52:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "118de0394936a03b2ed68e0e05176dbf4ce91cd3",
"body": null,
"is_bot": false,
"headline": "Console: audit logs, expand for details (#201)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-29T19:48:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd5d83a3c0830b815db76be5989a4bcdc696226b",
"body": "## Description\n- Docs: Template details corrected based on template specs\n- Docs & Console: Logo Updated\n\n## Testing - NA\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\nNA",
"is_bot": false,
"headline": "docs: templates details updated, docs & console: logo updated (#196)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-29T00:12:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a33629fbc0d087df37b3ca8689046f916942eac",
"body": "…200)\n\n## Summary\nOn supported sandbox hosts (prod + staging), the SDK now routes\n`commands.run` / `commands.run` (streaming) / `files.read|write` through\na single shared host (`sandbox.superserve.ai` or\n`staging-sandbox.superserve.ai`) with `X-Superserve-Sandbox-Id` carrying\nthe sandbox ID, instead\n[…]\nx#80](https://github.com/superserve-ai/sandbox/pull/80) — already\nmerged + deployed to staging.\n\nBumps both SDKs to 0.7.3.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "sdk: route data plane via shared host on supported domains (0.7.3) (#…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-05-28T19:45:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c7d2e4119d00c015d89c4a5d68779a914d163cc9",
"body": "…te (#197)\n\nSwitches `Sandbox.commands.run()` to the per-sandbox data-plane `/exec`\nand `Sandbox.connect()` to `POST /activate`. On 401 the SDK\nauto-refreshes via /activate and retries once.\n\nSame shape in TS and Python (sync + async). Pairs with sandbox PR #77\nwhich shipped the server-side endpoint\n[…]\nvior is no longer available through\n`connect()` — use `Sandbox.list()` + filter or the REST API for\ninspection-only flows.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "sdk: route commands.run through data-plane /exec, connect via /activa…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-05-28T16:43:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9d0f027aefd32a921c87db3f1abe9279d636e203",
"body": "## Description\nUpdate console design, component library and ui app\n\n## Testing\n- [x] Tested on staging\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\nWIP",
"is_bot": false,
"headline": "console & ui: design update to match website (#198)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-28T07:54:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b790a5ec05f44566d321407ba908a4c64d1384a1",
"body": "## Description\n- docs: integration guides in introduction page\n- docs: logo updated\n\n## Testing\n- [ ] Tested locally\n- [ ] Added/updated tests\n- [ ] All tests passing\n\n## Screenshots/Demo\nNA\n\n---------\n\nCo-authored-by: Pavitra Bhalla <pavitra@superserve.ai>",
"is_bot": false,
"headline": "docs: integration guides, favicon changes (#199)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-28T03:23:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed6c911dd0bf3881ae1a0d84e8c2f9b12eb7c7e6",
"body": null,
"is_bot": false,
"headline": "docs: polish README and guide copy",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-05-27T22:06:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edd69a92b7f48c8a60250e864b14582232a5469a",
"body": "## Summary\n- Adds integration guide for using Superserve sandboxes as the\nself-hosted execution environment for Anthropic's Claude Managed Agents\n- Covers template setup, orchestrator (polling pattern), in-sandbox\nrunner, and session creation with both TypeScript and Python examples\n- Adds the guide to the Agent Harnesses group in the Integration Guides\nnav tab\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>\nCo-authored-by: Pavitra Bhalla <pavitra@superserve.ai>",
"is_bot": false,
"headline": "docs: add Claude Managed Agents integration guide (#195)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-05-27T19:42:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55b237250bae0df543362b910f217e445b3b31dd",
"body": "…ox) (#194)\n\nBoth SDKs constructed `boxd-{id}.sandbox-staging.superserve.ai` but the\nVercel DNS wildcard is `*.staging-sandbox.superserve.ai` — staging\ndata-plane unreachable via SDK. Prod (`sandbox.superserve.ai`) is\nunaffected.\n\n<!-- stage-review-badge-begin -->\n\n---\n\n<a href=\"https://stagereview.\n[…]\nc=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "sdk: fix staging data-plane hostname (sandbox-staging → staging-sandb…",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-05-22T17:58:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4ae100f9bd653c935d1ac9d79c38f7ae3e53206a",
"body": "## Description\ndocs: openclaw and hermes guides updated to use templates\ndocs: templates list, openclaw and hermes added\n\n## Testing\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\nNA\n\n<!-- stage-review-badge-begin -->\n\n---\n\n<a href=\"https://stagereview.ap\n[…]\n\"https://stagereview.app/assets/gh-open-in-stage-dark.svg\">\n<img src=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->",
"is_bot": false,
"headline": "docs: openclaw and hermes templates (#193)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-20T16:06:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5e46c2502ae36401732dee3a9dbaeda69d99a29b",
"body": null,
"is_bot": false,
"headline": "Console: Terminal improvements (#192)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-16T07:58:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc4efae2d9f84624bcb98e9594a6b37e8e6d7f46",
"body": "## Description\n- UTM Source Attribution\n- Docs: Integration Guides, product logos added\n- Docs: OpenClaw and Hermes, instruction to keep them alive\n\n## Testing - NA\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\nNA\n\n\n<!-- stage-review-badge-begin -->\n\n---\n[…]\n\"https://stagereview.app/assets/gh-open-in-stage-dark.svg\">\n<img src=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->",
"is_bot": false,
"headline": "UTM Source Attribution & Integration Guides Updates (#191)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-15T14:21:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8c9196251744cf52e5125ab47543345807fc7917",
"body": "## Description\n- README simplified and cleaned up\n- RELEASING file added\n- CONTRIBUTING guide for installing and managing dependencies in\nmonorepo\n- SDK examples removed, link to docs\n\n## Testing - NA\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\nNA\n\n\n<!\n[…]\n\"https://stagereview.app/assets/gh-open-in-stage-dark.svg\">\n<img src=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->",
"is_bot": false,
"headline": "README Simplified (#190)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-14T16:48:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c1c4c042386b64942af7a4565135f7f3a42ae5f3",
"body": "## Description\nxterm terminal issues fixes\n\n## Testing\n- [x] Tested on staging\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\nWIP\n\n\n<!-- stage-review-badge-begin -->\n\n---\n\n<a href=\"https://stagereview.app/superserve-ai/superserve/pull/189\">\n <picture>\n<source media=\"(prefers\n[…]\n\"https://stagereview.app/assets/gh-open-in-stage-dark.svg\">\n<img src=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->",
"is_bot": false,
"headline": "console: xterm improvements (#189)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-13T23:53:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "94b4039b168cc41da8aef132d772702b39b2238f",
"body": "## Description\nWe currently use Biome as our linter and formatter, which has somewhat\nbroken experience, the fix command doesn't fix certain type of issues,\nformat command doesn't work for tailwind classes, plus the editor\nintegration is subpar\n\nThis PR replaces Biome with oxlint and oxfmt, which ha\n[…]\n\"https://stagereview.app/assets/gh-open-in-stage-dark.svg\">\n<img src=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->",
"is_bot": false,
"headline": "Biome → OXC (#187)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-12T22:53:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cc2ae6a80f8ed0e069d80c59b39f9437d11785a5",
"body": "## Description\nIntegration guides\n- Coding Agents\n - Claude\n - Codex\n - Opencode\n - Kilocode\n- Personal agents\n - OpenClaw\n - Hermes\n- Agent Harnesses\n - Claude Agent SDK\n - OpenAI Agents SDK\n- Virtual filesystems\n - Mesa\n\n## Testing\n\n- [x] Tested locally\n- [x] Added/updat\n[…]\nc=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->\n\n---------\n\nCo-authored-by: Pavitra Bhalla <pavitra@superserve.ai>",
"is_bot": false,
"headline": "Docs: Integration Guides (#184)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-12T16:04:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3ba2902d1f587e277798aabcdbd8b6a9fb9d7969",
"body": "## Description\nConsole: multiple web terminal tabs for sandboxes\n\n## Testing\n\n- [x] Tested on Staging\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\n\n<img width=\"1470\" height=\"956\" alt=\"Screenshot 2026-05-11 at 11 55\n55 PM\"\nsrc=\"https://github.com/user-attachments/assets/54df986c-6e8d-4930-a14b-3f50b3ac4301\"\n/>\n<img width=\"1470\" height=\"956\" alt=\"Screenshot 2026-05-11 at 11 56\n56 PM\"\nsrc=\"https://github.com/user-attachments/assets/d2fde3cf-0e06-4f98-a838-58695cfbb621\"\n/>",
"is_bot": false,
"headline": "Console: multiple terminal tabs (#186)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-11T20:01:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "42f442151344478dff62b6a82d60803b72437c13",
"body": "## Description\n\n**Supabase moves from packages to console**\nSupabase was added as a packages since we had a playground before, since\nwe don't have anymore, it makes sense to keep it simple and only scoped\nto the console\n\n## Testing - Needs testing\n\n- [x] Tested locally\n- [x] Added/updated tests\n- [x\n[…]\n\"https://stagereview.app/assets/gh-open-in-stage-dark.svg\">\n<img src=\"https://stagereview.app/assets/gh-open-in-stage-light.svg\"\nalt=\"Open in Stage\">\n </picture>\n</a>\n\n<!-- stage-review-badge-end -->",
"is_bot": false,
"headline": "supabase: from a package to project specific library (#185)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-08T23:25:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b22ced7cf1c1580a41d04d7a4b75db882242c0f3",
"body": null,
"is_bot": false,
"headline": "Update image source and description in README",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-05-08T23:13:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e577510f2b3791993801c4c14162bd9a99842465",
"body": null,
"is_bot": false,
"headline": "Update README",
"author_name": "Pavitra Bhalla",
"author_login": "pavitrabhalla",
"committed_at": "2026-05-08T23:08:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9edf166a7f66970c0c5c62f955716e1504fd3ed8",
"body": "## Description\nDocs theme updated\n\n## Testing - NA\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing",
"is_bot": false,
"headline": "Docs: theme updated (#183)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-07T01:14:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f762cee0ff3ed9db30439002f6eadece4ccecac9",
"body": "## Description\nSDK Package versions updated 0.7.1\n\n## Testing - NA\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\nNA",
"is_bot": false,
"headline": "SDK: package version updated (#181)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-05T04:35:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "871bf21bc0e343f60df9b22dfecf61cf58550151",
"body": "## Description\nWelcome email, book call as primary action button\n\n## Testing\n\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\n<img width=\"750\" height=\"655\" alt=\"Screenshot 2026-05-05 at 12 31 52 AM\"\nsrc=\"https://github.com/user-attachments/assets/e6ee024a-d572-4845-a0ef-8a751a33b6c8\"\n/>",
"is_bot": false,
"headline": "Console: Welcome email primary button changed (#180)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-04T19:03:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9173b82ad02deed9736fe6a182002364cc94f8f",
"body": "## Description\nwelcome email copy updated\n\n## Testing\n- [x] Tested locally\n- [x] Added/updated tests\n- [x] All tests passing\n\n## Screenshots/Demo\n<!-- If applicable, add screenshots or a demo link -->",
"is_bot": false,
"headline": "console: welcome email copy updated (#179)",
"author_name": "Jitendra Nirnejak",
"author_login": "nirnejak",
"committed_at": "2026-05-04T18:49:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3c14251bdd418fa55c695aa57d72ec3f83984bf",
"body": "## Summary\n\nAligns the create-template dialog's resource picker with the default\nper-team caps enforced by the backend in\n[superserve-ai/sandbox#43](https://github.com/superserve-ai/sandbox/pull/43):\n\n- `VCPU_OPTIONS`: `[1, 2, 4]` → `[1, 2]`\n- `MEMORY_OPTIONS`: `[256, 512, 1024, 2048, 4096]` → `[256\n[…]\ns fit)\n\nDefault selections (`vcpu=1`, `memory=1024`, `disk=4096`) all remain\nvalid — no other dialog state changes needed.\n\n---------\n\nCo-authored-by: Amit Patil <meAmitPatil@users.noreply.github.com>",
"is_bot": false,
"headline": "Console: trim template resource picker to default per-team caps (#178)",
"author_name": "Amit Patil",
"author_login": "meAmitPatil",
"committed_at": "2026-04-30T22:13:59Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 3,
"commits_last_year": 225,
"latest_release_at": "2026-03-01T03:17:47Z",
"latest_release_tag": "v1.1.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 32,
"days_since_latest_release": 148,
"mean_days_between_releases": 2.6
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "@superserve/cli",
"exists": true,
"license": "MIT",
"keywords": [
"cli",
"ai",
"agents",
"deploy",
"sandbox",
"cloud"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@superserve/cli",
"is_deprecated": false,
"latest_version": "1.1.1",
"repository_url": "https://github.com/superserve-ai/superserve",
"versions_count": 5,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 104,
"first_published_at": "2026-02-23T22:56:58.410000Z",
"latest_published_at": "2026-02-27T03:45:50.030000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 150
},
{
"name": "@superserve/mcp",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"agents",
"ai",
"firecracker",
"mcp",
"microvm",
"model-context-protocol",
"sandbox",
"superserve"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@superserve/mcp",
"is_deprecated": false,
"latest_version": "0.1.2",
"repository_url": "https://github.com/superserve-ai/superserve",
"versions_count": 3,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 623,
"first_published_at": "2026-06-30T18:03:56.273000Z",
"latest_published_at": "2026-07-10T19:01:06.330000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 17
},
{
"name": "@superserve/sdk",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"firecracker",
"microvm",
"sandbox",
"sdk",
"superserve"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@superserve/sdk",
"is_deprecated": false,
"latest_version": "0.8.1",
"repository_url": "https://github.com/superserve-ai/superserve",
"versions_count": 22,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 12432,
"first_published_at": "2026-02-24T17:23:08.328000Z",
"latest_published_at": "2026-07-21T02:32:49.334000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "superserve",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"firecracker",
"microvm",
"sandbox",
"sdk",
"superserve",
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.9",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/superserve/",
"is_deprecated": false,
"latest_version": "0.8.1",
"repository_url": "https://github.com/superserve-ai/superserve",
"versions_count": 21,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2026-01-31T01:11:31.867318Z",
"latest_published_at": "2026-07-21T02:32:37.466386Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
}
]
},
"popularity": {
"forks": 50,
"stars": 434,
"watchers": 1,
"fork_history": {
"days": [
{
"date": "2025-11-21",
"count": 1
},
{
"date": "2025-12-21",
"count": 1
},
{
"date": "2026-01-04",
"count": 5
},
{
"date": "2026-01-08",
"count": 1
},
{
"date": "2026-01-14",
"count": 1
},
{
"date": "2026-02-03",
"count": 1
},
{
"date": "2026-03-03",
"count": 1
},
{
"date": "2026-05-05",
"count": 1
},
{
"date": "2026-05-13",
"count": 16
},
{
"date": "2026-05-14",
"count": 6
},
{
"date": "2026-05-15",
"count": 1
},
{
"date": "2026-05-17",
"count": 2
},
{
"date": "2026-05-18",
"count": 2
},
{
"date": "2026-05-19",
"count": 1
},
{
"date": "2026-05-20",
"count": 1
},
{
"date": "2026-05-22",
"count": 1
},
{
"date": "2026-05-23",
"count": 1
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-09",
"count": 1
},
{
"date": "2026-06-11",
"count": 1
},
{
"date": "2026-06-15",
"count": 1
},
{
"date": "2026-07-13",
"count": 1
},
{
"date": "2026-07-22",
"count": 1
},
{
"date": "2026-07-24",
"count": 1
}
],
"complete": true,
"collected": 50,
"total_forks": 50
},
"star_history": null,
"open_issues_and_prs": 11
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"cookbook",
"examples",
"recipes"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": true,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"apps/console/tsconfig.json",
"apps/mcp/tsconfig.json",
"apps/ui-docs/tsconfig.json",
"examples/loops/tsconfig.json",
"packages/cli/tsconfig.json",
"packages/mcp/tsconfig.json",
"packages/python-sdk/src/superserve/py.typed",
"packages/sdk/tsconfig.json",
"packages/ui/tsconfig.json",
"tests/sdk-e2e-ts/tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 36990,
"source_files_sampled": 573,
"oversized_source_files": 0,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 5451
},
"dependencies": {
"manifests": [
"package.json",
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 12,
"malicious_count": 0,
"assessed_package": "pypi:superserve@0.8.1",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm",
"pypi"
],
"dependencies": [
{
"name": "@react-email/components",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.11"
},
{
"name": "@supabase/ssr",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.10.0"
},
{
"name": "@supabase/supabase-js",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.101.1"
},
{
"name": "@tailwindcss/postcss",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.2"
},
{
"name": "@types/node",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^25.5.2"
},
{
"name": "@vitejs/plugin-react",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^5.1.4"
},
{
"name": "cmdk",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "happy-dom",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^20.8.9"
},
{
"name": "next",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^16.2.2"
},
{
"name": "postcss",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^8.5.8"
},
{
"name": "posthog-js",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.364.7"
},
{
"name": "posthog-node",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^5.28.11"
},
{
"name": "resend",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^6.10.0"
},
{
"name": "tailwindcss",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.2"
},
{
"name": "vitest",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.2"
},
{
"name": "@phosphor-icons/react",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.7"
},
{
"name": "@react-email/components",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.7"
},
{
"name": "@supabase/ssr",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.10.0"
},
{
"name": "@supabase/supabase-js",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^2.98.0"
},
{
"name": "@superserve/ui",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@tanstack/react-query",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^5.96.2"
},
{
"name": "@xterm/addon-clipboard",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.2.0"
},
{
"name": "@xterm/addon-fit",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.11.0"
},
{
"name": "@xterm/addon-image",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.9.0"
},
{
"name": "@xterm/addon-ligatures",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.10.0"
},
{
"name": "@xterm/addon-search",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.16.0"
},
{
"name": "@xterm/addon-serialize",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.14.0"
},
{
"name": "@xterm/addon-unicode11",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.9.0"
},
{
"name": "@xterm/addon-web-links",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.12.0"
},
{
"name": "@xterm/addon-webgl",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^0.19.0"
},
{
"name": "@xterm/xterm",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^6.0.0"
},
{
"name": "cmdk",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "motion",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^12.0.0"
},
{
"name": "next",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^16.1.6"
},
{
"name": "posthog-js",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^1.353.0"
},
{
"name": "posthog-node",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^5.25.0"
},
{
"name": "react",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^19.2.4"
},
{
"name": "react-dom",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^19.2.4"
},
{
"name": "resend",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^6.9.2"
},
{
"name": "zod",
"manifest": "apps/console/package.json",
"ecosystem": "npm",
"version_constraint": "^3.25.67"
},
{
"name": "@superserve/mcp",
"manifest": "apps/mcp/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "next",
"manifest": "apps/mcp/package.json",
"ecosystem": "npm",
"version_constraint": "^16.1.6"
},
{
"name": "react",
"manifest": "apps/mcp/package.json",
"ecosystem": "npm",
"version_constraint": "^19.2.4"
},
{
"name": "react-dom",
"manifest": "apps/mcp/package.json",
"ecosystem": "npm",
"version_constraint": "^19.2.4"
},
{
"name": "@phosphor-icons/react",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.7"
},
{
"name": "@superserve/ui",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@tailwindcss/vite",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.1"
},
{
"name": "react",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "^19.0.0"
},
{
"name": "react-dom",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "^19.0.0"
},
{
"name": "react-router",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "^7"
},
{
"name": "shiki",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "^3"
},
{
"name": "tailwindcss",
"manifest": "apps/ui-docs/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.1"
},
{
"name": "@superserve/sdk",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "boxen",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^8.0.1"
},
{
"name": "cli-table3",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^0.6.5"
},
{
"name": "commander",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^14.0.3"
},
{
"name": "js-yaml",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.0"
},
{
"name": "picocolors",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "posthog-node",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^5.25.0"
},
{
"name": "tar-stream",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.7"
},
{
"name": "terminal-link",
"manifest": "packages/cli/package.json",
"ecosystem": "npm",
"version_constraint": "^5.0.0"
},
{
"name": "@modelcontextprotocol/sdk",
"manifest": "packages/mcp/package.json",
"ecosystem": "npm",
"version_constraint": "^1.29.0"
},
{
"name": "@superserve/sdk",
"manifest": "packages/mcp/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "zod",
"manifest": "packages/mcp/package.json",
"ecosystem": "npm",
"version_constraint": "^3.25.0"
},
{
"name": "httpx",
"manifest": "packages/python-sdk/pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.24.0"
},
{
"name": "pydantic",
"manifest": "packages/python-sdk/pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.0.0"
},
{
"name": "typing-extensions",
"manifest": "packages/python-sdk/pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=4.0.0"
},
{
"name": "websockets",
"manifest": "packages/python-sdk/pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=12.0"
},
{
"name": "@base-ui/react",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "^1.3.0"
},
{
"name": "@phosphor-icons/react",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.7"
},
{
"name": "@superserve/tailwind-config",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "clsx",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.1"
},
{
"name": "motion",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "^12.0.0"
},
{
"name": "shiki",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.0"
},
{
"name": "tailwind-merge",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "^3.4.0"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 9,
"merged_prs": 215,
"open_issues": 2,
"closed_ratio": 0.923,
"closed_issues": 24,
"closed_unmerged_prs": 45
},
"bus_factor": 2,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "meAmitPatil",
"commits": 73,
"avatar_url": "https://avatars.githubusercontent.com/u/66266598?v=4"
},
{
"type": "User",
"login": "nirnejak",
"commits": 54,
"avatar_url": "https://avatars.githubusercontent.com/u/14347543?v=4"
},
{
"type": "User",
"login": "pavitrabhalla",
"commits": 34,
"avatar_url": "https://avatars.githubusercontent.com/u/4392764?v=4"
},
{
"type": "User",
"login": "mohamedsobhi777",
"commits": 15,
"avatar_url": "https://avatars.githubusercontent.com/u/33491613?v=4"
},
{
"type": "User",
"login": "awille-ai",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/293730395?v=4"
},
{
"type": "User",
"login": "rushikeshadhav",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/74168885?v=4"
},
{
"type": "User",
"login": "richardliaw",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/4529381?v=4"
}
],
"contributors_sampled": 7,
"top_contributor_share": 0.392
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"cli-publish.yml",
"loop-pr-loop.yml",
"loops-publish.yml",
"mcp-publish.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [
"uv.lock"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 7,
"reason": "Found 23/30 approved changesets -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 6,
"reason": "project has 2 contributing companies or organizations -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "145 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "263c83bd4d0892d3107371b245742a73dd3434db",
"ran_at": "2026-07-27T21:40:38Z",
"aggregate_score": 4.3,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-24T00:38:31Z",
"oldest_open_prs": [
{
"number": 233,
"created_at": "2026-06-22T04:57:09Z",
"last_comment_at": "2026-06-22T04:57:14Z",
"last_comment_author": "vercel"
},
{
"number": 245,
"created_at": "2026-06-26T18:14:31Z",
"last_comment_at": "2026-06-26T18:14:36Z",
"last_comment_author": "vercel"
},
{
"number": 271,
"created_at": "2026-07-08T18:07:34Z",
"last_comment_at": "2026-07-08T18:07:40Z",
"last_comment_author": "vercel"
},
{
"number": 279,
"created_at": "2026-07-13T23:05:35Z",
"last_comment_at": "2026-07-13T23:05:40Z",
"last_comment_author": "vercel"
},
{
"number": 284,
"created_at": "2026-07-15T20:26:15Z",
"last_comment_at": "2026-07-15T20:26:21Z",
"last_comment_author": "vercel"
},
{
"number": 286,
"created_at": "2026-07-17T14:20:09Z",
"last_comment_at": "2026-07-17T14:20:16Z",
"last_comment_author": "vercel"
},
{
"number": 287,
"created_at": "2026-07-17T15:31:16Z",
"last_comment_at": "2026-07-17T18:39:38Z",
"last_comment_author": "github-actions"
},
{
"number": 293,
"created_at": "2026-07-21T15:03:08Z",
"last_comment_at": "2026-07-22T18:48:28Z",
"last_comment_author": "pavitrabhalla"
},
{
"number": 295,
"created_at": "2026-07-24T22:08:49Z",
"last_comment_at": "2026-07-24T22:08:55Z",
"last_comment_author": "vercel"
}
],
"last_merged_pr_at": "2026-07-24T00:35:58Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 289,
"created_at": "2026-07-18T15:29:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 290,
"created_at": "2026-07-18T15:32:52Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/superserve-ai/superserve",
"host": "github.com",
"name": "superserve",
"owner": "superserve-ai"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"security": 54,
"vitality": 84,
"community": 67,
"governance": 70,
"engineering": 88
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 84,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"commits_last_year": 225,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 32
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "32/52 weeks with commits",
"points": 22.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 32
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "225 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 225
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"releases_count": 3,
"latest_release_tag": "v1.1.0",
"releases_from_tags": false,
"days_since_latest_release": 148,
"mean_days_between_releases": 2.6
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "3 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 3
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 148 days ago",
"points": 27,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 148
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~2.6 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 2.6
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 3,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 3 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 3
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 67,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"forks": 50,
"stars": 434,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "434 stars",
"points": 42.8,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 434
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "50 forks",
"points": 14.1,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 50
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "1 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 1
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "moderate",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 69,
"inputs": {
"packages": [
"@superserve/cli",
"@superserve/mcp",
"@superserve/sdk",
"superserve"
],
"dependents": null,
"ecosystems": "npm, pypi",
"total_downloads": null,
"monthly_downloads": 13159
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "13,159 downloads/month across npm, pypi",
"points": 54.9,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 13159,
"ecosystems": "npm, pypi"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 70,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 7,
"top_contributor_share": 0.392
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 39% of commits",
"points": 13.7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 39
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "7 contributors",
"points": 9.5,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 7
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"merged_prs": 215,
"open_issues": 2,
"closed_issues": 24,
"issue_closed_ratio": 0.923,
"closed_unmerged_prs": 45
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "92% of issues closed",
"points": 43.2,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 92
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "215/260 decided PRs merged",
"points": 31.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 215,
"decided": 260
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 23/30 approved changesets -- score normalized to 7",
"points": 10.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"followers": 18,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "superserve-ai",
"public_repos": 13,
"account_age_days": 353
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "18 followers of superserve-ai",
"points": 9.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 18,
"login": "superserve-ai"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "13 public repos, account ~0 yr old",
"points": 10.3,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 13
}
},
{
"code": "account_age_years",
"params": {
"years": 0
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@superserve/cli",
"@superserve/mcp",
"@superserve/sdk",
"superserve"
],
"ecosystems": "npm, pypi",
"any_deprecated": false,
"min_days_since_publish": 6
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "4 package(s) on npm, pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 4,
"ecosystems": "npm, pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 6 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 6
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "22 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 22
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 88,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 94,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "6 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 6
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 16,
"status": "met",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://superserve.ai?utm_source=github&utm_medium=referral&utm_campaign=repo_bio",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://superserve.ai?utm_source=github&utm_medium=referral&utm_campaign=repo_bio",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 54,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 43,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 4.3
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 23/30 approved changesets -- score normalized to 7",
"points": 5.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "145 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:superserve@0.8.1 runtime dependency closure — what installing the published package pulls in — 12 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "pypi:superserve@0.8.1",
"assessed": 12
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 12,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 12,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 6
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 75,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.97,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 5451
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "97 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 97,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"uv.lock"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"apps/console/tsconfig.json",
"apps/mcp/tsconfig.json",
"apps/ui-docs/tsconfig.json",
"examples/loops/tsconfig.json",
"packages/cli/tsconfig.json",
"packages/mcp/tsconfig.json",
"packages/python-sdk/src/superserve/py.typed",
"packages/sdk/tsconfig.json",
"packages/ui/tsconfig.json",
"tests/sdk-e2e-ts/tsconfig.json"
],
"agent_commit_share": 0.09,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 11,
"status": "met",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "apps/console/tsconfig.json, apps/mcp/tsconfig.json, apps/ui-docs/tsconfig.json, examples/loops/tsconfig.json, packages/cli/tsconfig.json, packages/mcp/tsconfig.json, packages/python-sdk/src/superserve/py.typed, packages/sdk/tsconfig.json, packages/ui/tsconfig.json, tests/sdk-e2e-ts/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "apps/console/tsconfig.json, apps/mcp/tsconfig.json, apps/ui-docs/tsconfig.json, examples/loops/tsconfig.json, packages/cli/tsconfig.json, packages/mcp/tsconfig.json, packages/python-sdk/src/superserve/py.typed, packages/sdk/tsconfig.json, packages/ui/tsconfig.json, tests/sdk-e2e-ts/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "9 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 9,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 36990,
"source_files_sampled": 573,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/573 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 573,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "moderate",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"example_dirs": [
"cookbook",
"examples",
"recipes"
],
"has_mcp_signal": true,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 20,
"status": "met",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "cookbook, examples, recipes",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "cookbook, examples, recipes"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-27T21:40:59.661730Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/superserve-ai/superserve.svg",
"full_name": "superserve-ai/superserve",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}