Most-valuable-to-craft per profession page - follow-up D from #98 [depends on A, enhanced by C] #103
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The "most valuable to craft, per profession" page from the #98 design: a jobs-page-like layout leaning hard into the Supply-gaps signal, listing the highest-value things to craft for each profession. This is follow-up D, and it settles the open "what does valuable mean" question Kai flagged.
Depends on #98-A (the recipe -> skill mapping that gives the per-profession grouping). Enhanced by #98-C (true margin). Do not start until A has landed.
The definition of "valuable" (recommended on #98)
North star: margin-weighted opportunity = expected profit per unit x how much you can actually sell, shipped in two phases:
opportunity = market median unit price (market.py) x unmet demand qty (logistics.py supplyGaps.demandQty), boosted whenreason in {no_supply, thin_supply}, gated by a liquidity floor fromtrades.py byItemcurrency volume so one thin trade cannot top the board. Label it honestly as revenue, not profit.margin = median unit price - rolled-up cost. Same demand weighting. Now it answers the incumbents' real question: what earns the most to craft right now.The grouping by profession needs A's recipe -> skill mapping even for Phase 1, so the whole page is gated on A.
Scope & done
Model on
pages/Jobs.tsx: one section per profession/specialty, reuseRankListbars, reuse the supply-gap severity treatment (glyph + label + color, never color alone) for the "why this ranks" callouts. One heading tier, minimal prose. vitest tests. Updatedocs/FEATURES.md. Green onward exectest + lint. Full reasoning on #98.🔒 Reserved by
ward agent --harness codex— containerengineer-codex-eco-app-103on hostkais-macbook-pro-2.localis carrying this issue (reserved 2026-07-08T17:10:39Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (2h0m0s TTL);--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
run seed context — what this run is carrying (ward#609)
coilyco-gaming/eco-app#103· branchissue-103· harnesscodex· workflowdirect-mainengineer-codex-eco-app-103· wardv0.451.0· dispatched2026-07-08T17:10:39ZIssue body as seeded:
Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.451.0).
— Codex, via
ward agentWARD-OUTCOME: done - added the per-profession craft-value board on /jobs
The jobs page now ranks liquid supply-gap crafts by true margin, and the existing roster and progression flows stayed intact. The only friction was the frontend toolchain gap in this container, which I had to bridge with corepack before the ward test and lint gates could run. I am confident in the result, but the liquidity-floor threshold is still a heuristic worth tuning if live data feels too sparse.