Structs Reconnaissance

Procedure

  1. Query entities — All via structsd query structs [subcommand] [args]:
  2. Assess targets — For players: structs, power capacity, fleet status (onStation = can build; away = raiding). For planets: ore remaining, defense structs, shield. For guilds: members, Central Bank status.
  3. Identify vulnerabilities — Unrefined ore stockpile, power near capacity, undefended planet, fleet away (raiding).
  4. Persist intelligence — After gathering, update:

Commands Reference

Entity Query Command
Address → Player structsd query structs address [address] (returns player ID; 1-0 = nonexistent)
Player structsd query structs player [id], player-all
Planet structsd query structs planet [id], planet-all, planet-all-by-player [player-id]
Planet attribute structsd query structs planet-attribute [planet-id] [type], planet-attribute-all
Struct structsd query structs struct [id], struct-all, struct-attribute [id] [type]
Struct type structsd query structs struct-type [id], struct-type-all
Fleet structsd query structs fleet [id], fleet-all, fleet-by-index [index]
Guild structsd query structs guild [id], guild-all
Membership app structsd query structs guild-membership-application [id], guild-membership-application-all
Reactor structsd query structs reactor [id], reactor-all
Infusion structsd query structs infusion [id], infusion-all, infusion-all-by-destination [dest-id]
Provider structsd query structs provider [id], provider-all
Agreement structsd query structs agreement [id], agreement-all, agreement-all-by-provider [provider-id]
Allocation structsd query structs allocation [id], allocation-all, allocation-all-by-source, allocation-all-by-destination
Substation structsd query structs substation [id], substation-all
Grid structsd query structs grid [id], grid-all
Block height structsd query structs block-height

Verification

Error Handling

Intelligence Persistence Loop

  1. Run reconnaissance queries for target(s).
  2. Parse results: owner, structs, power, shield, fleet status, guild.
  3. Write/update memory/intel/players/, memory/intel/guilds/ per README formats.
  4. Update memory/intel/territory.md with planet ownership table.
  5. Update memory/intel/threats.md with ranked threats and response notes.
  6. Include “Last Updated” date in each file.

PostgreSQL Queries (Advanced)

If the Guild Stack is running locally, all reconnaissance queries can be done in < 1 second via PostgreSQL instead of CLI. This is essential for combat automation, real-time threat monitoring, and galaxy-wide scouting.

Example – find all players with stealable ore, ranked by amount:

SELECT p.id, p.guild_id, COALESCE(g_ore.val, 0) as ore
FROM structs.player p
JOIN structs.grid g_ore ON g_ore.object_id = p.id AND g_ore.attribute_type = 'ore'
WHERE g_ore.val > 0
ORDER BY g_ore.val DESC;

Example – enemy fleet composition at a planet:

SELECT s.id, st.class_abbreviation, s.operating_ambit, st.unit_defenses
FROM structs.struct s
JOIN structs.struct_type st ON st.id = s.type
JOIN structs.fleet f ON f.id = s.location_id
WHERE f.location_id = '2-105' AND s.is_destroyed = false AND s.location_type = 'fleet';

Important: The structs.grid table is key-value, not columnar. See knowledge/infrastructure/database-schema for the grid pattern and more query examples.

For setup: structs-guild-stack skill

See Also