Skip to content
OpencodeView

Flags

The eight heuristic labels applied to cached sessions, and the exact rule behind each.

Flags are stable protocol strings and are never translated. Each is a deterministic rule over cached rows — an operator signal about your own runs, not a judgment about OpenCode.

Canonical source ↗

Eight flags, derived locally

Stable protocol strings, never translated. Each one is a rule over cached rows — an operator signal about your own runs, not a judgment about OpenCode itself.

Tool failure loop

tool_failure_loop

Rule:tool_calls ≥ 20 and error rate > 30%

The agent kept calling tools that kept failing. Usually a broken assumption about the environment.

Patch waste

patch_waste

Rule:patch_count > 50, apply_patch_ok = 0, summary_additions = 0

Fifty-plus patch attempts, nothing applied, nothing added. Pure burn.

Context pressure

context_pressure

Rule:compaction_count > 15

The session spent more effort compacting context than moving forward.

Truncation

truncation

Rule:at least one message with finish = length

Output hit the token ceiling. Whatever came next was never written.

Metadata bug

omo_metadata_bug

Rule:session title starts with the literal 'undefined'

A harness-side metadata defect leaked into the stored title.

Security anomaly

security_anomaly

Rule:title matches local injection-like string heuristics

Worth a human look. String matching only — no model, no network.

Low yield, high cost

low_yield_high_cost

Rule:> 1M tokens, no additions, no successful apply_patch

A million tokens spent with nothing landing in the diff.

Data quality gap

data_quality_gap

Rule:session month falls in a known low-coverage window

Not a session problem — a dataset problem. Flagged so it is never read as a real zero.