Galatea Reference Workload
Galatea is designated as the most trusted production Lua script. It is therefore the primary behavior-parity workload for the mining slice—not an example to discard and rewrite from assumptions.
The recovered architecture audit evaluated an 817-line version, but no Galatea source is present in the current checkout. Its size and debugging difficulty are historical evidence that reusable mechanisms sit on the wrong side of the Java–Lua boundary; capture the trusted running version and its hash before making current behavior or parity claims.
Target responsibility split
Lua should retain
- user configuration and selected Galatea zone;
- resource and tool policy;
- player-competition and risk policy;
- inventory-full, sell, reconnect, and stop decisions;
- composition of harvest, travel, and inventory actions;
- product-specific HUD choices.
Java/native engine should own
- efficient world scans and connected-block discovery;
- scan caching and precomputation;
- candidate/vantage selection;
- pathfinding, traversal, and movement recovery;
- camera alignment and target tracking;
- ray validation and mining timing;
- retry classification and stuck detection;
- cancellation and release of every controlled resource.
Hypixel pack should own
- Galatea detection and named regions;
- resource/item semantics;
- island travel knowledge and menus;
- server messages and failure interpretation;
- server-version compatibility fixtures.
Candidate target script shape
local skyblock = hexis.packs.require("hypixel.skyblock")
local policy = {
avoid_players_within = config.competition_radius,
stop_when_inventory_full = true,
tool = config.tool,
}
local harvest = hexis.mining.harvest({
region = skyblock.regions.galatea(config.zone),
target = skyblock.resources.forage(config.resource),
policy = policy,
})
local result = hexis.await(harvest)
if result.code == "INVENTORY_FULL" and config.auto_sell then
hexis.await(skyblock.actions.sell_foraging_inventory())
end
The vocabulary is provisional. The desired shape is the key: Lua reads like a plan, while the engine performs the hard mechanic.
Migration method
- Export and hash the current trusted script, its configuration, and representative routes without modifying it.
- Trace each Lua state and helper to the game capability it serves.
- Classify every responsibility as policy, engine mechanism, or pack knowledge.
- Add telemetry to compare behavior, not implementation details.
- Extract one mechanism at a time behind an internal Java action.
- Bind it to Lua only after cancellation and cleanup tests pass.
- Run old and candidate workflows through replay fixtures.
- Perform gated live Minecraft/Hypixel comparison.
- Keep the old script as rollback until parity is established.
Parity scorecard
| Dimension | Required evidence |
|---|---|
| Task success | Equivalent or better resource completion rate |
| Behavior quality | No regression in route, aim, or mining reliability |
| Responsiveness | No new tick stalls or action latency |
| Recovery | Structured handling of obstruction, stale targets, and world change |
| Safety | No stuck inputs, camera, GUI, or background actions |
| Maintainability | Material reduction in mechanism-level Lua and duplicate state |
| Portability | Hypixel knowledge isolated in the pack |
| AI usability | Model generates the policy without recreating raw mechanics |
Galatea is successful when it becomes smaller and easier to reason about while remaining at least as trustworthy in practice.