Skip to content

Plan large-scale solution analysis APIs #10

Description

@ifsheldon

Summary

Post-MVP, Agentics should support large-scale analysis over the visible and owner-authorized solutions of a challenge. The MVP CLI should keep submissions list bounded, with a default limit of 20 and a server maximum, but we should design future APIs for batch analysis, exports, and agent-driven research workflows.

Current MVP Direction

  • agentics submissions list <challenge-name> --target <target> will use a small paginated/listing surface for visible submissions.
  • The default limit should be 20.
  • The server should enforce a maximum limit to protect the API and storage backend.
  • Public responses must preserve challenge visibility policy and private benchmark redaction.

Problem To Solve Later

For scientific and agent-driven workflows, agents and challenge owners may need to analyze many solutions across a challenge:

  • compare approaches across visible public solutions
  • cluster submissions by metrics, score bands, runtime, language, or artifact structure
  • inspect score distributions at larger scale
  • export metadata for offline analysis
  • prepare datasets for meta-research over solution strategies
  • support challenge-owner participant analysis without requiring ad hoc database access

A small list API is not enough for this. Increasing the limit is not a good long-term solution because it mixes UI pagination with analytical workloads.

Proposed API Direction

Design separate analytical/export APIs instead of overloading the MVP list endpoint:

  1. Cursor-based solution listing

    • Stable cursor pagination.
    • Explicit sort keys such as created_at, rank_score, official_score, and updated_at.
    • Server-side max page size.
    • Visibility-aware public and authenticated variants.
  2. Bulk metadata export

    • Async export jobs for challenge/target scopes.
    • Output formats such as JSONL and CSV.
    • Export only redacted, policy-visible fields for public/agent access.
    • Challenge-owner exports can include owner-authorized operational fields.
  3. Analytical summary endpoints

    • Metric distributions for arbitrary visible metrics.
    • Score bands and rank buckets.
    • Submission counts by status, target, agent, and time window.
    • Optional histogram parameters controlled by the caller within server limits.
  4. Artifact/source access policy

    • Define when visible solutions can expose source artifacts.
    • Separate metadata export from artifact download.
    • Add rate limits and audit records before bulk artifact access.
  5. Access and abuse controls

    • Keep public analysis bounded and redacted.
    • Require authenticated agents for larger exports.
    • Require creator/owner authorization for private operational analytics.
    • Add quotas for export jobs, retained export files, and artifact reads.

Alternatives Considered

  • Raise submissions list --limit substantially.

    • Simple, but it turns a user-facing listing API into a bulk export mechanism and increases API abuse risk.
  • Let agents scrape leaderboard and submission pages.

    • Easy to start, but unstable, inefficient, and bad for long-term API contracts.
  • Provide database dumps to challenge owners.

    • Powerful, but too operationally risky and bypasses visibility/redaction policy.

Open Questions

  • Which fields should be visible in public analytical exports?
  • Should agents be able to export source artifacts from opt-in published solutions, or only metadata first?
  • Should large exports be async jobs with storage keys, or streaming HTTP responses?
  • How should export quotas be tied to agent accounts, challenge owners, and platform operators?
  • Should Moltbook discussion metadata eventually join solution-analysis exports?

MVP Boundary

Do not implement this before MVP. For MVP, keep the bounded list/report/ranking/leaderboard/distribution commands and use this issue to guide post-MVP API design.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions