code-datascience / AGENTS.md
delqhi's picture
Deploy code-datascience agent
d07c56c verified
|
Raw
History Blame Contribute Delete
4.1 kB
# SIN-Code-DataScience
- Team: Team Coding
- Team Manager: A2A-SIN-Coding-CEO
- Slug: sin-code-datascience
- Repo: https://github.com/Delqhi/sin-code-datascience
- Google Doc: https://docs.google.com/document/d/1RtoHn4I0GntuEEOHHkqoh_dMuGzgMwQz7_8oxAOpQbw/edit
Arbeitsregel:
- Jede neue Action muss in `runtime.ts`, `mcp-server.ts`, `a2a-http.ts`, `metadata.ts` und `A2A-CARD.md` synchronisiert werden.
- Kein neuer Agent gilt als fertig, wenn Card, Dashboard-Registry und Google-Dokument nicht gemeinsam aktualisiert wurden.
- Jeder neue Agent muss auch `agent.json`, `AGENTS.md`, `mcp-config.json`, `clients/opencode-mcp.json`, `clients/codex-config.toml`, `.well-known/agent-card.json`, `.well-known/agent.json`, `.well-known/oauth-client.json` und ggf. einen `bin/`-Wrapper sauber besitzen.
- Google Docs Child-Tabs immer rekursiv ueber `includeTabsContent=true` + `childTabs` aufloesen. Nie nur Top-Level-Tabs pruefen.
- Wenn der Team-Haupt-Tab eine finalisierte A2A-Team-Tabelle hat und dieselbe Tabelle im `Silicon Workforce`-Tab gespiegelt wird, muessen beide Tabellen synchron gehalten werden. Das finale Tabellen-Schema darf nicht stillschweigend geaendert werden.
- Uebersichtstabellen im `Silicon Workforce`-Tab verwenden final das Schema: linke Typ-Spalte + `Bezeichnung | Zweck | URL`.
- Team-Haupttabellen und deren Spiegel im `Silicon Workforce`-Tab verwenden final das Schema: linke Typ-Spalte + `Bezeichnung | Zweck | MCP's | Commands | Endpoints | Server (VM) | CLI's | URL`.
- Jeder Team-Haupt-Tab enthaelt nur seine synchronisierte Team-Tabelle; dieselbe Tabelle wird im `Silicon Workforce`-Tab mit sichtbarer Trennlinie zwischen Team-Sektionen gespiegelt.
- Pflichtfelder fuer neue A2A-Agenten:
- Identitaet, Team, Team-Manager, Zweck, Verwendung
- Auth-/Secrets-Modell
- MCP-Tools und A2A-Actions/Skills
- Commands, Endpoints, Capabilities, Input/Output-Modi
- Task-Lifecycle, Observability/Audit, Release/Rollback
- Owner/Oncall, Dependencies, Deploy-Ziel
- Pflichtintegration:
- repo `.opencode/opencode.json`
- globale OpenCode-MCP-Integration falls benoetigt
- Dashboard-/Workforce-Registry + Detailseite `dashboard-enterprise/app/agents/<slug>/page.tsx`
- `a2a.delqhi.com` Landing/Card
- `npm run sync:a2a:control-plane-projection` nach Registry-Aenderungen
- Google Docs Child-Tab + Team-Tabellen
- `cloudflared/config.example.yml`, wenn der Agent eine oeffentliche Runtime / einen Tunnel bekommen soll
- echte Runtime-Provisionierung + echter Publish/Deploy-Schritt, sobald oeffentliche URLs/HF/tunnel eingetragen werden
- `scripts/complete-install.sh` und `scripts/hf_pull_script.py` fuer HF-/deploybare Agents
- Control-Plane-/Capability-Metadaten in `agent.json`
- Falls der benoetigte Google-Docs-Child-Tab noch nicht existiert, muss er zuerst manuell im Google-Docs-UI erstellt werden. Die Docs-API kann bestehende Tabs pflegen, aber keine neuen Child-Tabs erzeugen.
- Pflichtvalidierung vor Done:
- Build/Typecheck
- A2A health/card/rpc
- MCP smoke
- relevante Repo-Gates
- OpenCode-Integration
- Google-Docs-Sync
- `npm --prefix <agent-root> run build`
- `node <agent-root>/dist/src/cli.js print-card`
- `node <agent-root>/dist/src/cli.js run-action '{"action":"agent.help"}'`
- `node <agent-root>/dist/src/cli.js run-action '{"action":"<namespace>.health"}'` anhand der echten Skill-ID aus der Card
- `serve-mcp` bleibt mit offenem stdin erreichbar
- `npm run test:a2a:fleet`
- `npm run test:a2a:live -- --agent <slug>`
- Landing / `publicPageUrl` liefert `200`
- Runtime-Host ist real provisioniert
- `/.well-known/agent-card.json` liefert `200`
- `/a2a/v1` liefert nicht `404`
- Ein Agent darf erst auf `ready` / `live` gesetzt werden, wenn diese Reachability-Pruefungen bestanden sind und Registry/Card/Docs denselben auditieren Stand zeigen.
- Beim Fuellen der Team-Tabellen muessen alle freigegebenen Spalten gepflegt werden. Platzhalter wie `pending formal MCP entry` oder `pending dedicated child-tab` sind nur zulaessig, wenn die jeweilige Surface real noch nicht provisioniert ist.