Skip to content

stale-pr: resolve code#3092 — REPL malformed-flag rejection conflicts semantically with main's format_error handling in runner.rs #3821

Closed

Description

@dezren39

Resolution task for PR #3092 (fix(id): reject malformed REPL flags).

Parked during the 2026-11-01 merge pass. A trial merge of current main into the branch (worktree, aborted after inspection) produces 7 conflict hunks in pkgs/id/src/repl/runner.rs, and they are semantic, not mechanical:

  • The branch adds a required_value helper that hard-errors when a value-taking flag lacks a value ("{flag} requires a value"), e.g. for -o/--output, --dir, --format.
  • Current main evolved the same call sites to soft recording instead: e.g. --format with an invalid value sets args.format_error and continues, rather than bailing.

Both behaviors cannot be kept; which semantics win per flag is a design decision for the REPL owner (hard-reject malformed flags per #2274, vs main's later format_error recording). Resolve by re-implementing the branch's validation on top of main's current parse_find_args/parse_search_args structure, keeping whichever error semantics the owner chooses, then merge.

PR: #3092

Activity

  1. developing-today commented on Nov 1, 2026

    @developing-today
    Contributor
  2. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  3. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    Tracker resolved: PR #3092 landed — closing.

    Fresh check, 2026-11-03, against main (8e76c6f):

    • PR fix(id): reject malformed REPL flags #3092 fix(id): reject malformed REPL flags (queue/4318-2274-repl-flags → main) is MERGED at 2026-11-02T14:08:43Z.
    • Merge commit 72774b57 is an ancestor of current main.
    • The branch's validation is on main: required_value appears 6× in pkgs/id/src/repl/runner.rs, so the malformed-flag rejection was not dropped during the merge.
    • The 7 semantic conflict hunks described when this tracker was parked (hard-reject vs main's args.format_error soft recording) were resolved in that merge; nothing remains to re-implement.

    Disposition: land happened; tracker closes. No follow-up task needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions