Skip to content

Consolidate brownfield packet #4: portal working-reps 1RM - #721

Merged
9thLevelSoftware merged 2 commits into
mainfrom
consolidate/brownfield-8951e31b-04-portal-1rm
Aug 31, 2026
Merged

Consolidate brownfield packet #4: portal working-reps 1RM#721
9thLevelSoftware merged 2 commits into
mainfrom
consolidate/brownfield-8951e31b-04-portal-1rm

Conversation

@9thLevelSoftware

Copy link
Copy Markdown
Owner

Summary

  • Consolidates brownfield scan 8951e31b packet Plan custom exercises and gamification features #4 onto current main (4929c1e2f9cc98cfb6dcb08475cff3aebfe059b5).
  • This is consolidation of an unreviewed remote remediation branch; no other brownfield packets are included.
  • Original commits:
    • fc049dc522e1eb538b74f16841fe2ca78fd53ebafix(sync): estimate portal 1RM from workingReps, demote store-verbatim
    • 1ed8fd86df53f3f7a543d938e81ff248befd0efetest(sync): pin portal 1RM fixtures to workingReps, not fallback

Behavior

  • Portal exercise payloads calculate the canonical per-cable hybrid 1RM from workingReps when positive, falling back to totalReps only when workingReps is zero.
  • Zero-weight/zero-rep estimates remain absent, without dropping a separate velocity estimate.
  • DTO guidance no longer asserts unverified portal store-verbatim/recompute behavior.
  • Portal sync fixtures explicitly cover warmup exclusion, the legacy fallback, zero-rep absence, and hybrid/VBT field separation.

Verification

  • ./gradlew -Pskip.supabase.check=true :shared:testAndroidHostTest --tests 'com.devil.phoenixproject.data.sync.PortalSyncAdapterTest'PASS (75 tests, 0 failures).
  • ./gradlew -Pskip.supabase.check=true :shared:testAndroidHostTestPASS (3,729 tests, 0 failures).
  • ./gradlew -Pskip.supabase.check=true :shared:compileKotlinIosArm64 :shared:compileTestKotlinIosArm64PASS.
  • Packet patch comparison against the original range is byte-for-byte equivalent; final diff is limited to the four packet files.

Refs brownfield scan 8951e31b packet #4

codex added 2 commits August 30, 2026 19:41
Portal hybrid 1RM used totalReps (warmup+working). D-6: use workingReps,
falling back to totalReps only when working is 0. Keep shipping
estimatedOneRepMaxKg. Portal store-verbatim is unverified — demote
CLAUDE.md and PortalExerciseDto KDoc. Do not touch phoenix-portal.

Rewrite the inverted PortalSyncAdapterTest golden: 60 kg x 5 working /
3 warmup -> 67.5, not the 8-rep estimate. Default workingReps=0 with
totalReps=5 is no longer the proof.
Follow-up on exec review issues 1/2/4/5: velocity+hybrid golden uses
60x5 working / 3 warmup; factory defaults workingReps to totalReps
unless explicit 0; adapter comment is WHY only; 0/0 hybrid null still
ships a velocity estimate. actualReps stays totalReps (out of D-6).
Copilot AI lite review requested due to automatic review settings August 30, 2026 23:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 30, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-30T23:47:51.314073Z f95db67 PR opened
🔒 Security Review Completed 2026-08-30T23:49:30.582697Z f95db67 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kilo-code-bot

kilo-code-bot Bot commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Code Review Roast 🔥

Verdict: No Issues Found | Recommendation: Merge

Oh wait, this PR is actually clean. I need to sit down. I had my flamethrower warmed up and everything.

A bug fix that fixes the bug, tests that pin every branch of the new logic (warmup exclusion, working==0 fallback, both-zero null, hybrid-null-doesn't-drop-velocity), and doc updates that demote "portal stores verbatim" to "portal store-verbatim is unverified" instead of asserting unverified behavior. Honestly? This is the kind of consolidation packet that makes a senior engineer do a slow clap at 2am.

The only quibble — and it's a nitpick, not a finding — is that the test factory's workingReps = workingReps ?: totalReps silently turns "I forgot to pass workingReps" into "workingReps == totalReps." The author flagged this in the commit message and pinned the zero-fallback explicitly, so it's fine. Future contributors just need to remember to pass workingReps=0 when they mean it.

📊 Overall: Like finding a unicorn in production — a bug fix that doesn't sneak in three new abstractions, a doc rewrite that strips confidence instead of adding it, and tests that test behavior instead of mocks. Suspiciously competent. 10/10, would review again.

Files Reviewed (4 files)
  • CLAUDE.md - 0 issues
  • shared/src/commonMain/kotlin/com/devil/phoenixproject/data/sync/PortalSyncAdapter.kt - 0 issues
  • shared/src/commonMain/kotlin/com/devil/phoenixproject/data/sync/PortalSyncDtos.kt - 0 issues
  • shared/src/commonTest/kotlin/com/devil/phoenixproject/data/sync/PortalSyncAdapterTest.kt - 0 issues

Reviewed by minimax-m3 · Input: 41.4K · Output: 7.1K · Cached: 232.6K

Review guidance: REVIEW.md from base branch main

@9thLevelSoftware
9thLevelSoftware merged commit f4695a9 into main Aug 31, 2026
10 checks passed
@9thLevelSoftware
9thLevelSoftware deleted the consolidate/brownfield-8951e31b-04-portal-1rm branch September 4, 2026 20:59
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.

3 participants