fix(framework): restore resilient Git wrapper issue creation #703

Closed
opened 2026-07-12 14:45:30 +00:00 by jason.woltje · 0 comments
Owner

Problem

The deployed Git wrapper issue-create path fails its Tea request with GetUserByName before falling back to the Gitea API. The deployed issue-create wrapper also rejects -i, so it cannot provide the required interactive issue-authoring path.

Wrapper contract

  • Git wrapper commands resolve Gitea authentication from the current repository origin host; a stale Tea login must not prevent a supported operation.
  • issue-create supports -i and --interactive. Interactive mode prompts for title, optional body, labels, and milestone without leaking credentials. Explicit command-line values remain non-interactive and take precedence.
  • Existing non-interactive issue-create and pr-create behavior remains compatible, including authenticated Gitea API fallback when Tea is unavailable or fails.

Planned fix

  1. Add safe interactive argument parsing and prompt collection to issue-create.
  2. Preserve host-derived Tea login resolution and make the issue-create fallback path verifiable when Tea reports GetUserByName.
  3. Add regression coverage for interactive parsing plus the existing host/login and body-safety cases.
  4. Re-seed the installed framework wrappers and exercise deployed issue-create and pr-create end to end.

Acceptance criteria

  • issue-create -i works against a deployed wrapper without passing credentials to output.
  • GetUserByName in Tea is recovered by the documented authenticated API fallback.
  • Deployed issue-create and pr-create end-to-end workflows succeed.
## Problem The deployed Git wrapper issue-create path fails its Tea request with GetUserByName before falling back to the Gitea API. The deployed issue-create wrapper also rejects -i, so it cannot provide the required interactive issue-authoring path. ## Wrapper contract - Git wrapper commands resolve Gitea authentication from the current repository origin host; a stale Tea login must not prevent a supported operation. - issue-create supports -i and --interactive. Interactive mode prompts for title, optional body, labels, and milestone without leaking credentials. Explicit command-line values remain non-interactive and take precedence. - Existing non-interactive issue-create and pr-create behavior remains compatible, including authenticated Gitea API fallback when Tea is unavailable or fails. ## Planned fix 1. Add safe interactive argument parsing and prompt collection to issue-create. 2. Preserve host-derived Tea login resolution and make the issue-create fallback path verifiable when Tea reports GetUserByName. 3. Add regression coverage for interactive parsing plus the existing host/login and body-safety cases. 4. Re-seed the installed framework wrappers and exercise deployed issue-create and pr-create end to end. ## Acceptance criteria - issue-create -i works against a deployed wrapper without passing credentials to output. - GetUserByName in Tea is recovered by the documented authenticated API fallback. - Deployed issue-create and pr-create end-to-end workflows succeed.
jason.woltje referenced this issue from a commit 2026-07-12 20:49:46 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#703