You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Repo: jasonhnd/jobs → mirai-shigoto.com. The occupation page body is 15+ stacked sections (~10 screens); 40s average engagement means most visitors read only the top.
Base branch is preview. Your PR targets preview. NEVER push, merge, or open a PR to main. Never trigger a production deploy. The owner reviews everything on preview and personally decides promotion.
Visual reference: scrolled portion of mockups/shots/frame-03.png. Mockup font sizes are directional; §3.1 floors and existing site sizes win (e.g. chapter summaries ≥ the existing .faq-item summary size, chip labels ≥12px).
Scope — one template, 556 pages
src/pages/[...id].astro (wrap fragments into chapters + chip nav)
src/pages/_id-css.ts (chapter + chip styles)
src/pages/_IdPageScript.astro (extend the existing hashed inline script)
Spec
Wrap the existing body fragments into seven <details class="chap"> chapters, content byte-identical inside, per the §4.3 table:
よくある質問: faqHtml (already <details>-based; nest as-is; pick a chevron style distinct from the inner FAQ markers)
出典と数字: aiFactHtml (full text), JobtagAnchor, relatedHubsHtml, map-back link
Note this is a real reorder, not wrap-in-place: profile/topn/orgsCerts/StatsGrid/aiFact move across the current DOM order to reach their chapters.
Anchors live on inner wrappers only (a <details> carries one id; keep the four #sec-* ids exactly as [mobile][W2] Occupation pages: numbers-first verdict card + score-band doors (556 pages) #323 created them). If chapters need their own ids for the chip nav, use a separate namespace (e.g. chp-*) — these are the only new ids permitted, and they will legitimately appear in the internal-links baseline (regen per docs/SEO_OG_BASELINE.md, commit tests/baseline/*, note in CHANGELOG).
Sticky chip nav under the 48px top bar (top:48px, z-index below the top bar's 100): horizontal-scroll row of the seven titles; tap = open + scroll.
Defaults: mobile all chapters closed (この仕事とは open is an owner taste call at PR review). Content must remain fully present and indexable with JS disabled.
.ai-fact: complete text inside 出典と数字; if keeping its DOM position early while visually relocating is cheap, do it (§3.5); otherwise state plainly in the PR that DOM order changed.
Invariants
§3.5 (no deletion; JSON-LD/meta/H1 untouched). §3.1/§3.2. Chapter titles exactly as in Appendix A. No new GA4 events.
Acceptance
PR screenshots 390×844: /156 top (chip nav visible under top bar), one open chapter, and /430; desktop ≥1280 with all chapters open.
View-source check: all seven chapters' content present in initial HTML (paste a grep count in PR, e.g. FAQ question count unchanged).
bun run typecheck && bun run test && bun run verify:gates && bun run test:e2e green; capture:seo-baseline regenerated for the new chp-* ids and committed; check:csp-hashes recomputed for the extended _IdPageScript (hash value changes, no new entries).
Context (read this first)
previewAND the owner has reviewed it and opened this issue for work. Technical reason: this issue wraps the body around the anchor ids (#sec-aioisetc.) and the relocated type block that [mobile][W2] Occupation pages: numbers-first verdict card + score-band doors (556 pages) #323 introduces — [mobile][W2] Occupation pages: numbers-first verdict card + score-band doors (556 pages) #323 now guarantees the relocated block keeps its existing class names (.verdict-kicker/.verdict-task-grid/…), so you may rely on them; still grep its final position before moving it.jasonhnd/jobs→ mirai-shigoto.com. The occupation page body is 15+ stacked sections (~10 screens); 40s average engagement means most visitors read only the top.preview. Your PR targetspreview. NEVER push, merge, or open a PR tomain. Never trigger a production deploy. The owner reviews everything onpreviewand personally decides promotion.docs/MOBILE_SHAPES.md— §0, §3, §4.3 (this issue).mockups/shots/frame-03.png. Mockup font sizes are directional; §3.1 floors and existing site sizes win (e.g. chapter summaries ≥ the existing.faq-item summarysize, chip labels ≥12px).Scope — one template, 556 pages
src/pages/[...id].astro(wrap fragments into chapters + chip nav)src/pages/_id-css.ts(chapter + chip styles)src/pages/_IdPageScript.astro(extend the existing hashed inline script)Spec
<details class="chap">chapters, content byte-identical inside, per the §4.3 table:スコアの中身: scoreHistoryHtml,#sec-aiois(aioisHtml),#sec-ai-detail(aiRiskDetailHtml), profileHtml, topnHtml, the type block relocated by [mobile][W2] Occupation pages: numbers-first verdict card + score-band doors (556 pages) #323この仕事とは: ctx sectionなるには・資格: howSection, orgsCertsHtml待遇と働き方: condSection, StatsGrid似た仕事・移り先:#sec-transfer(transferHtml),#sec-similar(sameRiskHtml + legacyRelatedHtml)よくある質問: faqHtml (already<details>-based; nest as-is; pick a chevron style distinct from the inner FAQ markers)出典と数字: aiFactHtml (full text), JobtagAnchor, relatedHubsHtml, map-back linkNote this is a real reorder, not wrap-in-place: profile/topn/orgsCerts/StatsGrid/aiFact move across the current DOM order to reach their chapters.
<details>carries one id; keep the four#sec-*ids exactly as [mobile][W2] Occupation pages: numbers-first verdict card + score-band doors (556 pages) #323 created them). If chapters need their own ids for the chip nav, use a separate namespace (e.g.chp-*) — these are the only new ids permitted, and they will legitimately appear in the internal-links baseline (regen perdocs/SEO_OG_BASELINE.md, committests/baseline/*, note in CHANGELOG).top:48px, z-index below the top bar's 100): horizontal-scroll row of the seven titles; tap = open + scroll._IdPageScript.astro(static body; hash gets recomputed, no new hash entries): (a) on ≥900px setopenon alldetails.chapand hide chevrons via CSS; (b) on load and onhashchange, find the hash target, setopenon itsclosest('details'), then scroll — this makes [mobile][W2] Occupation pages: numbers-first verdict card + score-band doors (556 pages) #323's doors and the chips open the right chapter. Reconcile with the shared desktop-open snippet [mobile][W1] Rankings template: list-first first screen, fold intro/ai-fact/stats (39 pages) #321/[mobile][W1] Compare template: pinned two-name bar + metric rows (20 pages) #322 introduced (one shared pattern, not three copies).この仕事とはopen is an owner taste call at PR review). Content must remain fully present and indexable with JS disabled..ai-fact: complete text inside出典と数字; if keeping its DOM position early while visually relocating is cheap, do it (§3.5); otherwise state plainly in the PR that DOM order changed.Invariants
§3.5 (no deletion; JSON-LD/meta/H1 untouched). §3.1/§3.2. Chapter titles exactly as in Appendix A. No new GA4 events.
Acceptance
/156top (chip nav visible under top bar), one open chapter, and/430; desktop ≥1280 with all chapters open./430, low on/156, mid on any 5–6.9 occupation) open the right chapter and land correctly — manual check; fragment anchors are not covered byverify-internal-linksby design.bun run typecheck && bun run test && bun run verify:gates && bun run test:e2egreen;capture:seo-baselineregenerated for the newchp-*ids and committed;check:csp-hashesrecomputed for the extended_IdPageScript(hash value changes, no new entries).