Place Journey v2 — B4 · Local Need: Jobs + Services + Workers

The business track's wedge — the council's unanimous #1 reason users come. Governed by build/place-pages/master-plan/B4-brief.md + B-UX-PLAN §3-B4 (field/notification/card specs BINDING, followed verbatim) + DECISIONS #17 (voice v1 · privacy ON · expiry tiers · trafficking gate · equipment exception) · #19 (Message-first) · #22d (close = poster-only). The track's character: a Need is a printed notice, not a social post (L6) — apply = call/message, never a form, never a fee. Every number is measured (L7); every loop closes from the notification shade (L8); distance is place-based, never GPS. B4·A is the open owner fork (IA-1) — three home-entry variants side by side, trade-offs annotated honestly, Variant A recommended. Frames are English-only (owner review rule; cultural nouns romanized); B4·G is the one hi-locale reference.

‹ All screensB4·A¹ Fork: explore rail ★B4·A² Fork: feed spliceB4·A³ Fork: notification-onlyB4·B Need composerB4·C The Need cardB4·D Provider sideB4·E Worker profileB4·F Close loopsB4·G hi locale check
B4 · IA-1 fork · variant A ★ recommended

A — Explore rail: "Work near you" where people already hunt

THE OWNER FORK (IA-1, DECISIONS #17: B4 council brings frames + recommendation). Variant A puts a "Work near you" rail at the top of Explore/Search — jobs discovery lands where browse intent already lives, ONE tap from home. For: zero risk to the home timeline · browse is a pull surface (right mental mode for "what work is going?") · rail is server-toggleable per district · rail cards deep-link into the place Feed "Work" segment so ONE canonical job surface stays. Against (honest): Search is the app's 3rd tab — weaker daily footfall than the home feed; workers who never search never see it (C's notifications cover them). Below the rail beat: the BASELINE that ships in EVERY variant — place Feed tab segment chips "All / Work / Offers" (S6 chip pattern, §2 IA: zero new tabs; Need cards amber-striped within the same scroll).

3:42
••••
Variant A · Explore tab gains the jobs rail
Search Nyburs
Work near you5See all
Shop helper
₹300/day
Bheldi · 0.5 km · from Mon
2 masons
₹750/day
Rampur · 6 km · Thursday
Electrician
Ask rate
Bheldi · today · urgent
Rail = horizontal teasers (trade · ₹ · place+km · when — the card contract compressed). Tap → the FULL card in the place Feed "Work" segment; one canonical surface, no second jobs inbox. Rail renders only when ≥2 open Needs within block reach (L7: never a padded rail).
The BASELINE in every variant · place Feed segments
Overview
Feed6
Issues3
Communities
People
AllWorkOffers
Shop helperHire · daily work
₹300/day
From Monday · 6 days a week
Bheldi · 0.5 km from you
Ram Kirana Store · Kirana
Business
Open · 2 called via Nyburs
Never pay money for a jobReport
§2 IA locked: Need cards live INSIDE the place Feed scroll, amber-striped, behind the "Work" segment chip — never a new tab. This baseline ships regardless of which fork variant the owner picks; the fork only decides the HOME-SCREEN door.
B4 · IA-1 fork · variant B

B — Home-feed splice: strongest reach, heaviest precedent

One nearby Need card spliced 1-in-N into the HOME timeline (news-splice pattern; capped, dismissible-by-category). For (honest): the home feed is the only surface EVERY user sees daily — this is the strongest reach of the three, and the worker lens's original ask. Against (honest, the lead's flag): ⚠️ this brushes the timeline-deferral decision — the home timeline's composition is owner-territory under active policy (freshness caps, news Phase-1 splice slot already reserved); a SECOND splice class needs an explicit owner OK and a combined splice budget, or the feed becomes a notice-board. Mis-targeting also burns trust fastest here (a teacher shown mason work daily = ad-feel). If picked: respect serviceArea/trade matching where known, 1-in-8 max shared with news, one-tap "less of this".

