Skip to content

Add explicit Curated writer and reviewer request profiles #116

Closed

Description

@R055LE

Evidence and goal

The #110 comparison found Sol writer + Astra reviewer to be the strongest candidate under the tested reporting contract: all six synthetic workflows passed after bounded review/revision. Sonnet + Astra failed all six; each final revision retained a real support defect. The held-out Sol/Astra render still failed editorial completeness, so this is a candidate profile, not production acceptance.

The evaluation adapter gives each provider a viable request. Production currently uses shared request assumptions, including temperature 0.3, draft output 4,096, reviewer output 900, and no Curated reasoning setting. Substituting model names alone would not reproduce the tested boundary.

Acceptance

  • Add explicit, inspectable Curated writer and reviewer profiles with model, provider, reasoning, output, timeout and supported sampling controls. Keep role differences visible in the serialized request.
  • Initial candidate: openai/gpt-6.1-sol-20260929 writer and openai/gpt-6-astra-20260903 reviewer, both on the first-party OpenAI route, default tier, medium reasoning. Recheck access, pricing and parameters before activation.
  • Preserve the tested 16,384 writer / 8,192 reviewer output ceilings initially; these include reasoning. Any smaller setting is a new comparison, not an inferred optimization. Keep existing 18,000-character requests, 1,600-character excerpts and eight-source bound until separately measured changes justify more evidence.
  • Omit unsupported temperature controls. Verify structured-output compatibility at the actual SDK/request boundary. No hidden fallback or silent provider/model substitution for the acceptance preview.
  • Handle null/empty choices and invalid reviewer output as classified, non-publishing failures while retaining available usage and uncertainty. Regression evidence exists in Preserve malformed evaluation responses and classify router annotations #114, whose implemented fix is evaluation-only.
  • Preserve exact quotation, chronology, delivery identity, independent review, and the bounded four-call workflow. Integrate with the separately tracked budget reservation work rather than bypassing existing gates.
  • Exercise offline request-boundary tests and a scoped no-send preview through the production wrapper with current Scout evidence. Record chosen settings, usage, final rendering and unchanged delivery state.
  • Make the profile selectable in code without silently changing the deployed chain. Model switch, merge, deployment and activation remain explicit decisions after completeness and live acceptance pass.

Refs #107, #110, #113, #114. The configured Gemini 2.5 retirement date was previously cataloged as October 20; reverify the catalog during rollout planning instead of treating historical access as current.

