Skip to content

docs: overhaul handoff rev 3 — rebase on d606b75, five review gaps - #23

Merged
aliasfoxkde merged 3 commits into
mainfrom
codex/py7zip-production-handoff-20261011
Oct 11, 2026
Merged

aliasfoxkde merged 3 commits into
mainfrom
codex/py7zip-production-handoff-20261011

Conversation

@aliasfoxkde

Copy link
Copy Markdown
Owner

Draft — do not merge as-is; review pass wanted. Docs-only revision of the canonical handoff docs/handoffs/2026-10-11-py7zip-overhaul.md, edited in place (revision 3 entry per the doc's own convention). No runtime code changed.

What changed

Evidence boundary rebased onto origin/main = d606b75 (PR #22). OVH-05 (get_binary_url() safe-path fix) landed after the doc was baselined, so it is now recorded as LANDED throughout (§1, §5.1 critical path, ledger row, §6 spec — including the deliberate deviation: fail-fast NotImplementedError instead of delegate-to-ensure_binary(), pinning test at tests/test_default_api.py:33). Every py7zip.py line citation was re-verified at d606b75 because PR #22's import removal shifted the file by one line (:19–40→:18–39, :9,85–115→:9,84–114, :24→:23); the publish.yml tag-gate citation was tightened to :28–35.

The five independently reviewed gaps:

  1. Upgrade-safe removal of full/incremental/differential/snapshot/cd (OVH-14). New V20 evidence: the PyPI 0.6.2 sdist (sha256 ca0f81b3…8d6) ships all five methods (cd l. 48, family l. 110–114; git anchor 69927d5, 2024-02-24). Direct removal would turn 0.6.2 callers' silent no-op success into AttributeError on upgrade. OVH-14 is now two commits: deprecate (DeprecationWarning + pytest.warns pins, honoring the suite's filterwarnings=["error"]) → remove only after the deprecating release is verifiably on PyPI.
  2. B0 Windows behavior/fallback + bounded decision (§1, OVH-07). B0 Windows behavior is now explicit: safe runtime resolves repo-hosted checksum-pinned 7za.exe (TOFU digests, UNPROVEN provenance rows) as a governed fallback; windows/arm gets the typed refusal; no support claim (OVH-26 rule). D-OVH-2 gets a bounded deadline (same maintainer pass as OVH-26, no later than the OVH-09 catalog freeze) with escalation — the fallback covers at most the first post-B0 release and is never silently re-extended.
  3. Temp-path acceptance rules reconciled (§2.1, OVH-01). Acceptance commands now create runner-owned scratch (mktemp -d, honoring TMPDIR) instead of the fixed /var/tmp/ovh01a|b paths that contradicted §2.1's own rule; historical probe artifacts (V2/V8/V17/V19/V20) are explicitly classified as evidence, never acceptance requirements.
  4. Integration-probe gate status (OVH-11). Env-guarded probes are stated to be not a gate for OVH-11/OVH-21: the probe must exist (registered marker, skipped by default, CI never sets the env var); a run's output is receipt evidence for OVH-23/AGENTS.md promotion — it gates support claims, never the release.
  5. Platform/architecture rows enumerated (new §6.2). Exactly ArtifactCatalog's 9 resolution rows + typed refusals, each with provenance state and the tasks it binds (OVH-02/03/04/09/11/23, D-OVH-2, OVH-29); claims outside the table are out of scope by definition.

Validation performed

  • All 18 file:line citations in the revised doc re-verified against this HEAD (a9a0a06): py7zip.py, acquisition.py, platforms.py, pyproject.toml, publish.yml, 4 test files.
  • V20 probe run 2026-10-11: PyPI 0.6.2 sdist downloaded, sha256 recorded, five methods located (artifact archived to the established GC-eligible probe dir outside Git).
  • Markdown checks: code fences balanced, §6.2 table uniform, internal §-references resolve; no acceptance command references a fixed host path.
  • The stale forward-looking "128 passed" expectation in OVH-01 was annotated (V1's count predates PR fix: pin get_binary_url safe-path behavior (OVH-05) #22's added test).

Deliberately not done

No merge, no release, no deploy; no implementation code, no test runs, no builds. docs/Home.md is an empty stub and no tracked file links this handoff, so no index pointers needed maintenance.

🤖 Generated with Claude Code

Rebaseline docs/handoffs/2026-10-11-py7zip-overhaul.md onto
origin/main = d606b75 (PR #22) and record OVH-05 as landed
throughout (S1, S5.1, ledger, S6 spec); py7zip.py citations
re-verified at the new HEAD (PR #22's import removal shifted the
file by one line; publish.yml tag gate tightened to :28-35).

Incorporate the five independently reviewed gaps:
1. OVH-14 becomes a deprecate-then-remove sequence for
   full/incremental/differential/snapshot and cd, grounded in new
   V20 evidence: the PyPI 0.6.2 sdist ships all five methods, so
   direct removal would turn 0.6.2 callers' silent no-op success
   into an AttributeError on upgrade.
2. B0 Windows behavior is explicit (repo-hosted checksum-pinned
   binaries as a governed fallback, typed refusal on windows/arm,
   no support claim), and D-OVH-2/OVH-07 gains a bounded decision
   deadline with escalation instead of an indefinite fallback.
3. Acceptance rules require runner-owned mktemp scratch honoring
   TMPDIR; fixed /var/tmp paths in evidence rows are classified as
   historical probe artifacts, never acceptance requirements.
4. Env-guarded integration probes are non-gating for
   OVH-11/OVH-21: the probe must exist (registered marker,
   skipped by default); its run output is receipt evidence only.
5. New 6.2 enumerates the supported platform/architecture rows
   (exactly ArtifactCatalog's surface plus typed refusals) and
   binds them into OVH-03/04/09/11/23 acceptance.

Docs-only; no runtime code edited. Revision 3 entry added per the
document's in-place revision convention.

Co-Authored-By: Claude <noreply@anthropic.com>
@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@coderabbitai

coderabbitai Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: eefb860a-7452-49d7-a1f3-edcd4b48129f

📥 Commits

Reviewing files that changed from the base of the PR and between d606b75 and 567ff9f.


📒 Files selected for processing (1)
  • docs/handoffs/2026-10-11-py7zip-overhaul.md

 ______________________________________________________
< Review complete: I laughed, I cried, I filed issues. >
 ------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Michael Kinney and others added 2 commits October 11, 2026 11:16
Folds an independent review of PR #23 at a9a0a06 (Z.AI GLM Turbo,
glm-5-turbo; PASS with corrections) into the overhaul handoff:

- M1: D-OVH-2 catalog-freeze deadline is enforced by an explicit
  OVH-09 acceptance rule; drop the false claim that OVH-13's
  Depends on enforces it (OVH-09 deps are OVH-02/08/29). Ledger
  re-validated: acyclic.
- L1: new gate OVH-30 (D-OVH-7) records the snapshot-family/cd
  removal version and window; OVH-14 commit 1 quotes the record
  instead of inventing a version.
- L2: citation fixes - characterization pins are
  tests/test_characterization_wrapper.py:300-356, publish.yml tag
  gate is :28-34, requests claim adds legacy setup() at
  py7zip/py7zip.py:123.
- L3: OVH-11 fake-transport acceptance requires a size-aware or
  chunking fake (FakeUrllibRequest._Context.read() takes no size;
  production reads read(1024*1024) chunks).
- L4: OVH-25 consumes only PLATFORM_MATRIX.md tier definitions;
  its host rows are historical and contradicted by platforms.py.
- Info: workflow_dispatch cannot exercise the trusted-publishing
  step (release-only gates); OVH-02 must reconcile the stale
  bin/INFO.md inventory.

Docs-only; no runtime code edited.

Co-Authored-By: Claude <noreply@anthropic.com>
Follow-up to rev-4 review (3f14593):

- OVH-05: the landed NotImplementedError message directs callers to
  download_binary() or a pre-verified binary_path= argument only
  (py7zip/py7zip.py:162-167); it never mentions ensure_binary(),
  pinned by tests/test_default_api.py:50. Cited source and test.

- OVH-02: the two INFO.md-listed paths (bin/win/arm/x86/7za.exe,
  bin/mac/arm/x32/7za) are absent from disk, while the win/arm and
  mac/arm slots exist only as 0-byte placeholders at different names
  (x32/x64 without .exe; x64/x86) - no usable artifact either way.
  Narrowed the convention claim: only INFO.md:6 drops architecture;
  INFO.md:7 and the examples keep it; the INFO.md:10 lin/arm/x86
  example disagrees with on-disk bin/lin/arm/x32/7za.

Co-Authored-By: Claude <noreply@anthropic.com>
@aliasfoxkde
aliasfoxkde marked this pull request as ready for review October 11, 2026 16:40
@aliasfoxkde
aliasfoxkde merged commit c86190a into main Oct 11, 2026
7 checks passed
@aliasfoxkde
aliasfoxkde deleted the codex/py7zip-production-handoff-20261011 branch October 11, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant