scholarr: approve the integrated 24-hour product sprint #9

Open
opened 2026-10-02 23:27:39 +02:00 by justinzeus · 3 comments
Owner

Goal

Approve the integrated Scholarr product sprint before any night launch or reset redemption. Single reference: SPRINT.md on preserved baseline 44e7518 (initial reset commit 0e22839), 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

  • Justin authorized preparation, issue triage, a safe new baseline, and bounded live-provider verification. He separately approved activation of a pinned verified sprint runner/plugin AFTER security review and quota-free smoke, preserving rollback. He has NOT approved launch or reset-credit consumption.
  • ONLY openai-codex/gpt-6.1-sol at xhigh, not max, in scope/writer/escalation/specReview/standardsReview. One integrated product branch/PR, all documented Go/Vue/SQLite/identity/auth/design requirements retained.
  • Proposed preset scholarr-24h: 1440-minute night/issue wall, 100M non-cached issue-token guard, 100 Codex window points, floor0, concurrency1. Existing sandbox/admission/idle/repair protections stay active; wall cutoff is between sessions, not an exact process-kill time.
  • Automated checks are local fixtures. Post-proof operator live allowance: OpenAlex2 + Crossref2 + arXiv1 + Unpaywall1 = six requests TOTAL including retries. ORCID0 until credentials and non-commercial eligibility are confirmed. Escrowed OpenAlex key exists; keep credentials and private data outside writers. No crawl, PDF acquisition, Google contact, paid-provider use, deployment, main merge, publication, or real-data import.
  • Read-only Codex inspection: 98% weekly quota remaining; weekly rollover 2026-10-09T21:10:30Z. Three saved reset credits; earliest expires 2026-10-04T05:32:19.368242Z. Refresh these readings before approval.
  • Reset policy requires SEPARATE explicit go: one pinned credit/account, one persisted idempotency UUID, official Codex app-server protocol, no second night. Proposed trigger is >=99% weekly usage after the matching run is quiescent, or expiry-minus15min after safe stop and proven quiescence. Justin selected safe wind-down THREE HOURS before expiry (2026-10-04T02:32:19.368242Z), with final redemption guard 2026-10-04T05:17:19.368242Z; unused old quota may be surrendered. Nothing is armed. Unknown/ineligible/ambiguous backend results cannot be called a successful reset.
  • Old #1-#8 were closed as superseded with history/proposals retained, NOT as approved owner decisions or completed implementation. Explicit launch go adopts bundled SPRINT.md defaults and replaces the separate freeze ceremonies.

Acceptance

  • Pushed preserved-history baseline and open documentation PR; dirty live Scholarr checkout untouched.
  • Single SPRINT.md reference retains product requirements, detailed schema cases, frozen design, provider safety and conditional decisions.
  • Created one integrated acceptance ledger #11 and triaged superseded tickets transparently.
  • Granted nightly Write and nightly-reader Read only on Scholarr; native register passed schema/repository/modules/labels and native ready labelled #11.
  • Prepared exact Sol xhigh project/preset and bounded six-request live allowance without issuing those requests.
  • Runner ceilings/reset supervisor pass final checks, security review and actual quota-free smoke; pinned matching runner/plugin candidate is activated with rollback preserved.
  • A REAL saved sprint draft/approval names exact plan ID, resolved caps/roles, issue11, image digest and passing Go/Node module checks. No fake-world ID may satisfy this box.
  • Read-only native Codex helper preflight confirms account/credit/expiry and prepares the single-use supervisor against the approved plan without arming/redemption.
  • Justin explicitly approves launch of that exact plan and, separately, the one-credit reset trigger if desired.
  • After implementation, the bounded host live checks record real results; manual visual acceptance, private-corpus/import validation and household shadow run remain explicit production gates.

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.

## Goal Approve the integrated Scholarr product sprint before any night launch or reset redemption. Single reference: SPRINT.md on preserved baseline 44e7518 (initial reset commit 0e22839), 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 - Justin authorized preparation, issue triage, a safe new baseline, and bounded live-provider verification. He separately approved activation of a pinned verified sprint runner/plugin AFTER security review and quota-free smoke, preserving rollback. He has NOT approved launch or reset-credit consumption. - ONLY openai-codex/gpt-6.1-sol at xhigh, not max, in scope/writer/escalation/specReview/standardsReview. One integrated product branch/PR, all documented Go/Vue/SQLite/identity/auth/design requirements retained. - Proposed preset scholarr-24h: 1440-minute night/issue wall, 100M non-cached issue-token guard, 100 Codex window points, floor0, concurrency1. Existing sandbox/admission/idle/repair protections stay active; wall cutoff is between sessions, not an exact process-kill time. - Automated checks are local fixtures. Post-proof operator live allowance: OpenAlex2 + Crossref2 + arXiv1 + Unpaywall1 = six requests TOTAL including retries. ORCID0 until credentials and non-commercial eligibility are confirmed. Escrowed OpenAlex key exists; keep credentials and private data outside writers. No crawl, PDF acquisition, Google contact, paid-provider use, deployment, main merge, publication, or real-data import. - Read-only Codex inspection: 98% weekly quota remaining; weekly rollover 2026-10-09T21:10:30Z. Three saved reset credits; earliest expires 2026-10-04T05:32:19.368242Z. Refresh these readings before approval. - Reset policy requires SEPARATE explicit go: one pinned credit/account, one persisted idempotency UUID, official Codex app-server protocol, no second night. Proposed trigger is >=99% weekly usage after the matching run is quiescent, or expiry-minus15min after safe stop and proven quiescence. Justin selected safe wind-down THREE HOURS before expiry (2026-10-04T02:32:19.368242Z), with final redemption guard 2026-10-04T05:17:19.368242Z; unused old quota may be surrendered. Nothing is armed. Unknown/ineligible/ambiguous backend results cannot be called a successful reset. - Old #1-#8 were closed as superseded with history/proposals retained, NOT as approved owner decisions or completed implementation. Explicit launch go adopts bundled SPRINT.md defaults and replaces the separate freeze ceremonies. ## Acceptance - [x] Pushed preserved-history baseline and open documentation PR; dirty live Scholarr checkout untouched. - [x] Single SPRINT.md reference retains product requirements, detailed schema cases, frozen design, provider safety and conditional decisions. - [x] Created one integrated acceptance ledger #11 and triaged superseded tickets transparently. - [x] Granted nightly Write and nightly-reader Read only on Scholarr; native register passed schema/repository/modules/labels and native ready labelled #11. - [x] Prepared exact Sol xhigh project/preset and bounded six-request live allowance without issuing those requests. - [ ] Runner ceilings/reset supervisor pass final checks, security review and actual quota-free smoke; pinned matching runner/plugin candidate is activated with rollback preserved. - [ ] A REAL saved sprint draft/approval names exact plan ID, resolved caps/roles, issue11, image digest and passing Go/Node module checks. No fake-world ID may satisfy this box. - [ ] Read-only native Codex helper preflight confirms account/credit/expiry and prepares the single-use supervisor against the approved plan without arming/redemption. - [ ] Justin explicitly approves launch of that exact plan and, separately, the one-credit reset trigger if desired. - [ ] After implementation, the bounded host live checks record real results; manual visual acceptance, private-corpus/import validation and household shadow run remain explicit production gates. ## 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.
justinzeus added the
blocked
label 2026-10-02 23:27:39 +02:00
Author
Owner

Preparation checkpoint; no launch, arming, watch or real reset.

Runner candidate is committed in /root/dev/worktrees/92-sol-sprint: c0a0440 captures operator ceilings and exact Sol availability; 6ca39be adds account-bound single-use reset supervision and candidate version 0.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/nightly at 815e1fbd6988f797598115b89f6534e715630c0b (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 --json also 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.md on 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.

Preparation checkpoint; no launch, arming, watch or real reset. Runner candidate is committed in `/root/dev/worktrees/92-sol-sprint`: `c0a0440` captures operator ceilings and exact Sol availability; `6ca39be` adds account-bound single-use reset supervision and candidate version `0.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/nightly` at `815e1fbd6988f797598115b89f6534e715630c0b` (`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 --json` also 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.md` on the baseline branch. Sources: [OpenAlex authentication](https://help.openalex.org/api/authentication), [costs](https://help.openalex.org/access/example-costs), [deprecations](https://help.openalex.org/api/deprecations); [Crossref access and authentication](https://www.crossref.org/documentation/retrieve-metadata/rest-api/access-and-authentication/); [arXiv API terms](https://info.arxiv.org/help/api/tou.html) and [manual](https://info.arxiv.org/help/api/user-manual.html); [Unpaywall API](https://unpaywall.org/products/api); [ORCID limits](https://info.orcid.org/ufaqs/what-are-the-api-limits/) and [public API terms](https://info.orcid.org/public-client-terms-of-service/). 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.
Author
Owner

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.

Candidate activation remains held. Security/spec review [nightly#93 comment 16522](https://git.justinvisser.org/justinzeus/nightly/issues/93#issuecomment-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.
Author
Owner

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.

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.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: justinzeus/scholarr#9
No description provided.