Activity

  1. R055LE commented on Oct 29, 2026

    @R055LE
    OwnerAuthor

    Include the cache-policy distinction from #132 in the explicit request profiles: response-cache bypass alone does not disable provider prompt caching. Verify the intended prompt-cache control at the serialized request boundary and retain allowlisted usage details so the evaluated boundary can be checked later. Coordinate pricing with #117; do not silently inherit the evaluation's blanket cache-disabled claim.

  2. R055LE commented on Oct 29, 2026

    @R055LE
    OwnerAuthor

    Starting the authorized production-profile implementation on issue-116-curated-profiles, based on PR #133. A single writer owns the worktree; integration review and reservation design are read-only.

    The change will add an opt-in profile for the evaluated story writer/reviewer, preserve the existing default path, verify the serialized request and classified response handling, and exercise the no-send path offline. Request controls include the cache distinction from #132. #117 follows as a separate durable-reservation change.

    The coordinator will inspect the final diff, run the full checks, and prepare the PR. No paid preview, production model switch, budget increase, merge, deployment or posting is included in this implementation step. Live acceptance remains a separate concrete preview after both changes are ready.

  3. R055LE commented on Oct 29, 2026

    @R055LE
    OwnerAuthor

    The approved current-Scout preview completed through the production wrapper at combined #134/#135 head 6fd942d18635bfb47ce87fb96d5bab8c52ea5e7c.

    • One workflow selected a Mistral Large 4 weights-release brief from five eligible sources.
    • Four calls (writer, reviewer, bounded revision, reviewer). Every reservation settled within the approved allowance; no new unknown exposure or overrun.
    • Exact requested profiles and returned route-match checks passed. All four responses reported zero cache-read and cache-write tokens; this is provider-reported evidence, not independent proof of absent caching.
    • The initial review rejected only the decision reason's citation support. Revision added the earlier-preview evidence; public wording was unchanged. Final review accepted.
    • The no-send path left story, decision, observation, delivery and seen tables unchanged in the isolated scratch database. No Discord delivery, merge, deployment or production configuration change occurred.

    Independent assessment passes this as a narrow, grounded availability brief. The adjective “improved” still adopts vendor framing without attribution, and the commentary is minimal; that remaining editorial refinement belongs with #97. Empty-history acceptance does not prove live story continuity, duplicate suppression, scheduler behavior, permissions or delivery. Human review of the copy and production activation remain separate decisions.

  4. R055LE commented on Oct 30, 2026

    @R055LE
    OwnerAuthor

    Read-only recurrence check, October 30:

    • The October 27–30 scheduled runs all reported unusable model response: response is not JSON; skipped.
    • The running release is still 8f01ccc, with developing stories disabled and the legacy Curated chain. The selected profile and reservation PRs remain open. The successful October 29 isolated preview did not change production.
    • Legacy Curated requests ordinary text with a 900-token output limit. Its shared parser emits the same error for malformed JSON, empty text, refusal text and truncated output. Daily aggregate usage lacks role, returned model and finish reason, so these historical failures cannot identify the exact provider response defect.
    • Offline fake-response probes reproduced that ambiguity. The selected profile adds strict response schemas, role-specific headroom and classified response failures. Merely merging with legacy defaults would leave the observed path unchanged.

    Concrete remediation proposal, pending owner approval:

    1. Land the existing reviewed stack in dependency order: Constrain story output and bound validation retries #109, Add isolated story model evaluation #113, Preserve material distinctions in rendered stories #118, Ground story stages through revision #120, Account for prompt caching in story evaluations #133, Add evaluated Curated writer and reviewer profiles #134, Reserve Curated spend before provider attempts #135. Preserve required CI, verify final tree against the tested combined head, and reconcile the committed Compose additions.
    2. Enable CURATED_REQUEST_PROFILE=sol-astra-v1 and CURATED_DEVELOPING_STORIES=true.
    3. Initial daily capacity: DAILY_TOKENS_CURATED=200000, DAILY_USD_CURATED=2.14, DAILY_ATTEMPTS_CURATED=4, DAILY_WORKFLOWS_CURATED=1. These are admission ceilings, not expected expenditure. The configured values passed offline Settings validation and cover the conservative two-writer/two-reviewer allowance.
    4. Use the existing digest destination and daily schedule for the first production check. Manual previews share the same allowance. No extra paid trial or immediate manual post is proposed.
    5. Before activation, recheck current endpoint compatibility and account capacity without inference, verify live history/delivery compatibility, and preserve a rollback copy of existing non-secret configuration. Verify release identity, effective settings, health, and the next scheduled outcome. If activation fails, pause automatic Curated work by clearing its destination before any image/config rollback. Retain ledger history; legacy mode does not enforce the selected-profile uncertainty/overrun holds, so do not resume it while those remain unresolved. Pausing requires container reconciliation, not only editing the environment file; avoid manual Curated previews during rollback/reconciliation. Recheck actual daily usage immediately before activation.

    This is the initial repair cutover; higher-frequency stream settings remain follow-up under #98. Approval must cover landing, deployment and profile/capacity activation. No production mutation or provider completion was performed during this diagnosis.

  5. R055LE commented on Oct 30, 2026

    @R055LE
    OwnerAuthor

    Approved production cutover completed October 30 at 489695194fcc75df272a0f4e30ebaa037e0d62be.

    Next scheduled check: October 31 at 07:00 America/Detroit. No immediate public post or additional paid preview was invoked. Activation acceptance is complete; the first scheduled reporting/delivery outcome remains to be observed. Higher-frequency stream settings remain under #98.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions