Skip to content

Plan large-scale solution analysis APIs #10

@ifsheldon

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions