Repository navigation
Conversation
The nation backend assembled fifteen cities under one absolute three-second deadline. On EC2 (2026-11-07) each city bounded its own inputs at about 2.9 s and the assemblies then queued for the CPU admission, so 6 of 13 steady compositions became the legacy child error page. Legacy gave each child request 9 s; the composition now has 8 s, within the 9-second gateway deadline. A city that never answers is still the legacy error page, at eight seconds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The first commit only lengthened the composition deadline, but each city (`KmaBackend::outcome`) still capped its wait for the KMA CPU admission at its three-second request budget, so the queued assemblies seen on EC2 were still cut at three seconds (a test on the KMA backend itself now shows `Err(Provider)` for that state). Nation cities now use `outcome_finishing`: their inputs keep the request budget and the CPU admission may wait until the eight-second nation deadline. Air and the narrative keep the three-second input budget. The operations document and the Archify nation sequence describe the split. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex review: the observed source gives city inputs its own budget (stored reads up to 8 s), so only air and the national narrative have the three-second nation budget; the documents, comments and diagram now say so. A composition that ends at 3.5 s answers at once without waiting for a pending narrative, on both mounted versions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
Cross-provider review (Codex gpt-6.1-sol, high): PASS at d1fa863 (third round, no open findings). Recommended
Builder finding: |
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.
Summary
On EC2 (2026-11-07, 01:29-03:12 KST, all weather families native)
/v000903/nation/KRanswered the legacy child error page (response.statusCode=500 {"method":"getWeather"}) in 6 of 13 steady requests, every round after 02:52, and successful compositions took about 3 s. The nation backend assembles fifteen cities concurrently. Each city's inputs end at about 2.9 s under the observed source; the assemblies then queue for the KMA CPU admission (two permits). The composition's three-second deadline cut that queue. (KmaBackend::outcomealso caps each city at its source's request budget: 8 s for the observed source used on EC2, 3 s for the default.)Legacy gave each child request 9 s (
route.nation.js: "못 받으면 다음 요청에 받도록 timeout을 길게 함"). Now:NATION_INPUTS); each city keeps its source's own input budget, as an ordinary weather request does.NATION_DEADLINE):KmaBackend::outcome_finishingkeeps the inputs at the source's request budget and lets the CPU admission wait until that deadline, also for sources with the default three-second budget. Ordinary weather requests are unchanged.Changes
nation/mod.rs:NATION_INPUTS(3 s) for air and the national narrative,NATION_DEADLINE(8 s) for the cities; the KMA city source usesoutcome_finishing.domestic/kma/backend.rs:outcome_finishing;outcomeis unchanged in behavior.docs/operations/server2-nation.md, the Archify nation sequence (regenerated).intent/,specs/,plans/issue-2614-kma-nation-deadline.md; declarationserver2/config/tasks/KMA-NATION-DEADLINE.json.Verification
tests/nation/deadline.rs(paused clock): slow cities compose all fifteen in legacy order (Red on master: mutation M1, three seconds); a stuck city is the legacy 500 page at exactly 8 s (M2, nine seconds, caught); on both versions air gets 3 s and every city 8 s; a composition ending at 3.5 s does not wait for a pending narrative (M5, narrative at the city deadline, caught).tests/domestic/nation_city.rs(the KMA backend itself, default three-second source budget): inputs ending at 2.8 s and 400 ms assemblies on two CPU permits; four cities all answer after 3.1 s. Mutations M3 (admission at the input budget) and M4 (the city usingoutcome) fail it withErr(Provider).cargo test --locked --workspace1,217 passed, 0 failed, 7 ignored (before the last commit, which changed comments, documents and nation tests only; the nation suite then passed 17 of 17);cargo fmt --check,cargo clippy -D warnings, placement gate and artifact policy pass.Decision for AK
Not in this change: the per-city S3 lookups and their cost, the size of the CPU admission, partial nation answers (legacy has none), and the other fixes of the EC2 report (#2866 restart reads, #2867 AirKorea refresh, #2868 minute page).
🤖 Generated with Claude Code