Skip to content

feat(compensation): expose auditable benchmark lineage - #796

Open
ebarti wants to merge 1 commit into
feat/discovery-compensation-refreshfrom
feat/compensation-benchmark-lineage
Open

feat(compensation): expose auditable benchmark lineage#796
ebarti wants to merge 1 commit into
feat/discovery-compensation-refreshfrom
feat/compensation-benchmark-lineage

Conversation

@ebarti

@ebarti ebarti commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • expose immutable direct and geographic benchmark lineage in Python and TypeScript compensation projections
  • distinguish employer-posted salary, direct market benchmarks, and geographic estimates in Jobs, Job Detail, and Apply Review
  • show exact salary, confidence interval, source/sample support, freshness, role taxonomy, price-level, bridge-factor, and formula inputs
  • preserve posted-vs-market authority during v6/v7 upgrade projection rebuilds and invalidate historical projections that used employer pay as market evidence
  • complete the public compensation methodology, comparison, user guide, API, architecture, migration, update, and QA documentation

Why

JobCtrl can turn missing salary data into an auditable estimate without replacing or relabeling what an employer actually posted. The final layer makes that provenance visible and documents the differentiator: direct evidence remains direct, geographic extrapolation shows its exact bridge, and insufficient evidence remains explicit rather than fabricated.

Validation

  • corepack pnpm python:test — 3,584 passed, 2 skipped
  • corepack pnpm api:test — 57 files, 776 tests passed
  • corepack pnpm web:test — 324 files, 2,007 tests passed
  • corepack pnpm --filter @jobctrl/domain-types test — 12 files, 179 tests passed
  • corepack pnpm check — passed
  • corepack pnpm web:build — passed, 7,751 modules built
  • corepack pnpm docs:build — passed, 9,651 references across 359 files and redirects validated
  • corepack pnpm scripts:test — 138 passed
  • corepack pnpm distribution:audit — passed
  • focused exact-v8 migration, projection, lineage, network, workflow, and source suites — passed
  • independent Tier 3 reviewer gate — PASS; Blocker 0, High 0, Medium 0, Low 0
  • independent Tier 3 QA gate — PASS; Blocker 0, High 0, Medium 0, Low 0
  • rendered product QA — posted salary range, direct benchmark lineage, and salary sorting verified with no browser errors
  • git diff --check — passed

Documentation and upgrade coverage

  • README.md and user documentation describe automatic discovery, refresh cadence, source policy, privacy, confidence, and posted/direct/extrapolated separation
  • API and architecture documentation own the projection, lineage, workflow, storage, event, and exact-v8 contracts
  • migration and launcher documentation cover backup, candidate verification, activation, rollback, interruption recovery, and distribution packaging
  • comparison documentation explains the public product advantage without mixing private launch material into the repository

Stack

Final PR in stack #791. Depends on #795.

Checklist

  • External contributor commits include a DCO Signed-off-by: trailer (git commit -s).
  • I ran the relevant local checks and listed them above. Heavy CI runs automatically for ordinary same-repository pull requests and cumulative stack heads, but not public forks; maintainers run manual workflows or local validation for fork contributions after review.
  • I did not include secrets, private profile data, resumes, generated application materials, raw logs, browser profiles, SQLite databases, or local paths.

@ebarti
ebarti force-pushed the feat/compensation-benchmark-lineage branch 3 times, most recently from 381ecf9 to c22f828 Compare August 12, 2026 08:51
@ebarti
ebarti force-pushed the feat/compensation-benchmark-lineage branch from c22f828 to 8662c50 Compare August 12, 2026 08:57
@ebarti
ebarti force-pushed the feat/compensation-benchmark-lineage branch from 8662c50 to c649e88 Compare August 12, 2026 12:52
@ebarti
ebarti force-pushed the feat/compensation-benchmark-lineage branch from c649e88 to 8b4d0cf Compare August 12, 2026 17:00
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.

1 participant