MOOS ALog Analysis
Overview
Use this skill for two jobs:
- reconstruct what happened in a mission
- investigate suspicious event(s) in a mission
Shell Assumption
Run aloggrep, aloghelm, and alogscan directly in the current agent shell.
Do not wrap alog* commands in an extra shell bootstrap step.
Source of Truth
Analyze only the original .alog files.
Never read or rely on derived artifacts such as:
*_alvtmp/*.klog- any other files generated by
alogviewor similar viewers
These files are not source evidence for mission analysis. If they exist, ignore them and continue using the .alog files only.
Workflow
- Find the relevant
.alogfiles. - If you already know the variable, signal, or specific variable set you care about, go straight to targeted
aloggrepqueries. - If you need mission phases, behavior transitions, or helm context, use
aloghelm. - If you need variable discovery, use
scripts/alogvars.sh <alog_path>first. Add one or more prefixes when you already know the variable family. - Read raw log lines only when you need the exact posting format, need to resolve source ambiguity, or need to cite original evidence lines.
- If the question is geometric or numeric, extract the relevant variables and analyze them directly.
Tool Policy
Autonomous tools:
aloggrepaloghelmalogscanscripts/alogvars.sh
Use them with this bias:
aloggrepis the default tool when you already know the variable names or have already narrowed the problem to a specific variable set.aloghelmis the default mission-context tool.scripts/alogvars.shis the default discovery tool when the variable names are still unknown.- Raw
alogscan --sort=vars --nocolorsis acceptable for a full variable inventory when you actually need counts, sources, or full scan metadata, but preferscripts/alogvars.shfor compact unknown-variable discovery.
Read references/alog-tool-guide.md when you need concise examples for aloggrep, aloghelm, or alogvars.sh.
Mission Overview
For mission reconstruction:
- if the key variables are already known, use
aloggrepimmediately - if the question names a specific variable set, stay targeted and use one or more
aloggrepqueries for that set before doing broader discovery - use
aloghelmfirst for modes and behaviors when mission phases matter - use
scripts/alogvars.shonly when the variable set is still unclear - inspect raw log lines only when the exact payload format or source matters
Incident Forensics
For one event or anomaly:
- identify the relevant variables to the event
- if the user already gave a variable set, start with that set and use
aloggrepdirectly - if the variable names are still unknown, use
scripts/alogvars.shto discover them compactly - use
aloggreponce the variables are known - use
aloghelmif the incident may be explained by a mode or behavior change - use shell or Python for custom logic
- use raw log lines only when you need exact evidence or payload structure
- for source attribution, prefer
aloggrep <alog> <var> --format=time:var:srcwhen the installed build emits all requested fields. Some builds advertise that format but emit only the source field; in that case use a narrow raw.alogcheck for timestamped source evidence instead of broad log reads.
If the question is about loops, turns, divergence, rendezvous, stops, or similar geometry, do not expect an alog* command to answer it directly.
For these cases, still extract evidence only from the .alog file.
Evidence Standard
- Cite exact command(s) used.
- Cite timestamped output lines for each conclusion.
Reference
Use references/alog-tool-guide.md only if more detail is needed.