Repository navigation
Conversation
gdiazlo
marked this pull request as draft
October 5, 2026 21:49
Contributor
Author
|
I will work on this offline, to avoid noise. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Draft for further review. Restore
araaraandaraara-standardafter the missing-package failure in #1288, and add the HTTPS echo workload introduced in #1382 (now8gbit).Both standalone images install published HCS 0.18.0, simdjsont 0.5.0 and Repodb 0.9.0 through opam, using standard OCaml 5.4 on Debian 12 and Dune’s release profile. The old
hcs.0.16.1pin is absent from the public araara opam repository; earlier local builds compiled a checkout and did not exercise that package lookup.Docker builds explicitly set the default opam repository to
git+https://github.com/ocaml/opam-repository.gitbefore adding the araara repository and refreshing both indexes.Each framework directory contains only its Dockerfile, Dune build files, metadata, application source and short README. The application implements the endpoints needed by the 14 profiles in
meta.json. Optional regression scripts remain in HCS; legacy CRUD/fortunes/upload endpoints, the custom CLI, and opt-in GC tuning are removed.Implementation
Hcs.RouterandHcs.Endpoint; use HCS path/query/body APIs and response constructors.Plug.Compressmiddleware.Hcs.Plug.Static.serverwith a directory capability rooted at/data/static. The application has no static or serialized response cache.Content-Lengthfrom the static response: HCS 0.18.0's server adds its own, and HTTP/2 clients reject the duplicate. The adapter leaves file bytes unchanged.POST /echoon TLS port 8081 using HCS body and response APIs. It returns status 200,application/octet-stream, and the decoded bytes unchanged, including chunked, empty and binary bodies.Query/ExprDSL andRepo.all_queryfor the price range query, includingQuery.limit_exprfor the bound limit. Repodb owns prepared-statement caching and the shared connection pool; there is no handwritten SQL or alternative database library.Eio_unix.run_in_systhread. Repodb's driver stays synchronous underneath; Eio suspends the requesting fiber while other HTTP requests run. A shared Eio semaphore limits offloaded work and connections toDATABASE_MAX_CONN, so queued requests do not each consume a system thread. An unavailable database returns the required empty JSON result.Hcs.Response.json. Values are proposed for maintainer review.Relevant requirements: standard mode, static files, echo, async database, and completeness.
Validation
Against main at
5b111b8889fee61076f1d7dd14fdb3dfd12c8492:5f1f889.The remote test host rejects unlimited memlock, so only
--ulimit memlock=-1:-1was removed from a temporary validator copy. No correctness assertions were changed or skipped. Eio used its POSIX fallback. The correctness suites above do not measure official benchmark performance.