3:42
••••
Variant B · home timeline, one spliced Need
RK
Rakesh Kumar@rakeshk
Bheldi, Saran · 2h
The new culvert near the school is finally done. Took 8 months but solid work.
143
Work near youWhy this? · Less of this
2 masonsHire · construction
₹750/day
Thursday · 1 day, maybe more
Rampur · 6 km from you
SY
Shambhu Yadav
Individual post
Open · 1 called via Nyburs
Never pay money for a jobReport
PD
Pooja Devi@poojad
Garkha, Saran · 4h
Haat was packed today — good winter greens this week.
81
⚠️ The honest cost: the home timeline already carries the news splice slot (Phase 1, reserved). A jobs splice means TWO system-content classes in the personal feed — that is a timeline-composition decision the owner holds, not a B4-council call. Splice label + "Less of this" are mandatory if picked.
B4 · IA-1 fork · variant C

C — Notification-only: precise, but you can't browse a push

No home-screen surface at all: matched Needs arrive as notifications only (the b4d matching pipe), browse lives solely in the place Feed "Work" segment. For (honest): cheapest to ship — the matching pipe is mandatory for ALL variants anyway; zero timeline risk; precision-first feels respectful. Against (honest — why this is the WEAKEST browse): notifications only reach providers with a matching trade/serviceArea ON FILE — day-1 workers with no profile get nothing, forever (cold-start death); a push is ephemeral — swipe it away and the job is gone with no place to re-find it from home; no serendipity ("mason work" never reaches the man who'd take 2 days of loading work). The worker lens's verdict stands: jobs discovery dies two taps deep — C alone re-creates exactly that. Viable only as a COMPANION layer (it ships inside A and B regardless), not as the answer to IA-1.

3:42
••••
Variant C · the shade IS the surface
Mason work near you
Mason · Rampur · 6 km · Thursday · 12 min ago · Individual post
Shop helper wanted
Helper · Bheldi · 0.5 km · from Monday · 3 h ago · Ram Kirana Store
Electrician needed today
Swiped away yesterday — gone. No home surface to re-find it.
The dimmed third push is the variant's own failure mode, rendered honestly: a dismissed notification has no home to return to. C's pipe ships in EVERY variant (it is b4d's matching delivery) — the fork question is only whether it is the ONLY door.
What C cannot do
No browse: "what work is going this week?" has no answer surface on the home screen.
Cold start: a worker with no profile yet matches nothing — and never learns the section exists.
Ephemeral: service-requests expire in 4–6 h — a missed push IS a missed job.
B4 · need composer

One composer, three needs — voice leads, privacy on top

Rides the S6 one-composer precedent. Beat ① type entry = 3 pictogram tiles Hire / Offer my work / Need a service (tap advances, b1 grammar). Beat ② service-request compose: PRIVACY toggle at the TOP, default ON (#17: "Only matching providers see this — not the public feed"; R5: the destination chip dims + carries the lock for the whole session) · voice-note record LEADS (L2: guided prompts on screen; transcript lands in fields below w/ field-level re-record) · rate ₹ prefilled from the trade's local going entry · date · place auto · SECOND-CONTACT field ("Second contact — who'll be at home?", provider-eyes-only behind the locked sheet) + auto remote-context label "Poster is in Gurgaon" (from registered city — THE migrant unlock). Beat ③ equipment variant (farmer spec: crop / dates / area in bigha; block-first reach, auto-expand to district if <3 operators — never state). Beat ④ post-confirm: real reach "Reached 47 people in Bheldi + block" (L7) + the zero-match honest line w/ auto-widen (R12).

3:42
••••
Beat 1 · What do you need? — tap advances
Hire
Helper · Mason · Maid — you pay
Offer my work
Mistri · Tailor · Driver — you earn
Need a service
Electrician NOW · Pump repair · Tempo
One Need post, three needTypes (B0 §4) — hire-job · seek-work · service-request. "Offer my work" routes into the b4e worker-profile flow when the worker has no card yet. Posted from a business page OR a personal account; no page required.
Beat 2 · Need a service — privacy on top, voice leads
Private request — ON
Only matching electricians get a notification — this never shows in the public feed.
To: matching providers only · not the Bheldi feed
Say what you need
recording · 0:11
What work? — "fan and house wiring"
When? — "today, before evening"
Anything they should bring?
Work neededfrom your voice note
Electrician — fan + house wiring
Re-say this part
Ratelocal going rate prefilled
₹400 · visit + work
When
Today
Place: Bheldi (auto — your home place, never GPS)
Second contact — who'll be at home?providers only · behind the locked sheet
Ramvati Devi (mother) · +91 98••• ••210
Auto-label: "Poster is in Gurgaon" — shown to responders
§3-B4 verbatim: the second-contact field is THE missing piece for migrant/remote requests — Santosh in Gurgaon books an electrician for his mother's house. The remote label comes from his registered city, never typed. An optional landmark line is disclosed only to responders (no address on any card, B0 §4 🚫).
Beat 3 · Equipment variant — harvester (farmer spec)
Crop
Wheat
Areabigha
3 bigha
Dates
14 – 16 April · flexible by a day
Reach: Garkha block first — widens to Saran district if fewer than 3 operators are notified
DECISIONS #17 equipment exception: harvesters/tractors TRAVEL — block-first, auto-expand district, never state. The Justdial-scar precision rule stays ABSOLUTE for human services; only machinery gets the wider ring. Crop/dates/area let an operator plan a route, not just a job.
Beat 4 · Post-confirm — real reach, honest zero
47
Reached 47 people in Bheldi + block
Matching electricians get a notification first, nearest first. We'll tell you when someone calls.
0
No matching electricians listed near Bheldi yet
We widened your request one step — to all of Garkha block. It stays private to matching providers.
L7: the number is the REAL notified count — zero never fakes social proof; the zero state widens ONE hop automatically and says so (R12). Service-request expiry tier = 4–6 h with a +2 h "still open?" nudge (b4f); hire/seek-work = 7 days (#17 — 30d was wrong).
B4 · the need card · contract

The card a mason reads in 3 seconds — field order is law

§3-B4 field spec VERBATIM, visible untapped, in order (worker lens — contractual): ① trade BIG ② ₹ rate BOLD ③ when ④ place + km (place-based distance from the registered village, never GPS) ⑤ poster identity — business badge w/ name+category OR "Individual post" + new-member chip (the thekedar filter: poster TYPE always visible) ⑥ still-open dot + responder count ⑦ small fraud footer. SHARE button mandatory (Priya's family-vetting path: WhatsApp card forward, number hidden — R7). Card = S7 issue-wrapper variant (R2): s7post shell + amber stripe, but the social header is deliberately broken — no avatar-first, no like/comment/views (L6 printed notice). Amber placement per the binding spec: full-screen interstitial ONCE at first Jobs entry + small footer line per card; the FULL banner only on a fraud-signal post (banner blindness + section-fear otherwise). Images FORBIDDEN on Need cards (§5 2G + address protection).

3:42
••••
One-time safety interstitial · first Jobs entry only

Never pay money for a job

No real job asks for a fee, a deposit or "registration money" — not before, not after. If anyone asks, report the post; we remove it and warn others.

Shown ONCE, full-screen, at the first Jobs entry — then never again (banner blindness). After this, every card carries only the small footer line; the FULL banner returns ONLY on fraud-signal posts (below). The warning string ships in ARB, all 12 locales, offline (§6).
Card 1 · business poster — Ram Kirana Store
Shop helperHire · daily work
₹300/day
From Monday · 6 days a week
Bheldi · 0.5 km from you
Ram Kirana Store · Kirana
Business
Open · till Monday · 2 called via Nyburs
Never pay money for a jobReport
The contract, top to bottom: trade(18/800 + glyph) → ₹(22/800) → when → place+km → poster (business badge = name + category + verified-style chip) → open dot (L4 green = fresh) + MEASURED responder count (call-taps are the north metric, so "called" is honest, L7) → fraud footer. SHARE forwards a number-hidden card image to WhatsApp (#17 share-OUT).
Card 2 · individual poster + new-member chip
2 masonsHire · construction
₹750/day
Thursday · 1 day, maybe more
Rampur · 6 km from you
SY
Shambhu Yadav
Individual post New member
Open · 1 called via Nyburs
Never pay money for a jobReport
Poster TYPE always visible — direct employer vs individual is the worker's thekedar filter. The new-member chip is a fraud shield (B0 §4), not a shame mark: amber, factual, disappears with account age. Distance reads from REGISTERED village centroids (#22a) — "6 km" is centroid-to-centroid.
Card 3 · fraud-signal post — the FULL banner's only home
Hotel staff — DelhiHire · outside the district
₹18,000/month
Delhi · far from your block
VK
Vikas K.
Individual post New member
Be careful with this post. Far-away hotel work from an unverified individual is a known scam shape. Never pay money, never hand over documents. Report if anyone asks.
Never pay money for a jobReport
The trafficking category gate (#17) means domestic/nursing/hotel/"abroad" work is postable ONLY from a verified business page — this individual post sits in the admin queue; if it renders at all pre-review it carries the FULL banner (net-new widget #4) and seekers see b4d's "under review" state on tap. Advance-fee mentions hard-block at submit.
B4 · provider side

Manoj's phone buzzes — nearest first, facts only

Matching delivery (§3-B4, Ravi's spec): Need(category) → providers whose trade + serviceArea match — NEAREST notified FIRST, others +2–3 min stagger (the early-bird advantage rewards proximity, the stagger stops a 12-phone pile-on). Notification line order EXACT and BINDING: trade · village NAME · km · urgency · age · poster chip — never the full post text. The request screen puts the still-open banner + responder count BEFORE the contact buttons (a dead or crowded job must be visible before the dial, not after) — contact ladder per #19: Message primary, Call via the locked sheet, WhatsApp inside the sheet only (R6). Third beat: the gated-post seeker state — queued/trafficking-gated posts show "Under review — don't contact yet" (the E2E safety gap, closed).

3:42
••••
The match notification · binding line order
Mason work near you
Mason · Rampur · 6 km · needed Thursday · 12 min ago · Individual post
trade → village NAME (Rampur, not "6 km away" alone — Manoj knows Rampur) → km → urgency → age → poster chip. No rate, no name, no post text in the push — the screen earns the tap. Manoj (2 km nearer) got it at :00; the next mason at :02 (stagger).
The request screen · banner + count BEFORE the buttons
Still open · poster confirmed 20 min ago
1 mason has called already — you'd be second
2 masonsHire · construction
₹750/day
Thursday · 1 day, maybe more
Rampur · 6 km from Sitamarhi
SY
Shambhu Yadav
Individual post
Never pay money for a jobReport
R6: the still-open banner + "1 called" sit ABOVE both CTAs (§3-B4 binding order). Message = Nyburs enquiry w/ the Need auto-attached (#19, b2g machinery 1:1); Call opens the locked Call·WhatsApp·Copy sheet — the number itself never renders. Manoj sees the second-contact ("Ramvati Devi at home") + "Poster is in Gurgaon" ONLY inside that sheet.
Gated post · what a seeker sees during review
Under review — don't contact yet. This post is being checked by Nyburs. We'll notify you if it's cleared.
Trafficking-gated and report-queued posts NEVER expose contact while in review (the flow-walk safety gap, closed). CTAs render disabled, not hidden — the state is explained, not mysterious. Clearance or removal both push an outcome (L8).
B4.5 · worker profile

Manoj's visiting card — recorded in his own voice

The dignity test governs every pixel: a visiting card, not a begging bowl. Manoj is a professional with 15 years of work — the card says what he does, what he charges, and that he's available; it never says "looking for work", never pleads. Record flow = voice-first, 5 on-screen prompts (§3-B4: guided cues), transcript lands in fields w/ FIELD-LEVEL re-record chips (L2: transcription errors are fixed by saying it again, never "type to correct"). Published card: trade badge · years as a CREDENTIAL · professional day rate · serviceArea · Available toggle (pulse dot, same state machine as B2 available-now — R8). Directory home = People tab "Workers" segment (S9 person-row + chips, §4 reuse). The maintenance hook is the human signal, ≤1/week: "One person viewed your card · Rampur" (L7 viewed-honesty — viewed, never "called" unless measured).

3:42
••••
Record flow · 5 prompts on screen, voice leads
Tell people about your work
answer in your own words — we fill the card
What work do you do? — "mason, plaster and brickwork"
How many years? — "15 years"
Your day rate? — "₹700"
Which villages do you work in?
Free now, or from when?
Day ratefrom your voice
₹700/day
Re-say this part
Each field carries its own re-record chip — a wrong "₹700→₹200" transcription is fixed by SAYING it again (L2). The voice note itself stays on the card as a play tile (≤30 s, async transcription, §5). serviceArea picker = the b1c nearest-first checklist 1:1.
The published card · the dignity test
MK
Manoj Kumar
Mason · plaster & brickwork
15 yrsexperience
₹700per day
Sitamarhi+ 11 villages
Available
shown on your card while ON
The test, applied: trade badge FIRST (he is a mason, not a job-seeker) · 15 years rendered as a credential cell, equal weight with rate · "Available" is a professional status (a doctor's "in clinic"), not "unemployed" · rate is HIS price, stated plainly · no plea line, no "hire me", no completeness score (L9). The locked sheet guards his number like any business (L5/B8).
People tab · "Workers" segment (S9 row + chips)
AllWorkers
MK
Mason · 15 yrs · ₹700/day
Manoj Kumar
Available · Sitamarhi + 11 villages
PD
Tailor · 8 yrs · ₹350/day
Priya Devi
Last seen this week · Bheldi + 6 villages
§2 IA: People tab gains the "Workers" segment — no new tab. Row = S4/S9 anatomy: role line carries trade + years + rate; sub-line = availability (L4 staleness grammar: pulse = now, "this week" = amber tier). Row action = Message (#19) → profile card on tap.
The human signal · ≤1/week, measured (L7)
One person viewed your card
from Rampur · this week
Viewed, never "called" unless calls are measured (they are — but the card-view signal fires on views). One real human signal beats ten engagement nudges; zero views = NO notification, never "0 people viewed" (L7).
B4 · close loops (L8)

Four loops, zero in-app navigation

L8 binding: every loop closes from the notification shade."Still open?" — inline YES/NO on the +2 h nudge (service-request tier; jobs get it day 3 of 7). NO closes the post; silence lets the expiry tier do it (#22d: close = POSTER-only — providers never close, R10). ② "Found someone — close" + the optional "who did the work?" pick (R11: one-tap skippable; feeds village-level operator proof — "2 Bheldi households hired him" — never names). ③ 24 h no-response → reach-expand offer ("Show to nearby villages?") — one tap widens ONE hop, mirrors the composer's auto-widen. ④ scam report = 2 taps (flag → the one option "Asking money for the job" → submitted) + the 24 h outcome push w/ social proof: "Removed — 3 others reported it too" — the report loop that earns the next report.

3:42
••••
Loop 1 · still open? — inline YES/NO
Is your electrician request still open?
Posted 2 h ago · 1 called · expires in 4 h if no answer
The confirm tap kills fake-post fuel waste (B-PHASES #4): a YES re-greens the still-open dot for every provider; a NO closes instantly. Expiry tiers backstop silence — service-request 4–6 h, hire/seek-work 7 d (R9: tiers render as quiet facts on the card, never countdown alarms).
Loop 2 · found someone — close + optional who
Found someone — close this request?
MK
Manoj KumarMason · called you Tuesday
RY
Raju YadavMason · called you Tuesday
?
Someone else / skipclose without saying who
#22d: ONLY the poster sees this. The "who" pick is optional and pre-listed from actual responders (R11) — picking Manoj feeds his village-level proof line ("2 Bheldi households hired him"), never a named review (reviews boundary, B0 §7). Skip costs nothing.
Loop 3 · 24 h no response — reach expand
No one has called yet
Your helper post reached 47 people in Bheldi + block · 24 h
One tap widens ONE hop (block → adjoining villages) — the same single-hop grammar as the composer's zero-match auto-widen (R12). Never silently widened: reach is the poster's decision after day one. Reach cap stays village+block (#17) — district flood never offered.
Loop 4 · scam report — 2 taps, then the outcome
Report this post
Asking money for the jobfee · deposit · "registration"
That post was removed
3 others reported it too. Thank you — reports like yours keep Jobs safe.
Flag → ONE option → submitted: two taps, zero typing (the §3-B4 report loop verbatim). The 24 h outcome push with social proof is what makes the SECOND report happen — a report that vanishes into silence is the last report a user files (L8).
B4 · hi locale check

hi reference — the composer, end to end

DECISIONS #8: one language per screen — this frame renders B4·B's service-request composer fully in the hi locale as a translation check, NOT a design pattern (chosen because the composer is B4's string-heaviest screen). It carries the §3-B4 binding Devanagari strings verbatim: the privacy explainer "सिर्फ़ plumbers को notification — feed में नहीं" (trade word stays Latin-romanized in the binding string) · the second-contact label "दूसरा संपर्क — घर पर कौन मिलेगा" · the reach line "47 लोगों तक पहुंची". Devanagari titles use the .sp-hi metrics (21.5/700); body strings ride Noto Sans Devanagari from the shared stack. Proper nouns (Bheldi, Gurgaon) stay Latin per the S1·F precedent.

3:42
••••
क्या काम चाहिए?
निजी अनुरोध — चालू
सिर्फ़ plumbers को notification — feed में नहीं
सिर्फ़ मिलते-जुलते कारीगरों को · Bheldi feed में नहीं
बोलकर बताएं क्या चाहिए
रिकॉर्डिंग · 0:11
क्या काम? — "नल ठीक करना है"
कब चाहिए?
कामआपकी आवाज़ से
Plumber — नल की मरम्मत
फिर से बोलें
मज़दूरी
₹300
कब
आज
जगह: Bheldi (अपने आप — GPS नहीं)
दूसरा संपर्क — घर पर कौन मिलेगासिर्फ़ कारीगर देखेंगे
रामवती देवी (माँ) · +91 98••• ••210
अपने आप जुड़ेगा: "मालिक Gurgaon में हैं"
47
47 लोगों तक पहुंची — Bheldi + block
जब कोई call करेगा, हम बताएंगे।
Binding strings verbatim from §3-B4: the privacy explainer keeps "plumbers / notification / feed" Latin inside Devanagari (code-mixed register is the spec, not an accident); "47 लोगों तक पहुंची" is L7's canonical reach line. All other UI = structural ARB strings.

B4 position in the track: the WEDGE — B1 gives it accountable accounts, B2 helps matching, but B4 runs lean without either. Flow: home-entry door (IA-1, owner picks) → place Feed "Work" segment (the canonical surface, every variant) → Need composer (voice-led, privacy-ON service requests) → contractual card → match notification (nearest-first stagger) → request screen (still-open + count before contact) → close loops from the shade. RULING LOG (R1–R12, full text in the header comment): R1 IA-1 recommendation = Variant A explore rail (B = strongest reach but brushes the owner's timeline-deferral territory — flagged, not buried; C = weakest browse, viable only as the companion layer it already is) · R2 Need card = S7 shell, contractual §3-B4 field order, social header + action row deliberately broken (L6) · R3 .b4-ktile/.b4-inp/.b4-mic/.b4-tg re-declare b1/b2 file-local patterns 1:1 for lead consolidation · R4 Need amber rides the existing --s7-amber theme pair, no new token · R5 privacy lock = the destination chip dims + locks for the whole composing session · R6 request-screen ladder = #19 Message-first; the §3-B4 "before the call button" order binds banner+count above BOTH CTAs (same fork-shape as P1-8 — lead's eye) · R7 SHARE = quiet bordered pill, number-hidden WhatsApp card forward (#17 share-OUT) · R8 worker Available = the approved pulse-dot, one state machine grammar with B2 available-now · R9 expiry tiers = quiet L4 facts, never countdowns · R10 close control poster-only (#22d) · R11 "who?" pick optional + skippable, feeds village-level proof, never names · R12 zero-match honesty + one-hop auto-widen on the confirm screen itself. en UI strings (binding set): "All / Work / Offers" · Hire / Offer my work / Need a service · "Only matching electricians get a notification — this never shows in the public feed" · "Second contact — who'll be at home?" · "Poster is in Gurgaon" · "Reached 47 people in Bheldi + block" · "Never pay money for a job" · "Under review — don't contact yet" · "Still open?" YES/NO · "Found someone — close" · "Show to nearby villages" · "Removed — 3 others reported it too" · "One person viewed your card · Rampur". hi equivalents live in b4g only, carrying the §3-B4 binding Devanagari verbatim. Net-new widgets used: 3 of the approved 4 (voice tile · pulse dot · fraud banner; the mandi sparkline is B5's). App-only/build-phase (cited, not designed): matching fan-out Need(category) × serviceArea regionIds + centroid km (#22a) + nearest-first stagger queue · async voice transcription, search-indexed · trafficking gate = server category×poster-type rule → admin queue · advance-fee string hard-block · expiry schedulers (4–6 h / 7 d) + still-open nudges · WhatsApp share card = rendered number-stripped image · trade labels = server-driven domain vocabulary (§6) · fraud warning = ARB, all 12 locales, offline. For the lead's gate: ① the IA-1 fork needs the OWNER's pick from B4·A (recommendation = A) ② R6's Message-vs-Call weighting on the request screen rhymes with open fork P1-8 — settle both together ③ if Variant B is picked, the combined home-feed splice budget (news + jobs) is an owner decision before build.