Problem Description
The audit tool produces an incomplete report for failed Codex engine runs. Two specific gaps were identified during exploratory testing:
-
Missing execution metrics: Codex runs report turns: 0, token_usage: undefined, and tool_types: 0 even when the agent executed for several minutes. The metrics section only contains {"error_count":1,"warning_count":0}.
-
Missing firewall root cause: When the agent job fails due to a firewall-blocked domain, the audit tool does not surface this as a failure cause. The firewall_analysis field is absent from the audit output, and the error cause is buried in a 10.7 MB agent-stdio.log.
Example Run
- Run: §23833156240 (Smoke Codex, failure)
- Duration: 6.0m,
agent job failed
Actual Audit Output (truncated)
{
"metrics": { "error_count": 1, "warning_count": 0 },
"session_analysis": { "wall_time": "6.0m", "timeout_detected": false },
"observability_insights": [
{
"title": "Directed execution path",
"evidence": "turns=0 tool_types=0"
}
]
}
No firewall_analysis field was present despite clear firewall events in the logs.
Actual Failure Root Cause (from agent-stdio.log)
The agent attempted to access chatgpt.com, which is not in the workflow's allowed domains. The firewall blocked the request. This caused the Codex agent to exit with code 1. The warning in the logs provides the blocked domain in a --allow-domains suggestion, but this is not surfaced in the audit report.
Steps to Reproduce
- Run
audit on run 23833156240:
Use agentic-workflows audit tool with run_id_or_url: 23833156240
- Observe:
metrics lacks token_usage and turns, firewall_analysis is absent
- Compare with a Claude run audit (e.g.,
23832622309) which has full metrics
Expected Behavior
- Codex metrics: The audit should report available execution metrics for Codex runs, even if the token format differs from Claude/Copilot. At minimum, show
wall_time, action_minutes, and exit_code.
- Firewall root cause: When an agent job fails and the logs contain firewall-block indicators,
firewall_analysis should be populated with blocked_domains. A key_findings entry should explain: "Agent attempted to access blocked domain: chatgpt.com" with a recommendation to add it to network.allowed.
Environment
- Repository: github/gh-aw
- Run ID: 23833406848
- Date: 2026-04-01
- Tool:
agentic-workflows MCP server - audit command
Impact
- Severity: Medium
- Frequency: Every Codex failure with firewall blocks
- Workaround: Manually inspect
agent-stdio.log for [WARN] lines referencing blocked domains
Contrast: Claude Run Audit (Working Correctly)
For comparison, auditing Claude run 23832622309 correctly produces:
token_usage: 1169969
turns: 30
firewall_analysis (when blocked requests exist)
- Full
key_findings with actionable recommendations
References:
Generated by Daily CLI Tools Exploratory Tester · ◷
Problem Description
The
audittool produces an incomplete report for failed Codex engine runs. Two specific gaps were identified during exploratory testing:Missing execution metrics: Codex runs report
turns: 0,token_usage: undefined, andtool_types: 0even when the agent executed for several minutes. Themetricssection only contains{"error_count":1,"warning_count":0}.Missing firewall root cause: When the agent job fails due to a firewall-blocked domain, the
audittool does not surface this as a failure cause. Thefirewall_analysisfield is absent from the audit output, and the error cause is buried in a 10.7 MBagent-stdio.log.Example Run
agentjob failedActual Audit Output (truncated)
{ "metrics": { "error_count": 1, "warning_count": 0 }, "session_analysis": { "wall_time": "6.0m", "timeout_detected": false }, "observability_insights": [ { "title": "Directed execution path", "evidence": "turns=0 tool_types=0" } ] }No
firewall_analysisfield was present despite clear firewall events in the logs.Actual Failure Root Cause (from
agent-stdio.log)The agent attempted to access
chatgpt.com, which is not in the workflow's allowed domains. The firewall blocked the request. This caused the Codex agent to exit with code 1. The warning in the logs provides the blocked domain in a--allow-domainssuggestion, but this is not surfaced in the audit report.Steps to Reproduce
auditon run23833156240:metricslackstoken_usageandturns,firewall_analysisis absent23832622309) which has full metricsExpected Behavior
wall_time,action_minutes, andexit_code.firewall_analysisshould be populated withblocked_domains. Akey_findingsentry should explain: "Agent attempted to access blocked domain: chatgpt.com" with a recommendation to add it tonetwork.allowed.Environment
agentic-workflowsMCP server -auditcommandImpact
agent-stdio.logfor[WARN]lines referencing blocked domainsContrast: Claude Run Audit (Working Correctly)
For comparison, auditing Claude run
23832622309correctly produces:token_usage: 1169969turns: 30firewall_analysis(when blocked requests exist)key_findingswith actionable recommendationsReferences: