Skip to content

id(world_ssh): crate does not compile with the ssh feature — render_ansi_diff visibility + russh auth_publickey signature #3962

Closed

Description

@dezren39

Found 2026-11-01 by queue worker lane F (task 5847) while verifying PR #3960: the id crate does not compile with the ssh feature enabled, on clean main (verified by stashing all local changes and re-running the check — identical errors, so this is pre-existing and unrelated to PR #3960).

Repro (on the laptop, pkgs/id):

cargo check --features ssh

Errors:

  1. src/world_ssh.rs:921 — E0624: method render_ansi_diff is private. It is pub(crate) in crates/id-core/src/world_presentation.rs:462, but the id crate calls it across the crate boundary created by the pkgs/id: split the monolith crate into sub-crates along module seams (prioritized by Drew 2026-11-01) #3447 split.
  2. src/world_ssh.rs:308 — E0053: auth_publickey has an incompatible type for the russh server trait: expected VerifiedPublicKey<'_>, found &russh::keys::PublicKey.

Acceptance:

  • cargo check --features ssh (and --features web,ssh) passes in pkgs/id.
  • CI exercises the ssh feature for the id crate, or the gap is explicitly documented — this breakage survived because the checked feature set apparently excludes ssh.

Related but distinct: issue #3923 / issue #3951 (id-core lib tests vs the vt100 crate, same world_presentation.rs neighbourhood).

Acceptance criteria

  • cargo check --features ssh and cargo check --features web,ssh pass in pkgs/id on current main.
  • The render_ansi_diff visibility error (world_ssh.rs:921) and the russh auth_publickey signature error (world_ssh.rs:308) are both fixed, not just one.
  • CI exercises the ssh feature for the id crate, or the exclusion is explicitly documented so this breakage class cannot survive silently again.

Activity

  1. added
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    kind/bugSomething isn't working (prefixed form of the classic bug label)
    source/queue-workerFiled or worked by the queue/worker pilot
    priority/normalOrdinary priority (the default)
    effort/sSmall: expected under 2 hours of work
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Nov 1, 2026
  2. dezren39 commented on Nov 1, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet monitor intake enrichment (protocol §5), 2026-11-01.

    Still live: checked merged PRs and recent work in this area — no merged PR explicitly resolves this issue, and the filing evidence is from current main today. Not closing.

    Related: Related: issue #3923 and issue #3951 (id-core vt100 dev-dependency, same world_presentation.rs neighbourhood — a different breakage, do not conflate). No merged PR fixes the ssh feature build; verified live on current main by the filing lane (task 5847, PR #3960 verification).

    Risks / notes: Two independent errors (visibility across the #3447 crate split, and a russh trait signature change) — a fix for one will surface the other. The CI feature-coverage gap is the systemic half of this issue.

    Suggested approach: Fix render_ansi_diff visibility at the id-core boundary (pub use or a public wrapper, not pub(crate) widening by default), update auth_publickey to the current russh VerifiedPublicKey signature, then add the ssh feature to a CI check matrix for pkgs/id.

    Labels normalized (kind/source/status/priority/effort/app as applicable) and meta/enriched applied; an ## Acceptance criteria section was appended to the issue body (original body preserved verbatim above it).

  3. added a commit that references this issue on Nov 3, 2026
  4. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · evidence (task 6684, verifying the 9-6 gate)

  5. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 3, 2026
  6. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: triaged (coverage pass)
    Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
    Found via: coverage pass 2026-11-03

  7. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  9. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

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

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/sSmall: expected under 2 hours of workkind/bugSomething isn't working (prefixed form of the classic bug label)meta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)source/queue-workerFiled or worked by the queue/worker pilottask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions