# Reported issues for NotFair Ads

Pod holds 9 of 9 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [NotFair Ads](/mcp/notfair-ads).

## Most discussed

### Goal agents can be provisioned without notfair-goals after a non-throwing registration failure

## Source feedback

Misrouted from `nowork-studio/notfair-mcp` feedback #360 (tracker issue #847). A goal-agent session was instructed to use the NotFair goal-intake lifecycle but `notfair-goals` was unavailable from tool discovery.

## Ground truth

- The owning implementation is this repository: `notfair/src/app/api/mcp/goals/route.ts` serves `notfair-goals`; `notfair/src/server/mcp-server/tools.ts` exports the lifecycle tools.
- `provisionGoalAgent` calls `registerGoalsMcpForAgent` in `notfai

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/112) · 2026-08-14 · open · outside contributor · 0 comments

### Goals: safely revise a proposed metric before target activation

## Source and scope

Misrouted NotFair MCP feedback: [notfair-mcp#774](https://github.com/nowork-studio/notfair-mcp/issues/774) (feedback #339).

Current `main` evidence (commit `ab0a2655718c0c116200001a7418e68fe77d352a`):
- `notfair/src/server/mcp-server/tools.ts` exposes `propose_goal_metric` as intake step 2 and describes a failed verification as retryable.
- `notfair/src/server/goals/handlers.ts` accepts `handleProposeGoalMetric` only while `goal.status === "intake"`; its successful write mo

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/108) · 2026-08-07 · open · outside contributor · 0 comments

### Fix standalone workspace-browser packaging for Playwright metadata

## Source evidence

Two NotFair MCP feedback reports (`nowork-studio/notfair-mcp` #759 and #777) identify the same current source-repo failure: `browser_open` cannot launch from the packaged standalone install because Playwright cannot resolve its packaged `browsers.json`.

The live source owns this path:
- `notfair/src/server/mcp-server/browser-tools.ts` calls `getOrLaunchBrowser()` before opening a tab.
- `notfair/package.json` ships the standalone package and declares `playwright-core`.
- `no

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/106) · 2026-08-07 · open · outside contributor · 0 comments

### Goals: safely amend an active primary metric after explicit user confirmation

## Source and scope

Misrouted NotFair MCP feedback: [notfair-mcp#730](https://github.com/nowork-studio/notfair-mcp/issues/730) (feedback #296).

Current `main` evidence:
- `notfair/src/server/mcp-server/tools.ts` exposes `propose_goal_metric` only for intake and `amend_goal` only for target/deadline/spend/cadence.
- `notfair/src/server/goals/handlers.ts` rejects `propose_goal_metric` outside `intake`, while `handleAmendGoal` owns active/paused edits.
- No existing source-repo issue or open PR c

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/101) · 2026-07-24 · open · outside contributor · 0 comments

### [Feedback #294] Ensure live goal agents receive the notfair-goals MCP surface

## Routed feedback

This is the canonical source-repository issue for NotFair feedback #294, initially filed in `nowork-studio/notfair-mcp` as [#725](https://github.com/nowork-studio/notfair-mcp/issues/725).

## Observed behavior

A live goal agent did not receive the `notfair-goals` MCP surface, despite its identity requiring lifecycle calls such as `get_goal`, `log_goal_action`, `register_pull_request`, and `log_learning`.

## Verified source evidence

- `notfair/src/app/api/mcp/goals/route.ts

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/100) · 2026-07-24 · open · outside contributor · 0 comments

### [MCP feedback #8] general: This suggestion-generation workflow depends on recent external signals, but the…

This NotFair MCP feedback issue is labeled `claude-ready`. The local Hermes GitHub issue worker will claim it, run Claude Code, and open a PR for review.

## MCP feedback
- Feedback ID: 8
- Affected tool: `general`
- Priority: `medium`
- Triage category: `input_schema_fix`
- Safe autonomous PR candidate: `True`

## Summary
Observation: This suggestion-generation workflow depends on recent external signals, but the available Notion/Google Drive tools in this session expose no way to search Drive 

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/76) · 2026-05-24 · closed · outside contributor · 3 comments

### runScript returns "a is not a function" for every input (including `return 1;`)

# `runScript` returns "a is not a function" for every input (including `return 1;`)

**Plugin:** `nowork-studio/toprank` v0.17.0
**MCP server:** `https://notfair.co/api/mcp/google_ads` (NotFair-GoogleAds)
**Date observed:** 2026-05-08
**Account ID:** 6397865266

## Summary

Every call to the `runScript` tool — including the most trivial JavaScript body possible — returns the same error string: `a is not a function`. All other tools on the same MCP server work normally, so this is isolated to the

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/67) · 2026-05-08 · closed · external user · 0 comments

### runScript returns "a is not a function" for every input (including return 1;)

# `runScript` returns "a is not a function" for every input (including `return 1;`)

**Plugin:** `nowork-studio/toprank` v0.17.0
**MCP server:** `https://notfair.co/api/mcp/google_ads` (NotFair-GoogleAds)
**Date observed:** 2026-05-08
**Account ID:** 6397865266

## Summary

Every call to the `runScript` tool — including the most trivial JavaScript body possible — returns the same error string: `a is not a function`. All other tools on the same MCP server work normally, so this is isolated to the

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/66) · 2026-05-08 · closed · external user · 1 comment

## Most recent

### fix(seo): fetch robots.txt with broken-link crawler user agent

## Feedback source
- NotFair feedback ID: 257
- Misrouted MCP tracker: nowork-studio/notfair-mcp#673
- Affected source: `seo/broken-link-checker/scripts/checker.py`

## Verified defect
Current `main` calls `urllib.robotparser.RobotFileParser.read()` after `set_url()`. That standard-library helper fetches `robots.txt` using Python's default urllib user agent, while the crawler itself identifies as `NotFairBrokenLinkChecker/1.0`. Cloudflare-fronted sites that block Python's default agent can there

[Read the thread](https://github.com/nowork-studio/notfair-plugin/issues/98) · 2026-07-22 · open · outside contributor · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/nowork-studio/notfair-plugin/issues).
