Skip to content

fix(forge-friction): classify themes as operational vs shape-gap before routing to forge - #13

Merged
griffinwork40 merged 2 commits into
mainfrom
fix/forge-friction-classifier
Oct 24, 2026
Merged

griffinwork40 merged 2 commits into
mainfrom
fix/forge-friction-classifier

Conversation

@griffinwork40

Copy link
Copy Markdown
Owner

Problem

/forge-friction treats every telemetry theme as a skill candidate. In practice, almost all themes are operational noise: bash timeouts (235 sessions), rate limits (37 sessions), usage caps (90 sessions), hook blocks (523 sessions). None of these map to useful skills. Running /forge-friction today produces zero actionable skill candidates.

Fix

Add a 3-step pipeline to the SKILL.md: Filter -> Classify -> Route.

Step 2 (Classify) is new. Each theme is tagged as one of:

  • Operational (not a skill candidate): timeouts, rate limits, usage caps, hook blocks, connection errors, model rejections, permission errors, iteration cap exhaustion, idle watchdog kills
  • Shape-gap (forge candidate): recurring workflow patterns agents perform ad-hoc without skill coverage

Step 3 (Route) sends each type to the right output:

  • Operational -> one-line recommendation (hook, config change, budget adjustment)
  • Shape-gap -> /forge dispatch (interactive y/n or auto)

Changes

  • skills/forge-friction/SKILL.md: restructured "Your job" into Steps 1-3, added classification criteria, updated dry-run to show two tables, updated auto/interactive flows to only forge shape-gaps, updated summary format

Evidence

Ran /forge-friction on 1,569 friction sessions. The analyzer found categories like bash:timeout (235 sessions), hook_block:bash (523 sessions), subagent_fail:UsageLimitError (90 sessions). All are operational. Zero shape-gap themes surfaced from telemetry alone, which is correct: the telemetry source inherently produces operational signal. The classifier prevents these from reaching /forge.

AFK Agent and others added 2 commits October 23, 2026 17:22
…re routing to forge

The friction analyzer surfaces tool errors from session telemetry, but
almost all of them are operational noise (timeouts, rate limits, usage
caps, hook blocks) rather than genuine workflow shape gaps that would
make useful skills. This caused /forge-friction to propose skills for
infrastructure issues that should be hooks or config changes.

Add a 3-step pipeline: Filter, Classify, Route.

- Step 1 (Filter): unchanged confidence-class filtering
- Step 2 (Classify): each theme is tagged operational or shape-gap
  using explicit indicator lists (timeouts, rate limits, hook blocks,
  connection errors, model rejections, iteration caps = operational;
  recurring ad-hoc multi-step workarounds without skill coverage =
  shape-gap)
- Step 3 (Route): operational themes get a one-line recommendation
  (hook/config/budget fix); only shape-gap themes proceed to /forge

Dry-run mode now outputs two separate tables. Auto mode skips
operational themes for forge. Interactive mode lists operational
recommendations first (informational, no y/n), then shape-gap
candidates (y/n to forge).
…ble language from Auto mode

- F2: $ARGUMENT → $ARGUMENTS on line 21 (singular form silently disabled --dry-run gate)
- F3: Auto mode intro scoped to Step 2 shape-gap classification pipeline, removing stale skill-addressable filter criteria
@griffinwork40
griffinwork40 merged commit 822410b into main Oct 24, 2026
1 check failed
@griffinwork40
griffinwork40 deleted the fix/forge-friction-classifier branch October 24, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant