Skip to content

fix: seed TEPP on the shared snapshot and prove the client (v0.84.0) - #115

Closed
cursor[bot] wants to merge 3 commits into
feat/analysis-run-cutoff-postsfrom
cursor/bc-7da90c00-c222-49bb-96b2-4ccabdf421d1-4f4d
Closed

fix: seed TEPP on the shared snapshot and prove the client (v0.84.0)#115
cursor[bot] wants to merge 3 commits into
feat/analysis-run-cutoff-postsfrom
cursor/bc-7da90c00-c222-49bb-96b2-4ccabdf421d1-4f4d

Conversation

@cursor

@cursor cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown

Stack

#74 (feat/role-responsibility-agent-ontology) → this PR. Do not merge onto main before #74. Prefer this over closed draft #111.

What is already on #74

What this PR adds

The remaining #110 seed counter-example, replayed onto current #74 (017f580):

  • make seed inserts Late Demo public post (2026-01-13).
  • The January 12 Demo Corp run still lists Demo public post; Late Demo does not.
  • No second cutoff implementation. No TEPP arithmetic fork. Synthetic Demo Corp only.

Verification

  • pytest tests/test_seed_late_demo_post.py tests/test_seed_tepp_run.py tests/test_tepp_client.py — 11 passed
  • Earlier frontend verification on the superseded 0.84.0 replay is obsolete; this head is seed/docs only on v2.9.1.

Same commits also live on cursor/tepp-seed-on-74-6733.

seonghobae and others added 3 commits August 17, 2026 00:08
Buyer gap: home Analysis runs only showed lineage reconstruction.
make seed now records a Demo Corp TEPP measurement via tepp_client.
The default transport is unavailable, so the row is Failed /
tepp_not_available -- never a fabricated theta. TEPP stays a wire
client, not a local psychometric engine.
Keep the missing TEPP transport as Failed / tepp_not_available, reuse
the Demo Corp capture for both run kinds, skip frozen count inserts on
re-seed, and show the next action plus detail history so operators can
tell a dropped channel from a calibrated miss.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
@seonghobae
seonghobae marked this pull request as ready for review August 16, 2026 15:25
@cursor

cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown
Author

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review of aa20be0 (COMMENT, not merge-ready)

The TEPP contract on this head is sound: tepp_client is called, a missing transport stays Failed / tepp_not_available, a live unused envelope stays Failed / tepp_result_not_persisted, and no theta is invented. #111's must-fix items from this lane (top-level imports, shared snapshot digest, freeze-safe count skip, client spy, Failed-row click-through, list vs detail split) are addressed.

Do not merge this PR. It is still stacked on feat/analysis-run-cutoff-posts (#110). Prefer #118 (934e6e0 on #74) as the TEPP-seed landing. Do not merge #111. Do not invent a local psychometric model.

Residual (copy and insert-path coverage, not fabricated-measurement bugs)

  1. analysisRunNextAction uses TEPP-only copy for every failed run. Gate on analysis_run_tepp or use generic copy, and add a failed-lineage fixture.
  2. analysisRunCorpusHint always says "replace Failed". Keep the measurement-bag sentence; condition the re-run clause on failed status.
  3. tests/test_seed_tepp_run.py spies tepp_seed_outcome and the count helper, but never drives _seed_demo_tepp_run. A hardcoded Succeeded insert would still pass.

Dummy d*64 / e*40 match lineage b*64 / c*40 and satisfy NOT NULL hex checks. Do not invent a real measurement digest.

Product CI (.github/workflows/tests.yml) only runs on PRs to main. This stacked base has no product check runs. That is not a reason to merge.

Independent review still required. This automation will not approve or merge #115.

Open in Web View Automation 

Sent by Cursor Automation: Fix Issues

* list tells the operator to open the run, then reconnect the service.
*/
export function analysisRunNextAction(run: AnalysisRun): string | null {
if (run.status_code === "analysis_status_failed") {

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

analysisRunNextAction treats every analysis_status_failed row as a TEPP reconnect. After make seed only the TEPP row is Failed, so the list is correct today. A later failed lineage run would tell the operator to connect the measurement service.

Gate on run.run_kind_code === "analysis_run_tepp", or use generic copy such as "Open this run to see why it failed." Add a failed-lineage fixture that expects null or the generic string.

export function analysisRunCorpusHint(run: AnalysisRun): string | null {
if (run.run_kind_code !== "analysis_run_tepp") return null;
return (
"These posts are the cutoff corpus TEPP would measure. Connect a TEPP " +

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence always says "replace Failed". True for the seeded row. A later Succeeded TEPP run would make that clause false.

Keep the measurement-bag sentence. Condition the Failed / re-run clause on status_code === "analysis_status_failed".

assert request.output_profile == "calibrated_event_measurement"


def test_tepp_seed_outcome_calls_client_and_does_not_invent_a_score() -> None:

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This spies tepp_seed_outcome and the count helper. It never drives _seed_demo_tepp_run. A hardcoded Succeeded insert in the seed helper would still pass.

Add a cursor/spy around the insert helper, or an authz_db case that the Demo TEPP run exists with Failed / tepp_not_available and no measurement payload.

@seonghobae

Copy link
Copy Markdown
Contributor

#118 merged onto feat/role-responsibility-agent-ontology. The remaining copy split is #124. This stack is on closed #110 -- do not land it. Open #124, then after make seed open the Failed TEPP row and connect a live TEPP transport.

@cursor

cursor Bot commented Aug 17, 2026

Copy link
Copy Markdown
Author

Stack is now #74 → this work, not closed #110.

Verified on current #74 (017f580, later than the original 88a1a0f note):

This PR cannot be reopened after its head branch was force-pushed onto current #74. Continuation is #242 (df24737 on cursor/tepp-seed-on-74-6733), base feat/role-responsibility-agent-ontology. That PR only adds Late Demo; it does not re-implement cutoff or TEPP.

#111 stays draft/closed. Do not merge this work onto main. Do not merge #74 from here.

Local tests on #242: tests/test_seed_late_demo_post.py + tests/test_seed_tepp_run.py + tests/test_tepp_client.py — 11 passed.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants