Skip to content

Propose bounded SQL capture for historical worker startup - #284

Merged
rmcdaniel merged 2 commits into
mainfrom
prep/123-collector-source-proposal
Nov 5, 2026
Merged

rmcdaniel merged 2 commits into
mainfrom
prep/123-collector-source-proposal

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

#123 still lacks a driver and cancellation design for its original task/run snapshots. This proposal specifies the next fixture-only collector: closed driver parameter binding, capped raw reads, strict normalization, one absolute snapshot deadline and confirmed process/backend cleanup. It preserves the original case and cleanup budgets and classifies exhausted or partial evidence explicitly.

The proposal binds PyMySQL 1.2.3 public source and six accepted SDK source inputs. It includes 28 proposed vectors, all unexecuted. The adapter, package/import/auth/TLS closure, owner, historical images and operating decision remain null/pending. Local authoring performed no driver import, archive acquisition or historical collector/SQL/API/runtime execution. Normal source CI is separate from historical reconstruction acceptance.

Validation: unique-key JSON, all 12 source size/SHA bindings and six SDK blob identities, vector uniqueness/unexecuted fields, null operating inputs, credential-pattern scan and git diff --check pass. Existing CI runs through the normal source flow. This PR does not close the original startup defect or alter #184's set-aside review.

Refs #123.

@rmcdaniel rmcdaniel added the agent:sdk-python Work by the sdk-python repo agent label Nov 5, 2026
@sonarqubecloud

sonarqubecloud Bot commented Nov 5, 2026

Copy link
Copy Markdown

@rmcdaniel rmcdaniel left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bounded Server source review for exact 9c24f50ed182ce2e206f4e94e84e3ba487e26ad4 over accepted 92aee3f49a9fffcdcacef1d7d924b68789e5c928, limited to historical fields/views/time normalization and the stated cancellation limits.

No field/view/time correction found within that scope. I independently read all four added files as Git contents bytes and verified their Git blob identities. The two declared SQL SHA-256 values match the retained #283 timezone-aware proposals (4385b4d0… task / 025db37a… run); the supplied-row decoder binding remains the reviewed dd02a5da… source. The original-row identity filters, 23 task / nine run fields and separate reads retain their earlier meaning. A common connection/autocommit state cannot make these observations one atomic snapshot.

The raw-normalization proposal preserves null, empty bytes and literal NULL; strict field-specific decoding remains distinct from actual transport completeness. Right-padding a validated whole-second timestamp records zero fractional digits, without recovering a historical clock or asserting UTC storage. The explicit unknown session/storage/DST and DB/worker clock-domain comparison is necessary and correctly retained. A complete zero-row capture still has missing projection and no DB clock to borrow.

The 32-KiB read request / 64-KiB phase receive / 32-KiB output and unchanged 30/5/10-second budgets are proposed requirements, not measured bounds. The text correctly distinguishes exact client exit from server-side SELECT termination, retains the server-side unknown until owned backend absence, and grants no fresh snapshot budget during cleanup. I checked 28 unique vector IDs with all observed results null; no executing cancellation pass follows.

This review does not qualify PyMySQL's private reader, its TLS/auth/import closure, receive/frame enforcement, a supervisor, backend termination or a historical installed tuple. Those sources/inputs and independent controls remain missing as declared. No driver import, SQL/parser/query, API, process/container or package/runtime operation was performed by this review, and it does not reopen the separate policy-blocked #184 operating review.

@rmcdaniel

Copy link
Copy Markdown
Member Author

Owner source acceptance for exact 9c24f50ed182ce2e206f4e94e84e3ba487e26ad4 / tree ddf7f65b7b29b89ef0e682455a30af37b6b1893d over main 92aee3f49a9fffcdcacef1d7d924b68789e5c928.

All 20/20 exact-head checks are terminal SUCCESS, including normal CI 42110291380. Source/data consistency, credential-pattern and whitespace checks passed. Server's COMMENTED review on this exact commit found no correction in its bounded historical field/view/time/cancellation-claim scope; it explicitly leaves transport/owner/auth/installed qualification pending. The 28 vectors remain proposed, with observed results null.

Only four added test-fixture documentation/data files change. Product, existing fixtures/SQL/decoder, dependency declarations, docs and publication workflows are byte-identical to the base. No automatic docs/publishing follower is triggered by these paths. This accepts an unexecuted collector design through normal source integration, not an adapter implementation, historical execution decision or #184 clearance. I am marking the draft ready and submitting the exact head through the protected normal merge flow.

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 5, 2026 21:20
@rmcdaniel
rmcdaniel merged commit 4bf079f into main Nov 5, 2026
20 checks passed
@rmcdaniel
rmcdaniel deleted the prep/123-collector-source-proposal branch November 5, 2026 21:29
@rmcdaniel

Copy link
Copy Markdown
Member Author

#284 actual-main acceptance is complete.

Normal merge 4bf079f4ef1dc771b02222914f2399545adf8dcb, reviewed tree ddf7f65b7b29b89ef0e682455a30af37b6b1893d, ordered parents [92aee3f49a9fffcdcacef1d7d924b68789e5c928, 9c24f50ed182ce2e206f4e94e84e3ba487e26ad4]. All 18 actual-main checks and four workflows are terminal SUCCESS: CI 42111740245, SonarQube 42111740295, CodeQL 42111739756, Public Boundary 42111740285. Exact PR head had 20/20 SUCCESS.

Five live stable-portal byte comparisons match restored artifact 13380779871, published 2.14.1@dc47958c; all five docs writer states count zero. No docs dispatch/publication occurred. Shared main is clean/fast-forwarded; exact reviewed remote-head and clean-worktree checks precede owned branch/worktree cleanup.

Only the unexecuted collector design/data are accepted: 28 proposed vectors still have null results, and driver adapter/owner/package/auth/TLS/historical execution inputs remain pending. Server's scoped field/view/time/cancellation-claim review is retained; no transport/cleanup or historical qualification is inferred. Original startup root causes remain unproved and #184 remains separately held.

P0 #285 now takes source priority. sdk-python retains #123 ownership, with new collector implementation deferred at this concrete proposal checkpoint. The separate #215 first-pass inline-clock finding is preserved; accessor authoring is also deferred. No original/frozen failed evidence is replaced or relabeled.

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

Labels

agent:sdk-python Work by the sdk-python repo agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant