ci: reconcile Project Intake through REST with scheduled recovery - #421
Conversation
…07-us-record-about-20x-stdlib' into bug/378-20261003-bug-run-bundle-retention-is-inoperative-on-native-windows
…e-on-native-windows' into enhancement/386-20261003-perf-retention-serializes-concurrent-invocations-on-an-untim
…urrent-invocations-on-an-untim' into security/385-20261003-security-validate-trust-of-ancestor-discovered-project-confi
…or-discovered-project-confi' into bug/379-20261003-bug-json-single-envelope-stdout-contract-is-broken-by-any-wr
…ct-is-broken-by-any-wr' into ci/311-20261003-v1-0-make-project-intake-resilient-to-graphql-quota-exhausti
…ff-check-and-mypy-do-not-cover-the-compatibility-consum
…-compatibility-consum' into bug/387-20261003-bug-configure-logger-closes-consumer-owned-handlers-and-forc
…wned-handlers-and-forc' into enhancement/381-20261003-perf-lifecycle-logging-costs-107-us-record-about-20x-stdlib
…07-us-record-about-20x-stdlib' into bug/378-20261003-bug-run-bundle-retention-is-inoperative-on-native-windows
…e-on-native-windows' into enhancement/386-20261003-perf-retention-serializes-concurrent-invocations-on-an-untim
…urrent-invocations-on-an-untim' into security/385-20261003-security-validate-trust-of-ancestor-discovered-project-confi
…or-discovered-project-confi' into bug/379-20261003-bug-json-single-envelope-stdout-contract-is-broken-by-any-wr
…ct-is-broken-by-any-wr' into ci/311-20261003-v1-0-make-project-intake-resilient-to-graphql-quota-exhausti
…07-us-record-about-20x-stdlib' into bug/378-20261003-bug-run-bundle-retention-is-inoperative-on-native-windows
…e-on-native-windows' into enhancement/386-20261003-perf-retention-serializes-concurrent-invocations-on-an-untim
…fecycle-logging-costs-107-us-record-about-20x-stdlib' into bug/378-20261003-bug-run-bundle-retention-is-inoperative-on-native-windows
…ff-check-and-mypy-do-not-cover-the-compatibility-consum
…d-mypy-do-not-cover-the-compatibility-consum' into bug/387-20261003-bug-configure-logger-closes-consumer-owned-handlers-and-forc # Conflicts: # docs/integrations.md
…ogger-closes-consumer-owned-handlers-and-forc' into enhancement/381-20261003-perf-lifecycle-logging-costs-107-us-record-about-20x-stdlib
…fecycle-logging-costs-107-us-record-about-20x-stdlib' into bug/378-20261003-bug-run-bundle-retention-is-inoperative-on-native-windows
…retention-is-inoperative-on-native-windows' into enhancement/386-20261003-perf-retention-serializes-concurrent-invocations-on-an-untim
…tention-serializes-concurrent-invocations-on-an-untim' into security/385-20261003-security-validate-trust-of-ancestor-discovered-project-confi
…alidate-trust-of-ancestor-discovered-project-confi' into bug/379-20261003-bug-json-single-envelope-stdout-contract-is-broken-by-any-wr
…-envelope-stdout-contract-is-broken-by-any-wr' into ci/311-20261003-v1-0-make-project-intake-resilient-to-graphql-quota-exhausti
|
Re-verified at |
|
Resolved the merge conflicts by merging current main, including merged PR #420, into this branch in commit 8118173. Preserved the #311 Project Intake REST reconciliation and recovery documentation, current main logging sidecar recovery, and the combined hot-path tests. Local validation passed: Project Intake-focused tests, full pytest, Ruff check and format, strict mypy, and documentation validation. GitHub reports the PR as conflict-free; hosted checks are running on the new head. The PR remains open and unmerged. |
## Summary The comparative benchmark now gates concurrent retention and sustained logging. Twelve synchronized processes share a warmed cache, and persistent/ephemeral logging emits 3,000 records per sample. Reports use schema v2 with explicit latency, throughput, ratio, and budget units; the retained CI artifact remains compatible by filename. ## Issue Fixes #391 ## Branch maintenance PR #421, the Project Intake parent car, has merged into `main`. GitHub retargeted this benchmark PR from the parent branch to `main`; the benchmark changes remain unchanged in the current head. This car is now the first open implementation car in the 0.5.0 train, followed by the release candidate in #423. ## Current-head validation At `0418cd45a59a9465934e85a6ed1edbb1f7759ffa`: the branch includes the current `main` and the benchmark gate changes. The prior local validation covered uv lock freshness and baseline, runtime, strict typing, style, and contracts with all declared extras: 660 passed, 1 warning, and 294 subtests passed in 10.63s. Hosted checks are being rerun after the retarget; report their live result from the Checks tab before merge.
Project Intake now uses REST for issue and Project reconciliation, preserves active statuses and existing planning fields, batches missing-field updates, and independently verifies every managed field. It no longer depends on GraphQL owner discovery.
Quota exhaustion and long Retry-After/reset windows report a deferred reconciliation; an hourly full issue sweep retries events even if no card was created. Authentication failures remain explicit. Workflow logs redact credentials and report API usage.
Fixes #311.
Branch maintenance
Refs #426. Targets the branch for #420. Retarget and refresh after that parent is squash-merged; preserve the ordered stack.
The branch was refreshed without rewriting history to include
mainata576cc279739eae5e4cfc33ffab2a7fb56de24de.Current-head validation
At
f5330b22446191532fb9c518c1f8f06522d777d7: uv lock freshness and baseline, runtime, strict typing, style, and contracts passed locally with all declared extras. Runtime result: 658 passed, 1 warning, 282 subtests passed in 10.05s.Hosted checks: 7/7 required checks passed; 0 checks pending; 0 unsuccessful checks at 2026-10-04T14:19:40.760978+00:00. See the PR Checks tab and #426 for subsequent results.