v0.22.36
Changes
- Classify detected pkt-line framing errors as
LBR-NET-002at 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-001case, 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-001for 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.