Skip to content

v0.22.36

Choose a tag to compare

@genedna genedna released this 15 Sep 15:17
· 687 commits to main since this release

Changes

  • Classify detected pkt-line framing errors as LBR-NET-002 at clone, ls-remote, pull and fetch object-transfer boundaries. Inspect the original error carrier before timeout or host-key heuristics, using the shared marker constant.
  • Classify ordinary non-protocol packet-read IO failures in fetch and pull as LBR-NET-001, with the existing network retry hint. Partial pkt-line headers/payloads remain protocol errors; fetch/pull retain their no-extra-hint contract for those packet-read errors.
  • Match IO diagnostic prefixes without constructing a second complete diagnostic string. Normal user-message rendering can still cost time and memory proportional to the message.
  • Preserve authentication, host-key handling, clone discovery's ordinary LBR-IO-001 case, and clone's existing incomplete-pack classification. Explain the protocol/network distinction, including an empty discovery advertisement (LBR-NET-002) versus frame-boundary EOF before pack data begins, such as an empty upload-pack POST response (LBR-NET-001 for fetch/pull).
  • Sync four commands' EN, zh-CN, developer and website documentation, the error-code/compatibility notes, and the Cargo-only integration-test index.

Validation

  • Independent Claude full R2 source review PASS; a separate independent followup approved the exact documentation delta. Codex reviewed the code, documentation, execution evidence and recorded all P2 dispositions. No remaining P0/P1 for this card.
  • All 25 required new test names compiled uniquely and ran. The four command modules passed 131/131 with no failures or retries; this includes actual local HTTP empty-advertisement paths through fetch/clone/ls-remote/pull and clone's two discovery GETs plus wanted-object POST. These fixtures use production HttpsClient over local HTTP; they do not claim TLS or raw Git/SSH transport coverage.
  • The first fixture run failed two tests and is retained. After correcting named-remote setup and the test runtime, all131 passed. A later document guard failed on command punctuation; the command was fenced without changing any code/test bytes, and all 15/15 guards then passed. Exact source continuity was verified; these failures are not hidden or reclassified as clean runs.
  • Post-bump unfiltered default suite: 10130/10130 passed, 231 binaries, zero failures/errors/retries, run 27e20b0a-8d89-4197-8f13-a958fd6a4843. The case set exactly equals v0.22.35's 10,105 cases plus the25 required tests. The three original ignored cases remain unchanged.
  • Cargo check, nightly fmt, scoped Clippy with -D warnings, the exact Cargo lock refresh and all six version surfaces passed. Website documentation generation and typecheck passed on the final source; the signed website documentation commit accompanies this release.
  • The first full attempt stopped during compilation when mold was terminated, before any tests started. Its failure record is retained and the cause remains unconfirmed. A same-source compile-only run under rootless signal tracing succeeded with232 executable artifacts and no SIGKILL; this diagnostic is separate from the subsequent normal, untraced full-suite acceptance above.
  • Multi-platform distribution, Homebrew sentinel and signed-manifest evidence is verified separately against this exact tag/commit.

Scope

This release completes PKT-10's command-boundary implementation on v0.22.35. Remaining push status handling and Git/SSH reader work belong to subsequent cards. URL carrier matrices are not raw transport tests. Pre-existing diagnostic-redaction and test-guard coverage limits are recorded in the plan; this change does not claim to fix them or explain historical compiler SIGKILL events. The full plan and its final aggregation remain in progress.