Skip to content

Δ4 — Secured stateless poll endpoint (GET /solves/{id}/frames|stats|status) #38

Description

@jack-champagne

C1. A stateless, credential-scoped read API serving the newest frame (S3), the AMICODE_ITER stats (CloudWatch — runs already log there via CloudWatchOutputEnabled), and terminal status/result.toml (S3). No WebSocket/live-stream layer (locked: poll-on-demand).

Acceptance (TDD): polling returns the newest frame + parsed stats for an in-flight run and the terminal result.toml once FINISHED; a credential not matching the run's submitter → 403.

Depends on Δ3 (frames in S3).

Gate: blocked by the wk-3 freeze — run-dir contract + SchemaPackage v0 (amicode #15 + the #28–31 stack). RemoteExecutor/the S3 layout is the run-dir contract, so do not start until that lands.

📄 Refs: Spec armonissima/specs/spec-20260628-amicode-cloud-solve-service.md (Δ4) · phased plan §5a (plan-20260603-124231-amicode-phased-build) · aws-infra/INFRASTRUCTURE.mdThe Analysis Pipeline (reuse step_function/ec2_launch_template/dynamodb/runner_image).

Evolve, not build — a working v0 (the aws-infra Analysis Pipeline) already does size→S/M/L EC2→julia→S3→email→terminate. Validate on staging (mirrors prod), then two-step promote.

🏗 Implementation repo: aws-infra (Terraform / lambda / Image Builder). Infra-side reference: harmoniqs/aws-infra#127.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesttrack:cloudTrack C — company compute / cloud solve-service

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions