Loading
Draft: docs(plans): add S34 PyPI hosted implementation plan
What does this MR do and why?
Adds the implementation plan for S34: PyPI hosted (spec in !1007) plus its plan-index row.
Merge order: this branch stacks on the S34 spec commit; !1007 must merge first, after which this MR's diff reduces to the plan file and index row alone. No step MR opens before this plan MR lands (plan-before-implementation guardrail).
Shape:
- 22 MR-sized steps with four independent roots (schema,
PypiConfig, the lexical validation core, the buffered-update helper) and genuine sibling parallelism across the three endpoint tracks (publish, Simple API pages, downloads + metadata files); the step DAG, mermaid graph, and Status table are lockstep-verified. - Research-verified against the codebase, not assumed: routing/root-dispatcher mechanics (including the ServeMux 307-redirect trap on slash-less upload URLs — twine and Poetry hard-fail any redirect, so both route forms register explicitly), the auth-dispatch table row, storage
Session/OpenBlobsignatures, migration idioms (64 unrolled partitions, NOT VALID/VALIDATE enum widening), the five format-enum allowlist sites, config plumbing with the configuration-reference pairing guardrail, CI wiring obligations (lint:integration-test-wiring,fuzz:pypi,conformance:pypi), and npm-plan LOC actuals driving the step sizing and seam-interrogation notes. - AC traceability: all 48 spec acceptance criteria map to steps with no gaps; the four error-case rows without a numbered AC are routed explicitly.
- Validated by three adversarial review rounds with real implementation probes (each in throwaway worktrees, nothing committed): extraction
ReaderAtover rangedOpenBlob, the PEP 440 subset, the multipart walk with incremental field caps, migrations passing the pinned squawk, the auth row landing green against liveinternal/authtests, renderer determinism with the resolvers' real Accept headers, publish-committer transaction idioms against jet, and the Step 22 lexical surface (22/22 probe subtests) — plus the mandatedpr-review-toolkit:review-prpass. Every finding was fixed in place; round 3 certified the plan.
External dependencies flagged in-plan: the Snowplow artifact_registry_context iglu schema accepting pypi, and the S01 Content-Length pre-check residual (#89 (closed)) affecting large uploads.
Related to !1007