Skip to content

Branch history and divergence ​

Exact pins ​

  • Merge-base (the only result of git merge-base --all): 3e376417a90e400eda3b36ee3da340053182fab2.
  • Commit/author date: 2026-08-12T11:13:47-07:00, equivalent to 2026-08-12T18:13:47Z.
  • Subject: Merge pull request #7 from ManicHD/pv-tracker-kayton.
  • Parents: df096f0a048f0a7ef75a35477ecd5de0cc08a36d and 7d08fcab89088fda07ad90f9dae1de1f8c9361dd.
  • Audited remote main: ad33ecb44f208d91e69aae215471e70941111483.
  • Audited remote dev: 7c3f0079f7a4847ff698c508470757ca81e64b36.
  • Main range has 6 commits, all also main-only relative to dev. Dev range has 104 commits; 84 non-merges, 20 merges; 72 first-parent commits and 32 additional reachable side-branch commits.

Nearby shared history: 1a10279 (July 23, campaign displays/case studies), 8486281 (July 23, live count/site icons), cc9872b (July 23, campaign-display URL fallback), 7557b2f (July 30, PV Tracker page), df096f0 (August 6, tracker chart/controls), then 7d08fca (August 12, review flow/layout) merged at the base. Root dynamic policy predates divergence: 962daba2b6b27cf657af99403618fc7ca58ac957, May 6, “fix(vercel): force dynamic app routes for deployment.”

Readable timeline ​

text
Aug 12 shared merge-base 3e376417
 ├─ MAIN
 │  Sep 06 27bb998 services offer + Calendly onboarding target
 │  Sep 06 f6937f9 Kill Streak proof, navbar/footer cleanup, X icon
 │  Sep 15 e192ec0 public route-group redesign + supporting behavior/assets
 │  Sep 15 f7f132a design research and earlier-state handoff
 │  Sep 15 6f2dda0 final launch: Careers; booking now /contact; remove /book-call
 │  Sep 15 ad33ecb final site title/description/social image
 └─ DEV
    Aug 26 150f65c CODEOWNERS
    Aug 27 1c0fbc1 / 4564e85 app → routing/features/surfaces/shared relocation
    Aug 28–Sep 05 content-rewards design, groups, auth/admin/support/campaign work
    Sep 10–15 analytics, review, Whop identity/payout/funding/staff capabilities
    Sep 17–19 canonical budgets/funding, test discovery, CI, legacy payout cleanup
    Sep 19 9809f86 retire legacy payout flows
    Sep 19 7c3f007 standalone production image

Dates retain each commit's original timezone in the tables. A “branch creation time” is not recoverable from this graph; the merge-base identifies common ancestry, not proof of when someone ran git branch.

Every main commit ​

SHACommit dateSubjectTouched path names
27bb998466bbe613fd57e40efe09513d3cac56072026-09-06T17:26:22-07:00Update services page and Calendly link3
f6937f9b18b99cc58ed6e8f15dc7cb478bc209a32026-09-06T17:30:59-07:00Sync navbar and case studies to live4
e192ec0845d70f01fe718b6b9b65dae59fcc003f2026-09-15T02:48:52-04:00Replace the marketing site and move it onto the live routes154
f7f132a17d2cb1bd04d6156d0ab088e1b0e641942026-09-15T02:48:58-04:00Add the redesign notes and the handoff doc26
6f2dda06a550d077dc58ce202b385ba9a8804df32026-09-15T14:24:23-07:00Launch site redesign15
ad33ecb44f208d91e69aae215471e709411114832026-09-15T15:27:23-07:00Update site embed metadata5

