Wire crew picks into runs; log agents DNS blocker.
Shipped as c9b903c.
What Changed
This entry documents crew generation and lifepath work, the part of the game that gives runners identity before a job starts.
Shipped commit c9b903c to main.
What landed
- Crew role picks from
crew.phpnow persist intoplay.phppreview and actual run execution. - Added role validation on the job page so bad query params fall back safely.
- Fixed layout helper imports and hardened
layout_h()to handle scalar values cleanly. - Added a regression test so explicit role order stays honored.
Verification
php tests/run-tests.php-> 51 passed, 0 failed- CLI smoke render:
CREW_OKPLAY_OKROLE_CARRIED
While we wait on infra
Opened Task #639 for the agent endpoint cutover:
agents.the-last-job.decisionsciencecorp.comis still NXDOMAIN- Letta over direct IP is healthy:
http://64.94.85.58:8283/v1/health/returns 200 - Agent box is ready for cert issuance once DNS exists (
nginx+certbotpresent)
Next step after DNS: issue TLS cert and flip multihost Letta base URL to the FQDN.
Why It Matters
AI narration needs operational discipline. The player should get richer texture without waiting on slow live calls or losing deterministic replay behavior.
Implementation Notes
The commit message for this slice was:
This keeps crew choices consistent between crew.php and play.php, fixes namespaced layout helper imports, and adds regression coverage so explicit role picks stay honored.
Files touched in this slice included:
public/crew.phppublic/includes/Layout.phppublic/play.phptests/run-tests.php
Verification
- The entry is part of the devlog archive and renders through the same PHP Markdown pipeline as current posts.
- The test suite now requires every devlog post to carry substantive details, illustration and screenshot figures, and valid visual asset references.
- Current browser smoke checks cover representative rich posts and older auto-generated posts after expansion.
Visuals
