Skip to content

[Planning][P2] Evotown Engine Ingest API — SkillLite adapter #103

Description

@EXboys

Summary

Evotown is the system of record for runs, artifacts, and scoring signals across independent engines (OpenClaw-style runners, Hermes, SkillLite, etc.).

A draft v0.1 ingest HTTP contract is defined in docs/en/EVOTOWN-ENGINE-INGEST-V0.1.md (mirrored from the Evotown repo). SkillLite currently interoperates with OpenClaw-style skill trees via CLI (import-openclaw-skills, claw migrate) but does not yet push run results to Evotown over HTTP.

This issue tracks building a SkillLite → Evotown ingest adapter so engine runs can be scored, compared, and audited in a central arena.

Scope (v0.1 MVP)

Implement a SkillLite-side adapter that calls Evotown's required endpoints:

Endpoint Priority Purpose
POST /runs/{run_id}/complete Required Finalize run status, log excerpt, artifact manifest, scoring signals
POST /engines/register Optional Register engine provenance + optional dispatch URL
POST /runs/{run_id}/artifacts Optional Upload large blobs when manifest-only is insufficient

Proposed integration points

  1. CLI hook — e.g. skilllite evotown push --run-id … --evotown-url … (or env-driven post-run callback)
  2. Evolution / agent run completion — emit signals such as task_completed, new_skill_paths, latency_ms from existing run metadata
  3. Artifact bundle — reuse skilllite-artifact store to build artifact_manifest (path + sha256 + bytes)
  4. Auth — support Bearer token and HMAC signature headers per spec

Acceptance criteria

  • Adapter implements POST /runs/{run_id}/complete with schema validation and idempotent retry on 409
  • Configurable via env vars (SKILLLITE_EVOTOWN_URL, SKILLLITE_EVOTOWN_TOKEN, etc.) documented in ENV_REFERENCE
  • Artifact manifest built from run-scoped artifact store when present
  • Integration test against a mock Evotown server (or Evotown dev fixture)
  • Docs: English + Chinese usage section in getting-started or dedicated integration doc

Out of scope (v0.1)

  • Evotown → engine dispatch (RunJob push to engine dispatch_url) — described as optional pairing pattern only
  • Replacing local evolution audit trail with Evotown as sole storage

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    agentAgent related changesbackendBackendenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions