feedback command posts to the archived GitHub mirror, so it always fails #426

Open
opened 2026-08-21 09:36:51 +00:00 by mph · 0 comments
Owner

What happens

iw feedback "..." always fails:

$ ./iw feedback "Missing skill: ..." --type bug --description "..."
/home/mph/.nix-profile/bin/gh
Error: Failed to create issue: GraphQL: Repository was archived so is read-only (createIssue)

Why

core/commands/Feedback.scala submits to Constants.Feedback.Repository, which is
"iterative-works/iw-cli" (core/model/Constants.scala:71), and
LiveCommandEnv.createFeedbackIssue (line 381) routes that through
GitHubClient.createIssue. So feedback goes to github.com/iterative-works/iw-cli,
which is an archived, read-only mirror.

The project's own tracker is Forgejo, not GitHub. From this repo's .iw/config.conf:

tracker {
  type = forgejo
  repository = "iterative-works/iw-cli"
  baseUrl = "https://code.iterative.works"
}

The git remotes agree: origin is the Forgejo repo, github is the mirror.

Effect

The one channel for reporting an iw-cli problem is dead, and the error message
("Repository was archived") does not tell the user what to do instead. The user
has to know to reach for iw kanon/feedback, which is a different target
(kanon workflows and guides, not iw-cli defects).

Suggested fix

Route feedback over Forgejo, the way the kanon plugin's command already does.
LiveCommandEnv.createForgejoIssue (line 464) exists and wraps
ForgejoClient.createIssue, so the pieces are in place. See
kanon/iw-plugin/commands/feedback.scala, which calls
env.tracker.createForgejoIssue against iterative-works/dev-docs at
https://code.iterative.works and reads $FORGEJO_API_TOKEN.

Changes needed:

  • Feedback.submit calls createForgejoIssue with the Forgejo base URL and token.
  • Constants.Feedback gains the base URL alongside the repository slug.
  • Missing $FORGEJO_API_TOKEN produces the same helpful message the kanon command
    prints, rather than an API error.
  • Help text drops "via GitHub issues".
  • --type bug|feature needs a home on Forgejo (label, or a line in the body as the
    kanon command does).

Found while filing kanon feedback from cmi-portaly (CMIPL E2E planning).

## What happens `iw feedback "..."` always fails: ``` $ ./iw feedback "Missing skill: ..." --type bug --description "..." /home/mph/.nix-profile/bin/gh Error: Failed to create issue: GraphQL: Repository was archived so is read-only (createIssue) ``` ## Why `core/commands/Feedback.scala` submits to `Constants.Feedback.Repository`, which is `"iterative-works/iw-cli"` (`core/model/Constants.scala:71`), and `LiveCommandEnv.createFeedbackIssue` (line 381) routes that through `GitHubClient.createIssue`. So feedback goes to **github.com/iterative-works/iw-cli**, which is an archived, read-only mirror. The project's own tracker is Forgejo, not GitHub. From this repo's `.iw/config.conf`: ```hocon tracker { type = forgejo repository = "iterative-works/iw-cli" baseUrl = "https://code.iterative.works" } ``` The git remotes agree: `origin` is the Forgejo repo, `github` is the mirror. ## Effect The one channel for reporting an iw-cli problem is dead, and the error message ("Repository was archived") does not tell the user what to do instead. The user has to know to reach for `iw kanon/feedback`, which is a different target (kanon workflows and guides, not iw-cli defects). ## Suggested fix Route feedback over Forgejo, the way the kanon plugin's command already does. `LiveCommandEnv.createForgejoIssue` (line 464) exists and wraps `ForgejoClient.createIssue`, so the pieces are in place. See `kanon/iw-plugin/commands/feedback.scala`, which calls `env.tracker.createForgejoIssue` against `iterative-works/dev-docs` at `https://code.iterative.works` and reads `$FORGEJO_API_TOKEN`. Changes needed: - `Feedback.submit` calls `createForgejoIssue` with the Forgejo base URL and token. - `Constants.Feedback` gains the base URL alongside the repository slug. - Missing `$FORGEJO_API_TOKEN` produces the same helpful message the kanon command prints, rather than an API error. - Help text drops "via GitHub issues". - `--type bug|feature` needs a home on Forgejo (label, or a line in the body as the kanon command does). Found while filing kanon feedback from cmi-portaly (CMIPL E2E planning).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
iterative-works/iw-cli#426
No description provided.