Skip to content

Task 2 version-policy exceeds the 250–500 line estimate (tracking) #473

Description

@AkaraChen

Summary

Parent: #472 / #466. Tracking only — not a follow-up implementation.

Issue #472 estimated 250–500 lines and required material scope growth to become a separate issue. The version-policy rewrite is larger because #472 also required protocol-floor classification (not exact pin), PATH herdr preference vs sidecar fallback, old-server / newer-compatible / PATH-vs-sidecar fake-herdr proofs, inversion of exact-pin live-server tests, and a user-visible toast of the fail-closed herdr update string without a Settings health page.

Approximate churn on task-2-version-policy vs task-1-attach-user-session (b39371f): 650 insertions / 26 deletions (10 files).

What grew

  • src-tauri/crates/infra/src/herdr/process.rs (protocol >= 22 floor, old-server herdr update message, fake-herdr old/new reuse tests)
  • src-tauri/crates/infra/src/herdr/mod.rs (--version floor, PATH lookup helpers, pin stays v0.9.0)
  • src-tauri/crates/service/src/runtime.rs (PATH preferred over sidecar; old PATH does not start sidecar; isolated PATH/XDG tests)
  • src/features/terminal/hooks.ts / src/features/profiles/hooks.ts (existing sonner surface for the fail-closed string)
  • Current-state sentences in docs/herdr-integration.md, docs/architecture.md, docs/configuration.md

The extra lines are tests and the binary-preference / version-policy #472 asked for. Production still does not implement Task 3 (bidirectional e2e + sharing-contract rewrite). The sidecar pin remains v0.9.0; latest is still refused.

Decision

Keep the extra evidence in Task 2. Splitting PATH preference, the old-server fail-closed proof, or the toast surface into a later issue would leave #472's acceptance criteria unproven.

Do not fold Task 3 into task-2-version-policy. No production work belongs on this tracking issue.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions