scholarr: approve the integrated 24-hour product sprint #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Approve the integrated Scholarr product sprint before any night launch or reset redemption. Single reference: SPRINT.md on preserved baseline
44e7518(initial reset commit0e22839), branch docs/9-product-sprint; baseline PR justinzeus/scholarr#10. Integrated delivery ledger: justinzeus/scholarr#11 (65 ordered verifiable items, native nightly readiness passed).Constraints
Acceptance
Next action
Finish nightly#92/#93 verification and security review, then activate only the pinned matching candidate authorized at the preparation checkpoint. Preserve the installed 0.2.6 rollback path. Prepare the real saved plan/image preflight using a matching plugin; never bypass a version refusal. Show Justin the concrete plan/reset packet and wait for explicit go. A fresh session after plugin activation is the right runtime boundary; all durable state is here, on the branches and in the saved config.
Preparation checkpoint; no launch, arming, watch or real reset.
Runner candidate is committed in
/root/dev/worktrees/92-sol-sprint:c0a0440captures operator ceilings and exact Sol availability;6ca39beadds account-bound single-use reset supervision and candidate version0.2.7-scholarr.1. Both independent committed reviews are running: security/spec and standards. Candidate is not yet pushed or activated. Installed rollback is clean/opt/nightlyat815e1fbd6988f797598115b89f6534e715630c0b(v0.2.6); original nightly marketplace is the Forgejo repository.Verification observed: full suite 366 passed, 59 skipped, zero failed; typecheck passed. Final changed-file regressions after removing incidental wording pins: 80 passed, zero failed, typecheck passed. Actual account-only fake app-server/CLI smoke passed: zero model calls, exactly one fake consume, preserved UUID, three-hour named safe stop, no early below-99% redemption, final guard literal
nothingToReset. This is not evidence of real redemption. Network-isolated real/nightly status --jsonalso completed through the registered extension, with a matching custom reply, no assistant/agent turn and a settled empty queue. omp 18.4.4's legacy RPC acknowledges before local output; the bounded preparation transport now waits for the actual reply.Provider primary-source research is captured in
SPRINT.mdon the baseline branch. Sources: OpenAlex authentication, costs, deprecations; Crossref access and authentication; arXiv API terms and manual; Unpaywall API; ORCID limits and public API terms. Limits in the sprint are deliberately below provider ceilings; no ban-free guarantee. Shared persisted cooldown/day budgets, one outstanding request, immediate 429 circuit, bounded transient retries and no identity/IP sharding remain acceptance requirements.The separately approved real-check allowance remains six total HTTP requests including retries: OpenAlex 2, Crossref 2, arXiv 1, Unpaywall 1; ORCID 0 until credentials and public-API eligibility exist. None has been issued.
Still missing before the concrete go packet: clean committed reviews and candidate activation, actual saved plan ID/image approval, and real broker/native-bound prepared policy with no arming. Earliest credit expires 2026-10-04 05:32:19.368242Z; three-hour wind-down 02:32:19.368242Z; final guard 05:17:19.368242Z.
Candidate activation remains held. Security/spec review nightly#93 comment 16522 found three blockers: the quiescence inventory mistakes tank's always-on nightly auth/netfilter support services for unknown nights; transient pre-attempt errors permanently kill the one-use packet; the documented transient helper unit omits PATH to
/root/.local/bin/codex. These are being fixed before fresh review and activation.Standards fixes also proceed: restore adb comment, unify ceiling comparison, return JSON draft refusal, centralize protocol/hash/status guards, shared time/assertion helpers, and separate runtime transport defaults from immutable approval rules. No real policy has been prepared, so the policy-shape change is a clean pre-activation cutover.
Important limits remain explicit: the public broker report is a last-fetch projection, not a private-auth attestation; launch exclusion is canonical-home scoped; the night stops between work items, so a three-hour margin cannot guarantee that a long integrated issue or stuck teardown settles. Active or unproven work must never be reset to save the expiry. No launch, arm/watch, real consume or live provider requests have occurred.
Owner checkpoint selected the recommended expiry-priority option and asked whether reset can be automated. Decision: preserve every integrated product acceptance criterion, but derive shorter night/issue soft walls from the actual go window, reserving the existing 120-minute session allowance before the chosen three-hour wind-down. Do not silently retain a 24-hour run extending beyond the expiring credit. Exact saved-plan walls remain to be calculated during final preflight.
Reset automation is the reviewed foreground watcher, supervised by a transient host unit after separate explicit go. It requests named safe wind-down at expiry minus three hours; one pinned consume is permitted only after positive quiescence at >=99% weekly usage or the final expiry-minus-15-minute guard. One durable UUID; no ambiguous retry, replacement credit or second night. Preparation remains unarmed. The owner's question did not authorize launch, arm/watch, real consumption or provider/model probes.