Autonomous Dev Loop

Diagnostics

Problems detected by fixed rules over 479 recorded run(s) and 153 work item(s) — no LLM involved. Each finding separates what was observed from a hypothesis about it, and lists the runs it was computed from.

Running with issues: 3 problem(s) to look at

479 run(s), 153 work item(s), 2026-10-16 03:59 → 2026-11-01 22:13 UTC · 6 data gap(s) limit what the rules can see.

Machine-readable copy: findings.json — the 8 finding(s) below, over 479 recorded run(s), generated . It is the input of /ai-dev-tools:loop-insights (Rules and levers).

0 critical · 3 warning · 5 info
warningReview

PRs not approved after several reviews

Affects 61 run(s) · 13 item(s)Since 2026-10-16 23:01 UTCactive · last seen 2026-10-19 17:45 UTC

Observed
13 PR(s) have their last 3+ verdicts without an APPROVE: #218 (3), #219 (3), #220 (3), #221 (3), #222 (3), #225 (3), #226 (5), #227 (3), #231 (3), #234 (3), #235 (4), #241 (11), #242 (14).
Impact
61 review run(s) without converging
Frequency
13 PR(s) · 61 run(s) affected
Evidence · 25 entries
Time (UTC)RunPREventRecorded detailSource
2026-10-16 23:0238979116693-1#218review.verdictverdict=WITHHELD
2026-10-16 23:4238982767337-1#218review.verdictverdict=WITHHELD
2026-10-17 00:1938985736790-1#219review.verdictverdict=WITHHELD
2026-10-17 00:2038985775751-1#219review.verdictverdict=REQUEST_CHANGES
2026-10-17 00:4338987589546-1#219review.verdictverdict=REQUEST_CHANGES
2026-10-17 01:2038990364970-1#220review.verdictverdict=WITHHELD
2026-10-17 01:2238990406522-1#220review.verdictverdict=WITHHELD
2026-10-17 01:5138992537605-1#220review.verdictverdict=WITHHELD
2026-10-17 02:3438995413070-1#221review.verdictverdict=REQUEST_CHANGES
2026-10-17 02:4438996052770-1#221review.verdictverdict=WITHHELD
2026-10-17 02:4838996292639-1#221review.verdictverdict=WITHHELD
2026-10-17 02:4938996318417-1#222review.verdictverdict=WITHHELD
2026-10-17 02:5038996353300-1#222review.verdictverdict=WITHHELD
2026-10-17 14:0739039318413-1#222review.verdictverdict=WITHHELD
2026-10-19 03:2939194824561-1#225review.verdictverdict=REQUEST_CHANGES
2026-10-19 03:4439196061218-1#225review.verdictverdict=WITHHELD
2026-10-19 04:0939197996406-1#225review.verdictverdict=WITHHELD
2026-10-19 04:4639201050992-1#226review.verdictverdict=WITHHELD
2026-10-19 11:5239247627963-1#226review.verdictverdict=WITHHELD
2026-10-19 11:5839248382282-1#226review.verdictverdict=WITHHELD
2026-10-19 14:0639265779193-1#227review.verdictverdict=WITHHELD
2026-10-19 14:0739265836758-1#227review.verdictverdict=WITHHELD
2026-10-19 14:5239272705384-1#227review.verdictverdict=WITHHELD
2026-10-19 17:4539296748777-1#231review.verdictverdict=WITHHELD
2026-10-16 23:0138979056167-1#218review.verdictverdict=WITHHELD

First 25 entries; 61 run(s) affected.

Investigate →

warningCode generation

Code generation is mostly blocked

Affects 17 run(s)Since 2026-10-19 03:08 UTCactive · last seen 2026-10-31 01:26 UTC

Observed
17 of 18 generation run(s) produced no patch (source: model 12, unspecified 2, denylist 3); 1 completed. Blocked by design (protected or withheld targets): 5; anomaly: 12 (the model blocked the issue, or the rejection is not a design rule).
Impact
17 issue(s) escalated instead of getting a PR
Frequency
17 run(s) · 17 run(s) affected
Hypothesis
A model-sourced block usually means the files to change were withheld from its context (size or protected paths); the escalation comment on the issue says which.
Suggested lever

Code generation is blocked before it proposes a patch

  • config/models.yaml#generation_max_input_tokens · no eval suite measures it: verify by hand and say so in the PR
  • prompts/generation-system.md · no eval suite measures it: verify by hand and say so in the PR
  • prompts/validation-system.md · run the live evals.yml (suite validation)

Stage generation · ADR-0029 · every change also requires docs-and-tests; the lever says where to look, not what caused the finding (this rule's entry).

Draft a proposal (read-only, nothing is posted or created): /ai-dev-tools:loop-insights --finding codegen-blocked

Evidence · 17 entries
Time (UTC)RunPREventRecorded detailSource
2026-10-31 01:2641155321170-1—code_gen.skippedreason=blocked
2026-10-31 01:1941154713645-1—code_gen.skippedreason=guardrail_rejected · rules=protected_path · error=AI response changes[0] target_path "scripts/audit-branches.js" is in a protected path (scripts/)
2026-10-31 01:1841154652610-1—code_gen.skippedreason=blocked
2026-10-30 19:0941112867211-1—code_gen.skippedreason=blocked
2026-10-30 18:3941108652433-1—code_gen.skippedreason=blocked
2026-10-30 14:4141073850373-1—code_gen.skippedreason=blocked
2026-10-28 19:3440755480973-1—code_gen.skippedreason=blocked
2026-10-28 19:3140754964443-1—code_gen.skippedreason=blocked
2026-10-28 19:3040754918718-1—code_gen.skippedreason=blocked
2026-10-28 19:2140753415508-1—code_gen.skippedreason=blocked
2026-10-21 04:0839542338480-1—code_gen.skippedreason=guardrail_rejected · rules=protected_path · error=AI response changes[0] target_path "docs/evals-review-anthropic-comparison.md" is in a protected path (docs/)
2026-10-20 01:3839354513597-1—code_gen.skippedreason=blocked
2026-10-19 03:1039193378100-1—code_gen.skippedreason=blocked
2026-10-19 03:0939193267771-1—code_gen.skippedreason=blocked
2026-10-19 03:0839193237010-1—code_gen.skippedreason=blocked
2026-10-19 03:0839193225895-1—code_gen.skippedreason=blocked
2026-10-19 03:0839193212668-1—code_gen.skippedreason=blocked

Investigate →

warningLLM provider

Frequent provider fallbacks

Affects 18 run(s)Since 2026-10-16 04:07 UTCactive · last seen 2026-10-31 01:26 UTC

Observed
18 fallback(s) for 354 LLM call(s): groq → anthropic (UNKNOWN) ×11, groq → anthropic (rate_limit_exceeded) ×5, groq → anthropic (json_validate_failed) ×1, groq → anthropic (TRANSIENT) ×1. 11 of them carry no classified error type: their cause is not recorded.
Impact
Answers come from the fallback model, at its price
Frequency
18 fallback(s) · 18 run(s) affected
Suggested lever

The primary provider fails often enough that the fallback answers

  • AI_PROVIDER_<STAGE> · no eval suite measures it: verify by hand and say so in the PR
  • retry policy (ADR-0022) · no eval suite measures it: verify by hand and say so in the PR
  • provider tier · no eval suite measures it: verify by hand and say so in the PR

Stage provider · ADR-0022, ADR-0025 · every change also requires docs-and-tests; the lever says where to look, not what caused the finding (this rule's entry).

Draft a proposal (read-only, nothing is posted or created): /ai-dev-tools:loop-insights --finding llm-fallbacks

Evidence · 18 entries
Time (UTC)RunPREventRecorded detailSource
2026-10-31 01:2641155321170-1—llm_fallbackerror_type=UNKNOWN
2026-10-31 01:1841154652610-1—llm_fallbackerror_type=UNKNOWN
2026-10-30 19:0941112867211-1—llm_fallbackerror_type=UNKNOWN
2026-10-30 18:3941108652433-1—llm_fallbackerror_type=UNKNOWN
2026-10-30 14:4141073850373-1—llm_fallbackerror_type=UNKNOWN
2026-10-28 19:3140754964443-1—llm_fallbackerror_type=json_validate_failed · status=400
2026-10-28 19:2040753415508-1—llm_fallbackerror_type=UNKNOWN
2026-10-20 17:2139465136002-1#242llm_fallbackerror_type=rate_limit_exceeded · status=429
2026-10-20 17:1439464169942-1#242llm_fallbackerror_type=rate_limit_exceeded · status=429
2026-10-20 17:0939463376417-1#242llm_fallbackerror_type=rate_limit_exceeded · status=429
2026-10-20 03:1139362880138-1#241llm_fallbackerror_type=rate_limit_exceeded · status=429
2026-10-20 02:4739360679664-1#240llm_fallbackerror_type=rate_limit_exceeded · status=429
2026-10-20 01:4439355091245-1#238llm_fallbackerror_type=UNKNOWN
2026-10-19 03:1039193378100-1—llm_fallbackerror=groq: generation prompt is ~3532 estimated input tokens, over generation_max_input_tokens (3500) in config/models.yaml: Groq would reject it with 413 (one request > 8K TPM). Shorten the input or raise… · error_type=UNKNOWN
2026-10-19 03:0839193237010-1—llm_fallbackerror=groq: generation prompt is ~7488 estimated input tokens, over generation_max_input_tokens (3500) in config/models.yaml: Groq would reject it with 413 (one request > 8K TPM). Shorten the input or raise… · error_type=UNKNOWN
2026-10-19 03:0839193225895-1—llm_fallbackerror=groq: generation prompt is ~5590 estimated input tokens, over generation_max_input_tokens (3500) in config/models.yaml: Groq would reject it with 413 (one request > 8K TPM). Shorten the input or raise… · error_type=UNKNOWN
2026-10-19 03:0839193212668-1—llm_fallbackerror=groq: generation prompt is ~6593 estimated input tokens, over generation_max_input_tokens (3500) in config/models.yaml: Groq would reject it with 413 (one request > 8K TPM). Shorten the input or raise… · error_type=UNKNOWN
2026-10-16 04:0738848182099-1#217llm_fallbackerror=groq: Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (T… · error_type=TRANSIENT

Investigate →

infoReview

Reviews withhold their verdict — resolved since 2026-10-23

Affects 67 run(s) · 19 item(s)Since 2026-10-16 23:01 UTCresolved · last seen 2026-10-23 14:36 UTC

Observed
67 of 271 verdicts are WITHHELD (25 %); 66 of them had code files not reviewed, 56 would have been APPROVE (withheld_from). They cover 53 PR head(s) on 19 PR(s). Guardrail: 61 (code cut, ADR-0038: 61; CI evidence, ADR-0026: 0); anomaly: 6 (REQUEST_CHANGES on unseen code: 0; adversarial protocol not met, ADR-0049: 1; unknown cause: 0; fallback answered a prompt cut to the primary's budget: 5). Answered by: groq 61, anthropic (fallback) 5, anthropic 1; input budget 6300 tokens.
Impact
67 review(s) ended without a usable verdict; a person has to review
Frequency
67 verdict(s) on 53 head(s) of 19 PR(s) · 67 run(s) affected
Hypothesis
The guardrail worked as designed: approval is withheld on code the review did not see (ADR-0038). The lever is the provider or its input budget (review_max_input_tokens, ADR-0025), not the review rule.
Evidence · 25 entries
Time (UTC)RunPREventRecorded detailSource
2026-10-23 14:3639970922373-1#282review.verdictverdict=WITHHELD
2026-10-20 17:2139465136002-1#242review.verdictverdict=WITHHELD
2026-10-20 17:1439464169942-1#242review.verdictverdict=WITHHELD
2026-10-20 17:0939463376417-1#242review.verdictverdict=WITHHELD
2026-10-20 17:0239462591400-1#242review.verdictverdict=WITHHELD
2026-10-20 16:5439461426672-1#242review.verdictverdict=WITHHELD
2026-10-20 16:4539460097943-1#242review.verdictverdict=WITHHELD
2026-10-20 16:3939459145806-1#242review.verdictverdict=WITHHELD
2026-10-20 16:3239458198456-1#242review.verdictverdict=WITHHELD
2026-10-20 16:2739457410857-1#242review.verdictverdict=WITHHELD
2026-10-20 16:2139456552143-1#242review.verdictverdict=WITHHELD
2026-10-20 16:1439455474898-1#242review.verdictverdict=WITHHELD
2026-10-20 15:4839451632457-1#242review.verdictverdict=WITHHELD
2026-10-20 13:4139432222887-1#242review.verdictverdict=WITHHELD
2026-10-20 13:3939432164291-1#242review.verdictverdict=WITHHELD
2026-10-20 11:3139415443047-1#241review.verdictverdict=WITHHELD
2026-10-20 11:2639414840580-1#241review.verdictverdict=WITHHELD
2026-10-20 11:1839413913587-1#241review.verdictverdict=WITHHELD
2026-10-20 11:1339413251169-1#241review.verdictverdict=WITHHELD
2026-10-20 11:0739412599427-1#241review.verdictverdict=WITHHELD
2026-10-20 11:0039411739301-1#241review.verdictverdict=WITHHELD
2026-10-20 10:5339410929604-1#241review.verdictverdict=WITHHELD
2026-10-20 10:4639410173183-1#241review.verdictverdict=WITHHELD
2026-10-20 10:4039409528303-1#241review.verdictverdict=WITHHELD
2026-10-16 23:0138979056167-1#218review.verdictverdict=WITHHELD

First 25 entries; 67 run(s) affected.

Investigate →

infoReview

Same PR head reviewed more than once — resolved since 2026-10-23

Affects 32 run(s) · 16 item(s)Since 2026-10-16 23:01 UTCresolved · last seen 2026-10-23 14:38 UTC

Observed
16 PR head(s) got 16 extra review run(s) (triggers: pull_request, push); 2 of them got different verdicts on the same code. Guardrail: 16 (after a WITHHELD verdict, ADR-0028: 16; manual re-run: 0); anomaly: 0 (two runs on one head, none skipped by the marker).
Impact
16 redundant review run(s) and their LLM calls
Frequency
16 head(s) · 32 run(s) affected
Evidence · 25 entries
Time (UTC)RunPREventRecorded detailSource
2026-10-23 14:3639970922373-1#282review.verdictverdict=WITHHELD
2026-10-23 14:3839970949395-1#282review.verdictverdict=APPROVE
2026-10-20 13:3939432164291-1#242review.verdictverdict=WITHHELD
2026-10-20 13:4139432222887-1#242review.verdictverdict=WITHHELD
2026-10-20 03:1039362802426-1#241review.verdictverdict=WITHHELD
2026-10-20 03:1139362880138-1#241review.verdictverdict=WITHHELD
2026-10-20 02:4639360606464-1#240review.verdictverdict=WITHHELD
2026-10-20 02:4739360679664-1#240review.verdictverdict=WITHHELD
2026-10-20 01:4839355352614-1#239review.verdictverdict=WITHHELD
2026-10-20 01:4939355384135-1#239review.verdictverdict=WITHHELD
2026-10-20 01:1439352232883-1#235review.verdictverdict=WITHHELD
2026-10-20 01:1539352275774-1#235review.verdictverdict=WITHHELD
2026-10-19 23:4339343217446-1#234review.verdictverdict=WITHHELD
2026-10-19 23:4539343261506-1#234review.verdictverdict=WITHHELD
2026-10-19 23:1939340743028-1#233review.verdictverdict=WITHHELD
2026-10-19 23:2039340808744-1#233review.verdictverdict=WITHHELD
2026-10-19 17:4539296748777-1#231review.verdictverdict=WITHHELD
2026-10-19 17:4739296827272-1#231review.verdictverdict=WITHHELD
2026-10-19 15:1639276335482-1#228review.verdictverdict=WITHHELD
2026-10-19 15:1839276410959-1#228review.verdictverdict=WITHHELD
2026-10-19 14:0639265779193-1#227review.verdictverdict=WITHHELD
2026-10-19 14:0739265836758-1#227review.verdictverdict=WITHHELD
2026-10-19 04:3439200119948-1#226review.verdictverdict=WITHHELD
2026-10-19 04:3639200139344-1#226review.verdictverdict=WITHHELD
2026-10-16 23:0138979056167-1#218review.verdictverdict=WITHHELD

First 25 entries; 32 run(s) affected.

Investigate →

infoReview

PRs needed several external review rounds — resolved since 2026-10-26

Affects 1 run(s) · 1 item(s)Since 2026-10-25 13:36 UTCresolved · last seen 2026-10-25 13:35 UTC

Observed
1 of 34 PR(s) with a recorded external review had 3+ rounds (#296: 9 rounds, 13 threads, 0 P0/P1); they hold 13 of the 40 external threads recorded. Counts are a lower bound: the reviewer answers a head after the run that recorded them.
Impact
9 external review round(s) on 1 PR(s)
Frequency
1 PR(s) · 1 run(s) affected
Hypothesis
Each round may find a neighbour of the previous fix (same defect class), which a fix that sweeps the class would remove; the records hold counts, not the findings, so this is not verified.
Evidence · 1 entry
Time (UTC)RunPREventRecorded detailSource
2026-10-25 13:3640198235010-1#296review.external—

Investigate →

infoAuto-fix

Auto-fix blocked by design (ADR-0021, ADR-0029)

Affects 21 run(s) · 13 item(s)Since 2026-10-17 00:20 UTCactive · last seen 2026-10-30 18:58 UTC

Observed
2 delivered push(es) for 21 attempt(s); skip reasons: no_changes 14, self_modification 1, guardrail_rejected 4. Blocked by design: 18 (files withheld by budget 14, protected or unshown target 4); anomaly: 1.
Impact
19 attempt(s) ended without a change, usually escalated to a human
Frequency
19 of 21 attempt(s) · 21 run(s) affected
Hypothesis
The guardrails worked as designed: the attempts stopped on a protected or unshown target, or on files the budget withheld from the prompt. The lever is the input budget (autofix_max_input_tokens, ADR-0017) or a human fix, not the guardrail.
Evidence · 19 entries
Time (UTC)RunPREventRecorded detailSource
2026-10-30 18:5941111383676-1#322autofix.skippedreason=no_changes
2026-10-28 19:3340755215086-1#322autofix.skippedreason=no_changes
2026-10-27 18:4840563001144-1#312autofix.skippedreason=no_changes
2026-10-26 15:3640350544084-1#311autofix.skippedreason=self_modificationGitHub
2026-10-26 00:5240251235102-1#307autofix.skippedreason=no_changes
2026-10-25 12:4240194269858-1#297autofix.skippedreason=guardrail_rejected · rules=protected_path
2026-10-25 03:4440159225402-1#297autofix.skippedreason=guardrail_rejected · rules=protected_path
2026-10-22 19:4239842401383-1#267autofix.skippedreason=no_changes
2026-10-22 19:3639841571957-1#267autofix.skippedreason=no_changes
2026-10-21 03:4639540372924-1#256autofix.skippedreason=no_changes
2026-10-21 03:0839536847321-1#254autofix.skippedreason=no_changes
2026-10-21 03:0339536378113-1#254autofix.skippedreason=no_changes
2026-10-21 02:3139533424594-1#253autofix.skippedreason=no_changes
2026-10-20 23:2639514964984-1#246autofix.skippedreason=guardrail_rejected · rules=protected_path
2026-10-20 23:2339514660585-1#246autofix.skippedreason=no_changes
2026-10-19 03:3039194915673-1#225autofix.skippedreason=guardrail_rejected · rules=protected_path
2026-10-17 02:3538995470592-1#221autofix.skippedreason=no_changes
2026-10-17 00:4338987671334-1#219autofix.skippedreason=no_changes
2026-10-17 00:2038985909027-1#219autofix.skippedreason=no_changes

First 19 entries; 21 run(s) affected.

Investigate →

infoLLM provider

Time lost waiting on rate limits — resolved since 2026-10-19

Affects 6 run(s)Since 2026-10-16 03:59 UTCresolved · last seen 2026-10-19 03:08 UTC

Observed
28 retry wait(s) on HTTP 429, totalling 12.3 min across 6 run(s).
Impact
12.3 min of run time spent waiting
Frequency
28 wait(s) · 6 run(s) affected
Evidence · 25 entries
Time (UTC)RunPREventRecorded detailSource
2026-10-19 03:0839193218816-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193218816-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0939193218816-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0939193218816-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193212735-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193212735-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193208871-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193204024-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193204024-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193204024-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193204024-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0839193204024-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0939193204024-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-19 03:0939193204024-1—retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-17 02:4838996318417-1#222retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-17 02:4938996318417-1#222retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0038848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0138848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0138848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0238848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0338848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0438848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0438848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 04:0538848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429
2026-10-16 03:5938848182099-1#217retry.waiterror=Groq API HTTP error 429: {"error":{"message":"Rate limit reached for model `openai/gpt-oss-120b` in organization `org_01kp6a0j2bfzercy319x9ygzf5` service tier `on_demand` on tokens per minute (TPM): L… · status=429

Investigate →

Data gaps · what the records cannot tell

  • insufficient data Merge is journaled only from item-closed.yml on

    A merge or a closing is recorded (item.closed) only for items closed after item-closed.yml existed, and only in this repository; the Pipelines page asks GitHub for merged_at in the browser for the rest.

  • insufficient data Closings before the closing journal are not recorded

    Only items closed or merged after item-closed.yml was merged have an item.closed event. An item closed before it that last escalated still reads as escalated: the dashboard does not infer a closing from GitHub or from silence. The Pipelines page re-checks pull requests live.

  • insufficient data Running state is not observable

    A record is written when its run completes, so a run in progress never appears; the latest state of an item can be older than GitHub.

  • insufficient data Runs outside any work-item trace

    23 run(s) have no trace index: they appear in Investigation but not in Pipelines.

  • insufficient data Token counts are estimates

    85 of 354 LLM call(s) carry chars/4 estimates, not provider-measured usage: their cost excludes thinking and prompt cache.

  • insufficient data Duration trend not computable

    Fewer than 3 runs in one of the two latest 7-day periods for: pr_prepare. No degradation is reported for them — that is not the same as no degradation.

Rules and thresholds

A pattern is reported only above these thresholds (RULES in scripts/lib/pipeline_diagnostics.mjs); below them it is not separated from noise. Which setting governs each rule: Rules and levers.

minVerdicts3
withheldShare0.25
truncatedShare0.5
reviewStreak3
autofixMinAttempts2
autofixNoPushShare0.5
conflictsMinAttempts2
conflictsUnresolvedShare0.5
fallbackMin2
durationMinRuns3
durationRatio1.5
stageFailures2
externalRounds3
activeWindow10