Conversation
--html-dir given as a relative path crashed filepath.relative_to(BASE_DIR) (BASE_DIR is absolute), silently producing an empty prices CSV. Resolve the path first and fall back to the raw string. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- 13-recent-manifest.py: select recent-window snapshots (>=2 quarters, anchored 2024Q3, >=1 snapshot in trailing 12mo), 7 categories. - 14-recent-ipi.py: matched-model index (Jevons elementary per category, review-weighted geometric composite), quarterly + monthly, trailing-12mo headline. - run-recent-pipeline.sh: idempotent driver (download retry -> extract -> build). - gitignore: exclude html-recent/ raw HTML (22GB) and transient .out logs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
15,150/15,309 snapshots (99%), 100% price extraction across 7 categories. Composite IPI flat over the past year (2025Q1->2026Q1: -0.3%); video -11.6%, coding -6.8%, writing -6.6%, design +2.1%. Includes per-category indices and volume-proxy weights for client-side recompute. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- code/15-build-site-data.py: reuse step 14's monthly build to emit per-category monthly index -> site/data.json (2.2 KB, trailing 12mo, rebased to window-start=100). - site/index.html + site/ipi.js: category checklist drives live in-browser composite recompute (matches pipeline's exp(Sum w.ln/Sum w)). - Verified: client recompute over all categories reproduces composite_all. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Page wasn't working and the user is building their own site. Removed site/index.html, site/ipi.js, scripts/deploy-site.sh and deleted the gh-pages branch. Kept code/15-build-site-data.py + site/data.json as the data layer for the user's own frontend. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rebuilt CSRankings-style site now hand-rolls the trend chart and sparklines as inline SVG — no Plotly/CDN. Validated: JS syntax OK, data.json contract complete, client composite reproduces composite_all (headline -2.1% trailing 12mo). Adds deploy-site.sh redeploy helper. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ting Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Serve the IPI frontend from /docs (branch mode) instead of the site/ subfolder, which Pages branch mode cannot serve. Drop the Actions workflow; update the data-build script output path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Self-contained faq.html (no external libs): explains the purpose of the index and documents the exact formulas — price relatives, chained Jevons category index, weighted-geometric-mean composite, headline 12mo change, and review-based weights — with CSS-rendered math. Cross-linked from the main index header. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Polished, still fully self-contained (no external libs/CDN): Inter/system font stack, soft canvas with white rounded cards + subtle shadows, indigo accent, inline-SVG logo + favicon, pill basket toggles, refined table and tooltip, responsive tweaks. FAQ restyled to match (TOC card, paper card, boxed formulas). All JS hooks and the data contract are unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ection - index.html: add full-sentence IPI definition directly beneath the page title - index.html: lay out trend chart (left) and category-selection table (right) side by side via CSS grid, collapsing to stacked below 900px; widen wrap - faq.html: matching aesthetic refresh Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- ipi.js: significantMoves() flags MoM moves past 0.8% plus the biggest rise/drop; drawChart overlays a green/red segment + labeled % on the composite line, recomputed live as categories are toggled - index.html: legend caption under the chart (green=rise, red=drop) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… main chart - Move the fixed-effects index into its own full-width card below the layout, titled "Intelligence Price Index (Fixed Effects)" (drop redundant badge) - Remove the quarter-move legend + on-chart QoQ highlight markers + move-notes list from the main chart; keep category legends (readout + selection table) - Delete now-dead significantMoves/renderMoveNotes JS and orphaned CSS Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…size as main Reverts the over-deletion from the previous commit: the quarter-move highlights and the move-notes list under the main IPI chart are restored. Keeps the wanted changes: fixed-effects chart is its own card in a shared left column (equal width to the main chart) and now the same height (420); retitled "Intelligence Price Index (Fixed Effects)". Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oY/vs base) Reverts renderInspector to its original form — clicking a quarter again shows the composite level plus QoQ, YoY, and vs-2020Q1 percentage changes, instead of the per-category index-point levels. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Clicking a quarter now lists the composite first, then all seven categories in alphabetical order, each with its index level (pts) at that quarter. Drops the repeated quarter label (already shown in the dropdown). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…0 rebuild - ipi.js: quarter-click readout lists composite then all 7 categories (A-Z) - index.html: "How to read the units" header explainer (+ .units CSS) - 18-build: TOP_N 25 -> 100; rebuilt data.json/freelancers.json (592 sellers) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the three stacked intro paragraphs (mission/def/units) with a two-column grid of boxes — 'What this is' and 'How to read it' — with trimmed text to reduce the wall of text at the top. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…bands
(A) code/20-validate-extraction.py: audits parsed prices vs independent signals
(og:title price, presence-in-HTML, pipeline re-parse). Displayed window
(2020Q1+) validates 100%; failures confined to pre-2017 old_json era.
(B) 19-tpd: per-quarter regression SE (splu on X'X) -> *-tpd-se.csv; 18-build
emits index_tpd_se/composite_tpd_se; ipi.js draws a shaded 95% band on the
fixed-effects chart (composite ±3.2%, translation ±34% — thin cats read wide).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a note under the fixed-effects chart: a random 300-snapshot spot-check found 100% of displayed-era (2020Q1+) prices match an independent on-page price (none hallucinated, all reproducible). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Independent quarter picker (#qpick2) and readout (#qreadout2) on the fixed-effects chart; own pinned state (pinnedFx) so it's separate from the main chart. Readout lists composite first, then all 7 categories (A-Z), reading the fixed-effects series (DATA.index_tpd). - Remove "Corrected" from the fixed-effects chart y-axis label. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…note under chart - #qpick2 now shares #qpick's rounded styling (was rendering with sharp default corners) - move the "Prices validated" note directly under the fixed-effects chart, above its dropdown Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Replace the paragraph subtitle with bullets: what the chart is, the shaded 95% CI band, and a professional data+method validation point. - Remove the standalone "Prices validated" box; its facts merged into the validation bullet. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New standalone docs/gallery.html + docs/gallery.js: one card per category with its fixed-effects price-index trend (95% CI band) and a featured real gig's package-price history from freelancers.json. Featured-gig picker prefers on-topic gigs (per-category keyword relevance) over longer but cross-tagged ones, then richest price history. Cards ordered by size of the '20-'26 move. Adds a Gallery link to the index and FAQ header nav. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Standalone markdown recap of recent site changes (gallery, confidence bands, extraction validation, header/chart polish) and the time-product-dummy fixed-effects index that corrects for irregular Wayback sampling across gigs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a "Correcting for irregular sampling" step to the "How is the index calculated?" FAQ, with the two-gig logo example: frequently-captured gigs reveal the price path's shape, so each rarely-captured gig's change is spread across the correct quarters instead of piled into the reappearance quarter. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
No description provided.