Skip to content

Sprint 4 — Front Office Marathon (Codex handoff)#78

Draft
KevinBigham wants to merge 13 commits into
mainfrom
goal/sprint-4-front-office
Draft

Sprint 4 — Front Office Marathon (Codex handoff)#78
KevinBigham wants to merge 13 commits into
mainfrom
goal/sprint-4-front-office

Conversation

@KevinBigham
Copy link
Copy Markdown
Owner

Mission

Sprint 4 wires the four orphaned worker surfaces into a coherent Front Office experience, plus finishes the player-profile cross-linking that Roster / Free Agency / Minors already have:

  1. getOpenNegotiations() → new /negotiations route
  2. getNegotiation(id) → new /negotiations/:id detail
  3. getInteractivePressConference() → new surface (route or Press Room tab — Codex's call)
  4. getPlayerTradeValue(playerId) → new panel on Player Profile

Plus cross-linking gaps: Trade, Draft, News, Scouting, Stats all get clickable player names linking to /players/:playerId.

Format

Goal Packet v2.0 — single-mission contract. 12 sequential milestones, each independently shippable, each with its own commit + validation gate. Bonus Round section for if Codex closes early.

Built on

  • Sprint 3.5 (#77) at main 93b3f5b
  • No rebase needed — branched from current main

Non-Negotiables

  • Consumer-only — zero new worker methods
  • Save schema stays v33 — no contracts changes
  • Sprint 3.5 invariant: hard reload must continue to work at every new route
  • Bundle budgets must not regress

Handoff

This PR ships only the GOAL.md. Codex will produce the implementation. Claude Code (reviewer) will flip to ready + merge once Kevin approves in the morning.

🤖 Generated with Claude Code

claude and others added 13 commits May 14, 2026 21:22
Goal Packet v2.0 format. Marathon mission: 12 sequential milestones
wiring the four orphaned worker surfaces (open negotiations, negotiation
detail, interactive press conference, player trade value) into UI, plus
finishing the player-profile cross-linking across Trade/Draft/News/
Scouting/Stats. Includes a Bonus Round section for if Codex closes
Sprint 4 with time and quality to spare.

Designed to keep Codex working autonomously overnight: clear pause
conditions, autonomy rules, milestone discipline, evaluator-visible
proof via .logs/goal-progress.md, and a final STATUS.md handoff.

Built on top of Sprint 3.5 (PR #77) at main 93b3f5b. Consumer-only —
no new worker methods, no schema changes, no new dependencies.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Codex correctly paused under Pause Condition 1 because the original
GOAL.md asked for contract-negotiation fields (salary asks, offered
terms, deadlines) but getOpenNegotiations() returns TradeNegotiationView
(trade packages between teams) — fundamentally different shape.

Two false orphans removed:
- getOpenNegotiations / getNegotiation: trade negotiations, not contract
  ones. Rewritten as Trade Negotiations Inbox against the real shape.
- getInteractivePressConference: already wired in AppLayout.tsx:167.
  Milestone dropped entirely.

Real orphans preserved:
- getOpenNegotiations / getNegotiation → /trade-negotiations inbox + detail
- getPlayerTradeValue → panel on PlayerProfilePage
- 5 cross-linking gaps (Trade / Draft / News / Scouting / Stats)

Now 10 milestones (was 12). Inbox is read-only, deep-links into
existing TradePage builder via ?negotiationId=<id> query param.

Also preserves Codex's pause STATUS.md and .logs/goal-progress.md
entries as evidence trail.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

2 participants