Each full diff is preserved in evidence/commits/<short-sha>.patch. The source audit is history-analysis. The complete semantic inventory is 02, not just this commit summary.

  • 27bb998: three files. UGC versus clipping services, service metadata and Calendly onboarding target. Later layout supersedes this implementation; offer semantics carry forward.
  • f6937f9: four files. Kill Streak case/results, nav removes Discord, footer removes ClipsRev referral, platform X icon. Final content must include retained intent.
  • e192ec0: 154 touched names, or 152 change records with two renames. Adds the public route group/content/media, new creator funnel, scoped font layout, global motion and shared changes. Removes old marketing components/live-count route. Auth/dashboard edits are tiny visual/terminology hunks inside old architecture, not permission to restore it.
  • f7f132a: 26 documentation/source-resource files. Research and handoff written before final launch edits.
  • 6f2dda0: 15 paths. New Careers, consolidated booking at contact, transient book-call deletion, sitemap change and final clipping/case-card tuning.
  • ad33ecb: five paths. Final identity/title/description/schema/social image. Do not stop analysis at the large redesign commit.

Only transient newly-added path: app/(site)/book-call/page.tsx, added e192ec0 and deleted 6f2dda0. All public asset changes survive into final main. Full touched union is 185 path names; base→main has 184 changed names; rename-aware diff has 182 records (campaignData and guideData moves fold source/destination pairs).

Merges, patch equivalence, squashes and history limits ​

All six main commits are single-parent commits: no post-base main merge of dev appears. No main change has a patch-equivalent dev non-merge commit: git cherry dev main base returns six plus signs, saved in evidence/patch-equivalence.txt. Therefore “already present” decisions in the manifest are semantic/contract equivalence, not inferred cherry-picks.

The dev range has 20 merge commits. Its 84 non-merge patches also have no equivalent main non-merge patch in the audited range. Expanded first-parent patch-ID analysis has 12 duplicate groups pairing feature commits with the merge commit that incorporated the same change; one merge has an empty first-parent delta. That is normal merge structure, not evidence of repeated cherry-picks or rewritten history.

Several recent dev commits are single-parent commits with PR-number subjects, compatible with squash integration. The graph alone cannot distinguish a squash merge from a normal single-parent commit with that message. Likewise the large single-parent e192ec0 packages a broad redesign, but no unretained concept-branch commit history is proven by it. No rewrite or force-push claim is made without remote event/reflog evidence. See the recorded graph and structured parents/patch IDs in evidence/history-analysis.json.

Every dev commit reachable after the base ​

This includes side-branch commits, not just first-parent history. Exact parents are in both structured history files; the full readable graph is evidence/branch-graph.txt.

SHACommit dateSubject
150f65c031516b1f1b66f4854ca7a926f8adb20b2026-08-26T10:24:07-07:00Add CODEOWNERS for main review ownership
1c0fbc1154dc9cc1cafcae34dbb1dde5399058092026-08-27T23:27:23+08:00refactor(frontend): reorganize app into routing, feature, surface, and shared layers
4564e8515fc588e8688d63620c0f92a1ced1ea952026-08-27T11:45:31-04:00Merge pull request #1 from BloxClips/refactor/frontend-relocation
a7333c9a5e813f7961830abacb4348f96229b67c2026-08-28T23:22:51+08:00refactor: split PV tracker admin page into maintainable components
6703db0892c7ae202795cdc51fc64860e282505f2026-08-28T23:25:11+08:00docs: document PV tracker feature contracts
5ed7c746f4b70cd582897bedc94ab08c842b35dc2026-08-28T11:29:15-04:00Merge pull request #2 from BloxClips/refactor/pv-tracker-module
b9bf5d698db99bf47d14794a7b6501789fdf53722026-08-28T23:51:47+08:00Add Content Rewards design system page
d0c5a8389268d4c5e310cdff7ec64f02d004a5392026-08-29T00:00:15+08:00Hide footer on development pages
223098acf63eec1dadbce4298832452b545fba092026-08-29T11:54:26+08:00feat(clipper-groups): add admin UI foundation with fixture-backed data
5d31c86e0459de6d0134eba081222ab3a1a232fc2026-08-29T13:46:46+08:00feat(clipper-groups): integrate admin UI with live backend API
08aac3be84e5aed71a2f3b7196a8d586c3708fd32026-08-29T15:14:36+08:00Add light theme to design playbook
8c06e1be4ccd6f9ae13040640a5a59799b3831572026-08-29T15:23:19+08:00Improve playbook theme contrast
1e1ab0a882cc9f75c8b23dac91f84b4b38083e3f2026-08-29T09:00:10-04:00Merge pull request #3 from BloxClips/feature/frontend-design-system-playbook
4105e2ed7ccf6aa4e8dd89b8a9ba62859c07fabb2026-08-29T09:00:33-04:00Merge pull request #4 from BloxClips/feature/clipper-groups
bbe6e067374067065323eb17346b6f8e748c7dcb2026-08-30T09:42:27+08:00Refactor Content Rewards frontend
adc217fcbf88f80d1302aaa3ff733f9e0fbc0ca42026-08-30T09:50:37+08:00Fix Content Rewards modal surfaces
2d3e39b12d315c33b73f54349642346cfad37fec2026-08-30T09:52:53+08:00Refactor Content Rewards frontend architecture (#5)
779b58a0f315020f93d0076f199c87d35c60d7082026-08-30T12:22:30+08:00feat(clipper-groups): add campaign-scoped Clipper Groups UX (#6)
6896553a030086c21f5933e88a55c456ed2a0cb02026-08-30T19:33:48+08:00feat(support): replace floating widget with shared Whop support dashboard (#8)
6bad94e38bfa8ad2d7498cf0f110fc519bb03a482026-08-30T22:06:38+08:00feat(campaign-management): add step-by-step create-campaign wizard
24157e1065f4d3c1786943b38c3e05fd406cd1732026-08-30T22:36:56+08:00feat(campaign-management): add Draft badge and Launch action
9635eb4040d267fe058077e2ed74fe735ce46a992026-08-31T11:43:30+08:00fix(support): align Whop support workflow (#11)
ed5e0ddb0a529c16124a8bf104971e011a49f45f2026-08-31T11:57:29+08:00Merge remote-tracking branch 'origin/dev' into fix/campaign-card-values
1e123c2e66aa941b730639bd265f16a590ef65362026-08-31T12:13:22+08:00fix(campaigns): correct creator payout displays
c49949b1089b721ee4fb10b9b65f5ca232a2ea7f2026-08-31T12:14:02+08:00Merge pull request #12 from BloxClips/fix/campaign-card-values
f4d5fa2fdfda24ae8383c24aa30b880c6ef8d8ae2026-08-31T13:14:46+08:00feat(campaigns): unify admin campaign management
95f057909e7c615f887b78c4afb9731005c3a9742026-08-31T14:33:54+08:00fix(campaigns): polish unified admin experience
673dc8461734537deb8468b02f6663acc1c9ec632026-08-31T14:34:08+08:00Merge pull request #13 from BloxClips/feat/unify-admin-campaigns
3fc5a67d5d833878b9d3a5022da7e1c1293f84352026-08-31T14:50:15+08:00feat(support): finalize Whop support inbox UI (#14)
1bcb13391a5eb4dced1dc620f9d00bda6748cdc12026-08-31T21:18:44+08:00feat(campaigns): add creator discovery and details
f0f47f897753e1af1f303c220ef4f280525951262026-08-31T21:27:33+08:00Merge pull request #15 from BloxClips/feat/clipper-campaigns-discovery
430b69511eefef9f324485713143bfcdae2e72652026-09-01T21:17:48+08:00Improve creator clip submission experience
1837d219dbaf7d5d97ce5ab183b335e8e7400d192026-09-01T21:19:10+08:00Merge pull request #16 from BloxClips/feat/creator-submission-flow
b4ee2028f49991443eec7386b03049d6acafb5e42026-09-02T07:29:50+08:00feat: add clipper access and refresh login
718bda13f716894f03dbb204df2012edaf9b857c2026-09-02T07:30:58+08:00Merge pull request #17 from BloxClips/feat/rbac
b18865532711fd329f886c159d357f429785dc4c2026-09-02T08:05:17+08:00fix: scope footer to marketing pages
5649fb6e53f9a0215ef00ae45658786c851413d72026-09-02T08:06:01+08:00Merge pull request #18 from BloxClips/fix/marketing-footer-scope
70364033a909e4322f042e82ba5ca4b9a0e6f9ed2026-09-02T12:45:25+08:00feat: redesign creator overview
db6815bb1d0c59282a076414fcae660d8d6f564e2026-09-02T12:48:37+08:00Merge pull request #19 from BloxClips/feature/creator-overview-redesign
51a219bcc932b3f42a62711142f7dab89769a16d2026-09-02T15:16:55+08:00feat(auth): add Whop sign-in option (#20)
4bebb048414c738c9508a7f895703e0ef899ac962026-09-03T12:46:54+08:00feat(auth): add staff dashboard access (#21)
db95c80ade878701a7602dc3710df90aaa08e5812026-09-03T20:12:19+08:00feat(audit): add generic admin audit viewer
4efa0ad03dd7ebdfcce66f01668fcdb5c1f4c1942026-09-03T20:12:19+08:00refactor(audit): decompose admin event viewer
ee8684b51c61e287055694ce0d624ae81b224e2b2026-09-03T22:04:48+08:00feat(rates): expose precise campaign CPM and RPM (#23)
5643f6e3b81f642c127aedcca8766bea80fd4ce22026-09-04T11:53:59+08:00feat(dashboard): refine frosted overview experience (#24)
f7adb8e884d3d4a4777d74cecff1e419cb94d5822026-09-04T12:04:04+08:00fix(campaigns): support legacy rate responses (#25)
f18e36a0e5ccdf6e3768e51e3faeadf932f0843a2026-09-05T21:40:14+08:00feat(dashboard): refine shell and modal experience (#26)
541dbd1e952c3d7740df7a6cad25d33173b87ed02026-09-05T22:44:55+08:00feat(admin): add shareable sponsor campaign reports
7f93980fefe86a25183b82e67789fa041b0e369c2026-09-05T22:50:02+08:00test(reports): cover public report requests
fcf4809fad4948b5a2e4aea5333bcefeaf207b3c2026-09-05T23:06:29+08:00Merge sponsor reports and animated campaign menu into dev
3aadc7306c6aaae525ea72c04b1c28606ddaaf5a2026-09-05T23:22:07+08:00feat(admin): add staff team capability control panel (#27)
5693a823208dac16a8bbbfa7cbd1ab7f54b31ab42026-09-06T08:55:52+08:00feat(admin): add report expiry disclosure
907963f1f440f30a135c952950166d5d4ea469ef2026-09-06T08:56:16+08:00Merge pull request #30 from BloxClips/feat/report-expiry-disclosure
a6b46ce824dae4385b99f20c83d4a187975e524a2026-09-10T00:19:17+08:00fix: render missing scrape observations as chart gaps
1ec344ad66312140e5f0bddf994f817938c556d32026-09-10T20:41:44+08:00feat(payouts): replace cashout and provider selection with Whop earnings
98e29e4c8b58bb1daf6f91eec9a2f5e51c8638de2026-09-11T01:58:52+08:00fix(security): patch the Next.js server and matching lint configuration
e4b5f5c812d1acabbc731cb7600969051885657e2026-09-12T00:51:51+08:00feat(review): send idempotent moderation commands (#31)
6fd32abadcd1870232bf905211394ec5c82c285d2026-09-12T01:44:52+08:00Expose scoped moderation, payout holds and clawback review
8a6a8e69c0b73b7621dd0b3625603037c3159c0f2026-09-13T14:08:43+08:00feat(review): show committed activity analytics (#33)
8cf1376648ae72d89b7650f7be969787c9afab752026-09-13T14:35:16+08:00feat(admin): add campaign invoice management and client breakdown (#32)
d2e7ae3e31805ea305e3f18347a4f8b404b9304f2026-09-13T15:34:38+08:00docs(config): add complete frontend env example
e8d22465f28f5fc8c7cb8824aa9fbd3ae69521fb2026-09-13T20:38:51+08:00Integrate dev invoice and review UI with scoped payouts
cb6f1afa20af6091a4fca663c459920a8f3542ec2026-09-13T22:34:06+08:00fix(ui): move admin notifications to toast portal
a32bc39faecd848f782bf6efb37ccc0f5e5082eb2026-09-13T22:34:28+08:00Merge pull request #34 from BloxClips/integrate/payout-dev-2026-09-13
fc460adbef9e5b84ec8e2dea0925a0a147f3f1bd2026-09-13T22:35:17+08:00Merge pull request #35 from BloxClips/fix/floating-toast-wrapper
88a64e7b6435b5e4473e87dad08b94225d6ac7f22026-09-13T22:55:36+08:00Fix admin campaign loading errors and booking contrast
bddbf8a1deeabb60b4a323945f36a30579e81c932026-09-13T22:56:43+08:00Merge pull request #36 from BloxClips/fix/admin-load-errors
28846de48f617bc8275738c10e5d5a692148f3862026-09-14T00:02:14+08:00Fix dashboard modal clipping and animation flashes
11763e772066437930c2b46b77b43bb6dcda328e2026-09-14T00:03:14+08:00Merge pull request #38 from BloxClips/fix/dashboard-workflow-pages
15d40863c495d3d429529ce090f06978fe2a8ccc2026-09-14T00:40:06+08:00feat(admin): reconcile canonical campaign funding UI (#37)
4c42e5afab0c861cff20028d46a79026afb427f92026-09-14T01:20:39+08:00fix: simplify review reasons and stabilize notification timers
4ab9e74300b51e702772ec930e474573fe4cf8bd2026-09-14T01:22:22+08:00Merge pull request #40 from BloxClips/fix/notification-theme-and-timeout
2969523ea0b07e9a9a390104d7a584be042b55a22026-09-14T09:25:31+08:00fix(payouts): clarify readiness errors (#39)
086bb29115d2eca6e213d9c3a5abf9f1a8960e102026-09-14T09:45:58+08:00feat(overview): restore graphs from recorded history (#41)
9bebb851ce5106a79972dbf5ef7e724757fb38cc2026-09-14T11:42:18+08:00feat(admin): gate navigation and controls by resolved permissions (#42)
4f757acb779b8aa1f1412caa535af936b8b50d8f2026-09-14T11:44:15+08:00feat(analytics): add Clipper Group dashboard (#43)
6f620ca06727ea3846909e11c0bd10049f09de1a2026-09-14T12:33:29+08:00feat(support): redesign inbox and batch message previews (#44)
7d9148a29fede9607674af9b4ff0fbf9b91ba34c2026-09-14T13:22:07+08:00Fix hidden account verification popup during clip submission
219863fe63e57f34b97b87dd1d16f0cd90c332c42026-09-14T13:58:24+08:00Add local test accounts for admin permission checks
53d992b71822c3d58fc2ec1e70a4c014b7a1f7fe2026-09-14T14:16:33+08:00Move manual submission to a modal and remove review activity panel (#47)
08ef8036483399f482334fd6ffad9b2219a57c3a2026-09-14T14:58:15+08:00feat(campaigns): expose private campaign controls (#48)
111f278549ab27c78277d39cefc6dbbc29a1cb032026-09-14T15:15:12+08:00Fix manual campaign dropdown and show YouTube-only requirements (#49)
ea6b7ee16fa404aba999fb3ccbf58d7b6935400e2026-09-14T21:18:07+08:00Move creator moderation to user details (#50)
2edec6e692873474a590466ca12390c2d969befc2026-09-14T21:39:45+08:00Move clawbacks to admin payouts (#51)
2b2b2a0484da203a9d8dc927a7d7a32541b7216b2026-09-14T22:05:32+08:00Add hybrid staff capability administration (#52)
c976014e9a360b1c2146f5fc8b91ba78c49f60ef2026-09-15T13:14:09+08:00feat(invoices): expose provider-native fee handling
6db20c05a9f7620209caab13fe83153e3820e9152026-09-15T13:14:09+08:00fix(invoices): clarify Whop buyer fee option
a2974705e5f54456b08bbfbcf3816090d895fc3b2026-09-15T23:19:04+08:00feat(groups): configure precise campaign group RPM
c3c3926c49cc487a806002bc07ad2038444795c12026-09-15T23:19:04+08:00fix(groups): format group RPM history for readability
b799888e0cded805ec3825bfe558cd7a8adf284a2026-09-15T23:33:23+08:00feat(config): start frontend from verified Whop profiles (#58)
630f0990d3b5ddfd05ee3e398f864a2ad943a57d2026-09-15T23:42:30+08:00feat(moderation): add server search and paged campaign navigation (#60)
a7bf7d2f63a93ade01754feed9b3f9202ae673a82026-09-15T23:44:22+08:00fix(payouts): explain observation-based earning maturity (#56)
33cc5566909f8052f8da975442420f384b9ba8c42026-09-16T20:17:10+08:00feat(config): simplify Whop frontend environment switching (#61)
e501dbbb5e135fbeb75541588fd44fb7b8eaeaae2026-09-16T22:28:16+08:00Link submissions directly to payout and clawback review (#59)
76d7f85f918df765ec9e4d32753ca62fbc49a9942026-09-16T23:37:58+08:00feat(marketing): pilot TanStack Query for public marketing reads (#62)
f9aa2cb5b2b18183ce7f274c5c15e31642d7e81b2026-09-17T12:21:25+08:00chore: apply nextjs prompts
c8de0c7d6700b59d58602dff5ecd4ed752e59a742026-09-17T23:52:37+08:00docs(fetching): add frontend cache-policy slice (#63)
5a5325a23d9ad0f0bced8f5e32f8d632d44a406c2026-09-17T23:53:29+08:00feat(funding): build full-page Campaign Funding workflow (#64) (#65)
7e055b4068efa536538ec754c9cd3ec6cdd3ceab2026-09-17T23:53:29+08:00fix(funding): show remaining budget outside funding page, announce increases (#64) (#66)
24dbd4f5e43748f8a0f0818bdb39b23b7d754fc62026-09-18T17:29:22+08:00fix(campaigns): show canonical remaining budget on public campaign surfaces (#68)
b349acbae9bbf282e5173321b160d03deb96fbee2026-09-18T18:08:02+08:00ci(frontend): attach GitHub Actions gate for test, lint, and build (#69)
bf3633966fd55ca8d520aaaba2deccc021c9a56b2026-09-18T22:28:48+08:00fix(frontend): run nested test files recursively in npm test (#70)
9809f860376538daa224750499aa7eb2e68f094f2026-09-19T11:06:16+08:00refactor(frontend): remove legacy payout flows (#170) (#71)
7c3f0079f7a4847ff698c508470757ca81e64b362026-09-19T11:06:33+08:00docker(frontend): add portable production Next.js standalone image (#72)

Authority and freshness ​

The frontend fetch completed successfully before pins were selected. Primary checkout HEAD and local main/dev refs differ from the remote authority; they were recorded in evidence/primary-before.json and preserved. Do not compare future work to the checkout's current HEAD by accident. A future implementer must fetch inside a new lease and review the delta after the pinned dev SHA before using this plan.

Backend remote branch SHAs were verified separately and are documented in 06. No scraper dependency was established, so no scraper history audit was performed.