feat(analysis): execute scientific acceptance on loopback lifecycle - #370
Closed
seonghobae wants to merge 7 commits into
Closed
Conversation
GAP-003A first slice for issue #166. submit_validation_run binds cutoff-eligible evidence, snapshot, knowledge cutoff, CPU f64 model, seed, backend, and precision to a hash-stable tepp-validation-{32 hex} receipt that carries no scientific metrics. complete_validation_run emits tepp.scientific_acceptance.v1 through validation_core (RMSE, bias, Wilson coverage, temporal-order accuracy, SE-aware gate). LLM-authored recovery, non-finite inputs, empty or duplicate evidence, snapshot mismatch, and cutoff-empty corpora fail closed. Not implemented-main. Postgres persistence remains GAP-003B. ADR 0026.
Refuse completion when recovery vectors belong to a different run, tenant, seed, or eligible evidence set. Include tenant workspace and output profile in the canonical digest so a tampered profile cannot pass. Bound recovery vector length and record a SHA-256 of the stamped vectors on tepp.scientific_acceptance.v1. Evidence fields stay private after completion. This is still the GAP-003A library slice (ADR 0026). It is not implemented-main and does not persist runs (GAP-003B).
GAP-003A Devin repair on #356. se_gate_k is part of the submitted scientific binding, not a completion-time choice. Changing k changes run identity. k must be finite, non-negative, and at most MAX_SE_GATE_K = 8. RecoveryObservation must match the receipt k; post-hoc or oversized multipliers fail closed. Receipt fields are private. Empty and length-mismatched recovery vectors fail at construction. Wasserstein and Lazar (2016) refuse post-hoc threshold shopping. Not implemented-main. Postgres persistence remains GAP-003B. ADR 0026.
…back Merge origin/feat/validation-run-scientific-acceptance (#356) into the GAP-003A lifecycle POST lineage so analysis_engine can execute on the loopback path without duplicating the library bind. Keep ADR 0026 with ADR 0027/0028. Persistence remains GAP-003B.
GAP-003A engine-on-loopback slice for issue #166. POST /v1/analysis-runs stays a metric-free receipt. POST /v1/analysis-runs/{run_id}/execute on ScientificAcceptanceLoopbackService runs submit_validation_run and complete_validation_run, records running then terminal, and GET returns tepp.scientific_acceptance.v1 without a caller-supplied artifact. The execute body carries corpus, recovery, seed, and pre-registered SE-gate k and refuses scientific_acceptance_json plus result-metric keys. Wrong profile, LLM recovery, unknown run, consumer mismatch, already-terminal status, and digest mismatch fail closed. tepp_api recognizes /execute and refuses it so the raw listener cannot pretend to execute. This does not duplicate the engine library, terminal-result DTO, GET, lifecycle POST, cancel HTTP, loopback CLI, or collection GET. Persistence remains GAP-003B.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Aug 31, 2026
This was referenced Aug 31, 2026
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.
Consolidation decision — closed because its scientific executor depends on retired #356
This PR is not merged. Exact head
3f9e2d8b39d2d92ee5d057a8c568087b36dbb74eexplicitly runs #356submit_validation_run/complete_validation_runand returnstepp.scientific_acceptance.v1; it also carries the same generic SE-gate input whose authority model was rejected when #356 closed.Preserve its useful execution/lifecycle evidence for the coherent #166 Validation + Analysis Run vehicle, but rebuild the executor around the corrected ownership model:
Do not rebase this exact branch onto a renamed acceptance artifact. Its central execution authority is invalid; branch, tests, reviews and doctoring remain as RED lineage.