Predator Fleet Status

source FLEET-STATUS.md · assembled 2026-10-21 03:59Z · rendered 2026-10-21 04:00Z · 80.2 KB

Lane freshness

iii0d2026-10-21
iv0d2026-10-21
i-og19d2026-10-01
ghost38d2026-09-12
v76d2026-08-06
ii82d2026-07-30
vi82d2026-07-30
vii82d2026-07-30
djbooth87d2026-07-25

7 of 9 lanes have not been updated in over two weeks. The document reads as one piece, so a stale lane is invisible inside it. That is what this table is for.

๐Ÿฆ– PREDATOR FLEET โ€” LIVE STATUS BOARD

This is the canonical fleet status. It lives on the shared drive so EVERY agent can edit it. The pretty dashboard (artifact URL below) is rendered FROM this file by OG โ€” keep THIS current and the dashboard follows.

HOW TO UPDATE YOUR LANE (race-free, 07/22): the board is now assembled โ€” edit ONLY your own file board/lanes/NN-<lane>.md, then run pwsh G:\X3Native\fleet-handoff\board\assemble.ps1 to regenerate this page. No two agents ever touch the same file โ†’ the concurrent-edit clobber is gone (no more "file changed since read" fights). Leave a โ€” updated <MM/DD> by <who> stamp. Still works: post to Slick and OG folds it in. Do NOT edit FLEET-STATUS.md directly โ€” it's generated.

Dashboard: https://claude.ai/code/artifact/743f0450-4bd3-4be3-a5fc-20e017601189 (built by V โ€” renders from THIS file; edit your block + ping to republish) โšก RESUME AFTER REBOOT: all 7 come back via C:\gamedev\RESUME-FLEET.bat (one click) or RESUME-ALL-PREDATORS.md here on the drive. All 7 share cwd C:\gamedev; resume by FULL id. Last board refresh: 2026-07-22 by Predator V


๐Ÿ”ฅ THE VERDICT

EMPIRES OF SHADOW: NATIVE IS A REAL CAMPAIGN (Tim greenlit 2026-07-18). Predator II's native spike cleared the convene bar by 22ร— on a 1080 Ti (509.0 vs 22.8 FPS, seed-200, 1600ร—900, canonical orbit; 0 Vulkan validation errors, VMA leak-free, 25.7k instances โ†’ ~31 draws).

The thesis (Tim's ruling): the web build is the PROVING GROUND, not disposable. The sim is renderer-free by contract (Q16.16 / mulberry32 / no render imports in /src/sim /src/core) โ†’ all game logic ports to native as-is. Models/textures (GLB) load into either pipe. NATIVE-SCENE-FORMAT.md + the EoS exporter are the bridge. Every system below is native-campaign content the day the loader eats real art.


๐ŸŽฎ NATIVE BENCH (X3Native EoS grey-box, 1080 Ti, tier-1 of the ladder)

Resolution X3Native FPS Frame Notes
1600ร—900 509 (P2 quiet) / 280 (OG loaded) 1.97 / 3.57ms vs 22.8 browser = 22ร—; the gap IS the CPU load
2560ร—1440 192 (OG loaded) 5.20ms CPU-contended floor
3840ร—2160 (panel) ~71 (OG loaded floor) 14.1ms 1080 Ti does ~4K60 not 4K120 โ†’ 5070 Ti earns its slot

Honest caveat (OG 07/18): the sweep ran with 81 fleet procs live โ†’ CPU-gated, conservative floors. Scene = black-forest seed 200, 25,647 instances (25,056 trees), 452 units, HZB-culled, VMA leak-free. SAC BLOCKER CLEARED: Smart App Control (post-update) was blocking unsigned native builds; Tim killed it. Next: clean quiet-box + 5070 Ti 16GB re-sweep (the new card's first job).


๐Ÿบ THE PREDATOR ROSTER

(anchor on LANE, not number โ€” numbers churn across reboots)

[I / OG] โ€” bb6e9a19 (Opus 5)

STATUS: ๐ŸŸข active โ€” integration + deploy ยท the ART QUALITY SWEEP ยท fleet forensics

โ€” APPENDED 09/20 by OG. Seven weeks of merge-train work that never reached this board. Appended, not rewritten, per my own lesson above.


10/01 - OG - the pager could not see a 27-second reset

THE CRASH. PREDATOR14900K reset itself on 09-23, and the event log mis-dates it by ten minutes. Event 6008 says "unexpected shutdown at 1:54:20 PM"; the thermal log sampled continuously from 13:00 through 14:04:13.9 with no gap over 20 seconds, and the kernel booted at 14:04:41. So the box was dark for 27 seconds, not ten minutes, and 13:54 is a stale stamp. Conditions at the last sample: 3.09% load, 28C, 27.9 W, 0.73 V - dead idle, which is the whole C-state signature. It survived a soak at 99.96% and 100C. Load is not what kills this box; idle is. Fifth unclean event since the C6 BIOS limit (08-05, 08-13, 09-03, 09-15, 09-23), WHEA clean every time. The RMA is still unfiled and the evidence is now as good as it will ever get.

WHY NOTHING PAGED. The watcher only asked "has this host gone QUIET for 15 min?" A 27-second reset never goes quiet. Lowering the threshold does not fix that - it trades one blind spot for false pages on slow share reads. A reset is not a silence, it is a NEW BOOT. heartbeat-beat.ps1 has published bootUtc all along; the watcher read it only inside the DOWN->UP branch, i.e. exactly the branch a short reset never reaches. It now compares bootUtc every cycle and pages on change. Fires at most once per boot, never on a first sighting, and holds the old stamp if the send fails so the next cycle retries. Proven on a four-cycle harness including the repeat case.

A REAL BUG FOUND WHILE TESTING, NOT MINE. $LABEL (the friendly-name map) and the host loop's $label = Get-Label ... are THE SAME VARIABLE - PowerShell is case-insensitive. The first host overwrote the map with a string; every host after it threw does not contain a method named 'ContainsKey' and fell through to the role-based name. On every production cycle, invisibly, because the error goes to stderr and the hidden .vbs shim drops it. Renamed to $FRIENDLY. It hides from testing: any single-host run passes. It only appeared when I pointed a test at the real multi-host beat dir. Test this watcher with more than one beat file.

STATE. PREDATOR14900K patched and live (the task launches the .ps1 by path, so overwriting the file is enough - no re-register). Staged to G:\X3Native\fleet-handoff\heartbeat\. **P13700 is NOT done, and it is the watcher that sees PREDATOR14900K reset** - WinRM is off there and its admin shares are unreachable from this box, so one copy has to be run on P13700 itself. Command is in the runbook.

FLEET NOTE. DJBOOTH declared a RENDER FREEZE on src/render pending the v0.14 Witcher train. That train never landed and the lane has not been awake since 07-25, so the freeze is lapsed, not live policy. It should not be inherited by accident by III's grime work, IV's interiors, or VII's alpine bands.

[II] โ€” Predator II (lineage aa7eff00 โ†’ now running as session df284d01; identity is LINEAGE, not session id. II = the X3Native eos-scene-loader author.)

STATUS: ๐ŸŸข active โ€” the Character Arena (gallery) + render fidelity

NEW LIVE โ€” CLUB 1127'S GRAPHICS, PORTED INTO THE GALLERY (index-DybqMNU7.js). Tim: "look at the latest version of club 1127 on X3Native and see the graphics techniques.. make use of all of them in the Gallery!" Source read: origin/feat/club-lns-polish:app/club1127.cpp (3002 lines โ€” its comments are a tuning bible, mine them). Landed:

TWO BABYLON TRAPS worth the whole fleet's attention (both cost real rounds):

  1. Babylon binds lights in RENDER-PRIORITY order and TRUNCATES at maxSimultaneousLights โ€” it does NOT pick the nearest. The bronze wing's dedicated key spots were doing literally nothing. Every hall light now declares a priority.
  2. useRoughnessFromMetallicTextureAlpha defaults TRUE and beats green โ€” every roughness map silently pinned to 1.0 (matte floor, dead ashlar, glintless bronze) while the maps were perfect.
  3. Bonus, 4 rounds old: a Babylon box maps U to its HEIGHT on the ยฑX faces โ€” the wall was cramming 410 courses into 6.2u. Same transposed-UV demon as the old "planks" floor; it had a sibling.

THE AGARKOVA PAIR ARE IN (Woman_with_cap + Beard_man, head of Wing II). DOC CORRECTION โ€” the fleet's recorded diagnosis was WRONG: NEXT-PASS-VILLAGER-RECAST.md blamed "broken texture-embed after draco decode." False. The GLBs carry 3 body textures only; every garment material ships with no texture at all, and the armory source is identical. Nothing was lost โ€” the maps never existed, and no relink was ever going to work. They are now AUTHORED (hand-valued PBR garments per the granite law, painted iris via src/render/iris-texture.ts). Notes: the "black eyes" were the Lashes mesh (a closed lid shell built for an alpha map that never shipped, benched); the catchlight is deliberately NOT painted โ€” a baked dot is a sticker, so the cornea is authored wet and the hall's own keys make a glint that TRAVELS. Both galleryOnly: true, proven off the game path.

ALSO LIVE since 07/22: Arena round 4 (bronze wing, crimson runner, wing-title banners, + the end arch that had NEVER rendered โ€” back-face culled since birth, the "green smudge" was its orphaned light on brick); the movement suite (Shift run / Space jump / C crouch / arrow tank-turn / RMB-forward); ?arena direct launch + desktop shortcut; pointer-lock fix (the ?arena boot-time lock request is refused for want of a user gesture โ€” that refusal used to poison the session into permanent fallback before the visitor ever clicked); cursor hidden over the gallery; the QUALITY POLICY (classifyGpu: strong GPUs boot High with the FPS auto-scaler INERT + F4 "Render quality" row with live tier + manual pin).

IN FLIGHT: Agarkova animation charter โ€” both rigs ship ZERO clips (93 / 117 joints, Auto-Rig Pro convention). Using the sibling lane's tools/fk-retarget.mjs (convention-agnostic full-FK โ€” the ONE approach that survives the ~90โ€“170ยฐ bone-roll disagreement; name-mapped delta retargets spike the legs). Role maps + a mid-cycle QA harness committed (tools/agarkova-anim-proof.mjs) โ€” rest-adjacent sampling false-passed an exploding rig at 1.163, so mid-stride proof is mandatory. Live problem: a 56ยฐ clavicle rest-correction fixes the arm tuck but collapses the shoulder line; likely answer is a damped, not deleted, correction.

NEXT: land the Agarkova clips (or honestly leave the failures frozen โ€” a sheared exhibit is worse than a still); Tim's eyes on the gallery's new lighting; far-hall warm-dark dial.

LANE NOTES FOR THE FLEET

[III] โ€” b5c578ba (Opus 5.5) ยท restarted 10/20 ยท was 6507f293, whose transcript was lost to the 30-day cleanup

STATUS: ๐ŸŸข active โ€” THE SUBSTRATE AGE IS ON MAIN ยท tonight (Tim, 10/20): robot army ยท bigger Town Centers ยท Cyber HQ ยท dystopian pass ยท sounds

[IV] โ€” 5fc7e0f1 (per identity ruling docs/fleet-dashboard; old id aa7eff00 retired)

STATUS: ๐ŸŸข active โ€” WATER (unseen/dry-land/underwater/dive) + castle interiors

10/20 โ€” RESTARTED as session dfd52c90 (Tim confirmed). 5fc7e0f1's transcript was lost to the 30-day cleanup; the work wasn't. Re-checked against origin/main 45e7b481 (10-13). Corrections to the text below:

09/09 โ€” WebGPU water shaders FIXED, and the cause was a comment. All three water assemblies (epochsWater, epochsWaterUltra, epochsWaterUnder) failed glslang on WebGPU. Root cause: Babylon's WebGPU GLSL processor scans raw source LINE BY LINE and lifts any line starting uniform <a> <b>; into the effect's shared LeftOver uniform block โ€” comments are NOT stripped first. One prose line in the dry-land guard's own explanation began "uniform control flow");", so Babylon declared a uniform of type control named flow") and glslang answered ERROR: 0:26: '' : syntax error, unexpected IDENTIFIER. Because LeftOver is shared across stages, the corruption landed in the VERTEX shader of every water effect. On WebGL it is an inert comment โ€” invisible until WebGPU boots. Fix is a reflow: zero GLSL characters changed. tests/render/shader-uniform-poison.test.ts applies Babylon's own regexp to every source line and guards the whole class. Measured live on Dawn/Blackwell: glslang failures 4 โ†’ 0, materials ready 73/368 โ†’ 368/368. โš ๏ธ FLEET-WIDE: any lane authoring GLSL in a TS template literal can do this. Two rules: no line may start with the word uniform unless it declares a real GLSL type, and never a backtick inside the literal.

WebGPU still presents a BLACK frame โ€” separate defect, NOT water, unowned. Evidence: with water compiling, the scene draws nothing even into an offscreen RTT (186 meshes, 86 draws, 0 non-black px), so it is not the swapchain. Two validation errors survive at frame 0: (a) "Vertex attribute slot 5 โ€ฆ not present in the VertexState" + "Attribute shader location (1) is used more than once", and (b) "uniform buffers (13) in the Vertex stage exceeds the maximum per-stage limit (12)" โ€” a 9-light material; the Blackwell adapter's ceiling IS 12 and cannot be raised, so the cure is โ‰ค8 lights per material (Material+Scene+Mesh+ LeftOver eat 4). Instruments live in tools/_wgpu-{census,glslfail,ubo,water-ab,black-triage}.mjs.

feat/unseen-water โ€” unshipped, awaiting Tim. Unseen-water gates, dry-land discard, underwater look, the dive, and now the WebGPU fix. 2894 tests green. Two decisions are his: the โ‰ค2-tile dry-land collar sign-off, and whether to merge.

IN FLIGHT โ€” feat/grand-castle-interior: scale the interior to THE GRAND CASTLE. Someone shipped e227a58 "THE GRAND CASTLE โ€” a 20 wu keep on a 21ร—21 footprint" + 6fdf86b (garrison mans the turrets/decks). Measured mismatch: exterior is a tall SQUARE keep; my interior is 17ร—11 cells @ CELL=2 = 34ร—22 wu, low and rectangular. Tim: "We already HAVE AN INTERIOR... just need to make it GREAT AGAIN" / "Castle, when you walk in the door." So: scale + re-site, do NOT redesign. Every approved space is preserved. The arrival frame is the acceptance gate. Also fixing two inherited bugs in that lane: the wood-floor swap caps the stairwell shaft (stair climbs into a plank lid โ€” a lid and a hole are both failures), and a cropXZ01 zero-vertex mesh throwing Setting vertex data 'position' with an empty array. A Fable art-director spec is landing at docs/design/GRAND-CASTLE-INTERIOR-SPEC.md as guidance.

BRANCHES PARKED ON ORIGIN (all pushed โ€” nothing lives only on one box):

REVIEW URLS (work from anywhere โ€” Tim travels to Michigan 4โ€“5 days from 07/28):

FINDINGS OTHER LANES SHOULD KNOW (cost real time โ€” don't re-pay):

  1. glTF PBR materials CANNOT read the hall's uHallLights fake-anchor array. A dedicated rig exists (hemispheric fill + one point light per hearth anchor on the same clock, swapped meshes excluded from other lights, maxSimultaneousLights capped at 4 or the shader blows GL_MAX_VERTEX_UNIFORM_BUFFERS). Reuse it โ€” never build a second.
  2. Measure model bounding boxes at load; never trust filename units. A "ruined floor" asset whose slabs spread over 0.29 of its depth rendered BLACK when grounded on its bbox top; fix was the walking line at the 75th percentile of up-facing verts.
  3. ~Half the armory's GLBs are mesh-only โ€” textures were lost in Unity conversion. The ~5 MB variants carry PBR; the 44 KB ones don't. Verify maps before picking an asset.
  4. WebP q94 โ‰ˆ 55% smaller at ZERO resolution loss, decoded natively by Babylon (EXT_texture_webp). Never downscale first. Draco needs a decoder this project doesn't register โ€” don't add it for one asset. (73 MB castle kit โ†’ 15 MB.)
  5. __APP_VERSION__ is baked from git rev-list --count HEAD in whichever worktree ran the build โ€” so a version reading higher than main just means the build came from a branch with extra merge commits. Verified prod = 574900d = 770 = v7.70, a real main ancestor. No stale deploy; the earlier 8.80 alarm was unfounded.
  6. VERIFY THE PREMISE ON CURRENT MAIN BEFORE FIXING ANYTHING. Tim reviewed on a 22-commit-stale agent worktree and reported already-fixed bugs; it cost two agent dispatches. Give him a preview of real origin/main, not a lane's dev server.
  7. Meshy pit-head towers are Tier 2 / Castle Age + metal-gated โ€” absent at Age I by design, not a regression.

[V] โ€” 01e7d1dc

STATUS: ๐ŸŸข active โ€” living world + economy + THE SOUL

2026-08-05 20:12 โ€” LANE HANDOFF: AI ECONOMY COLLAPSE (open, mine)

Claimed the standing unowned bug from OG's handoff: "AI economy stalls at min 20 (why balance runs time out 100%)." It is real and worse than a stall. Over a 12-minute headless match the AI economy dies: villagers 3 -> 6 and then BACKWARDS (P1 peaks 7, falls to 6), food 0, wood 20, both players still Age I with ageBlock "cannot afford the advance cost", 8 houses + 1 lumber camp + 1 farm total.

Branch fix/ai-economy-collapse @f5c8516 โ€” pushed, tsc 0, AI+economy 429 pass. Carries tools/ai-econ-probe.mjs (per-sample age/villagers/bank/ageBlock/building census โ€” the balance report only samples totals and cannot say WHY) and a genuine 4x defect: the AI seated ONE villager per farm where the sim seats FARM_STAFF_CAP = 4. That fix cured nothing โ€” the 12-min match is byte-identical after it, because P1 never builds a farm at all. Kept on its own merits, not as the cure. Also disproved: gold/stone at 0 is BY DESIGN (Age-I distribution is food 70 / wood 30), not a bug; and the collapse predates my Scholar + Architect.

Open question for the next pass, and it is the sharp one: 3-6 villagers over 12 minutes should bank ~a thousand food and bank NOTHING โ€” so they are idle, thrashing, or never assigned. Full handoff with the ordered next measurements: G:\X3Native leet-handoff\V-NOTE-ai-economy-collapse.md

Worth flagging to whoever owns pathfinding: OG's FOREST_TILE_COST heuristic fix landed this week. Villagers unable to path to food would look EXACTLY like this. That seam gets checked first.

[VI] โ€” 6671da85

STATUS: ๐ŸŸข active โ€” THE CHARACTER PIPELINE: warden + wizards shipped ยท modular wardrobe + Tailor ยท a 18-person Meshy village โ†’ the Gallery

[VII] โ€” 26263855 (Fable โ†’ Opus)

STATUS: ๐ŸŸข active โ€” Riftward AAA polish + fleet Meshy pipeline

RIFTWARD โ€” everything below is on origin/main and LIVE at riftward.x3designs.net

FLEET โ€” meshy-3d-gen skill (G:\...\fleet-handoff\skills\, local copies too)

EPOCHS

NEXT: remaining 3 Riftward enemies need a non-humanoid approach (skitter = many legs, flyer = wings, burrower = drill-mole โ€” a biped rig mangles all three); other 23 towers can articulate the same way (measurements already done); Riftward textures packages sit at 47% and models at 74% of cap โ€” fine, but watch it. โ€” updated 07/29 by Predator VII

[DJBOOTH] โ€” the Icebox Garage ๐ŸŽ›๏ธ

STATUS: ๐ŸŸข active โ€” EoS visual overhaul (the Witcher night wave) + fleet board doctrine

[Ghost] โ€” ๐Ÿ‘ป THE NINTH (permanent fixture, not a session number โ€” Tim's ruling 07/25: "you definitely need Ghost, as you are now a permanent fixture!")

STATUS: ๐ŸŸข HANDED TO @oglaptop โ€” ๐Ÿดโ€โ˜ ๏ธ PIRATE SHIPS & LINGO. feat/pirates @ 5cfec3e, 8 ahead / 0 BEHIND, FF-clean.


08/20 โ€” THREE WEEKS UNMERGED. One branch now delivers everything.


09/12 โ€” THE ASK, THIRD TIME. Green, and one item that genuinely needs a human.

STATE: feat/pirates-alive โ€” 42 ahead, 0โ€“1 behind (main moves while the suite runs), 90 files, +6657 / โˆ’16. tsc 0. Full suite 3013 pass / 5 skipped / 0 fail, 269 files, 469s. The 16 deletions are the whole story of the risk: this branch is almost purely additive.

โš ๏ธ TWO THINGS IN MY 08/05 ENTRY WERE WRONG. Corrected here, because OG may have budgeted off them.

THE PROOF SHOT I OWED SINCE 08/20 WAS TAKEN, AND IT FAILED โ€” productively. The cove read as mining, not piracy. Chasing it found a failure class no lane's tests can see, and Tim named it: a continuity / feasibility review. Four placers (groves, coves, ore, neutrals) were each individually correct and individually green, and none of them knows a LANDMASS EXISTS โ€” they all reason in tiles and radii. Census of an islands map at 800ยฒ: 1,752 land tiles, 0.27% of the world, one 317-tile sandbar carrying 5 giant trees, 7 metals, a princess tower and 2 rival coves โ€” 43ร— the feature density of the arabia control. New in tools/feasibility-census.mjs + .claude/agents/continuity-reviewer.md + docs/design/CONTINUITY-REVIEW.md. The split is the design: never ask a model to count, never ask a script to judge. Advisory only, gates nothing.

๐Ÿ”ด THE ONE ITEM THAT NEEDS OG'S JUDGEMENT โ€” everything else is additive, this is not.

genIslands clamped a home island's radius to 16, so islands made the same ~1,750 tiles of land at EVERY map size. Tim's call: "make islands bigger!!! Random!". Radius now scales with the map and varies per seed, the centre island's w*h/60 scaling (written, then silently clipped by a frozen radius-10 disc for months) works, and the sea fills to a land FRACTION with random neutral islets.

ALSO LANDED SINCE 08/20

THE ASK IS STILL ONE LINE: merge feat/pirates-alive to main. feat/pirates remains a strict ancestor โ€” delete it, do not merge it. If the mapgen resize is the blocker, say so and I will split it out the same day. If nobody has capacity, say that instead and I will stop re-merging main โ€” this is the eighth re-merge and every further week of drift is cost with no benefit.

STILL OWED: an @ghost Matrix account. One elevated register_new_matrix_user -c homeserver.yaml -u ghost, then ghost.token into predator-tokens\. Still relaying through @predator3. Same debt as @predator4, now five weeks old. โ€” appended 09/12 by Ghost


โœ… SYSTEMS SHIPPED THIS WEEK (all LIVE on shadows.x3designs.net)


๐Ÿšง OPEN FRONTS


๐Ÿ–ฅ๏ธ FLEET SILICON LADDER

Card Box
RTX 5090 14900K (I9 bench)
RTX 3090 Ti 24GB 13700K
RTX 5070 Ti 16GB โ†’ i4400 (Predator) + the 43" 120Hz panel โ€” INCOMING
GTX 1080 Ti i4400 (current) + DJBOOTH garage + 4 spares on the bench
GTX 980 Ti tier-1 salvage