Skip to content

feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B)#2646

Draft
jucor wants to merge 1 commit into
spr/edge/a85047a7from
spr/edge/9f45b733
Draft

feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B)#2646
jucor wants to merge 1 commit into
spr/edge/a85047a7from
spr/edge/9f45b733

Conversation

@jucor

@jucor jucor commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Sonnet-agent build from SPEC_B: scripts/prodclone_extract.py (click CLI:
survey + extract) over polismath/replay/prodclone.py (pure SQL builders,
feature classifiers, CSV writers, slug minting, path-safety guard).

Privacy invariants (reviewed): output path resolved + asserted under
real_data/.local/ (refuses anything else); dir prefix is a salted sha256 of
the zid, never a real report id; comment-body column present but ALWAYS
empty (text redacted — the math pipeline never reads it); slug→zid map only
in .local/prodclone_map.json (merge-update). Export mirrors the public
format byte-layout (votes: full revote history ORDER BY created, ctid — no
dedup; comments: agrees/disagrees counted over all vote rows like
report.ts).

Feature classes: modheavy / revote / banned (participants.mod=-1 voters) /
meta / zerovote / smallmix / midmix (unremarkable volume coverage).

Tests: 52 passed — pure-function units (no DB) + one integration test on
the repo's require_polis_postgres throwaway-Postgres fixture, round-tripping
survey→extract→load_export_votes. TDD (RED commit first in agent clone).

commit-id:9f45b733


Stack:


⚠️ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

…Spec B)

Sonnet-agent build from SPEC_B: scripts/prodclone_extract.py (click CLI:
survey + extract) over polismath/replay/prodclone.py (pure SQL builders,
feature classifiers, CSV writers, slug minting, path-safety guard).

Privacy invariants (reviewed): output path resolved + asserted under
real_data/.local/ (refuses anything else); dir prefix is a salted sha256 of
the zid, never a real report id; comment-body column present but ALWAYS
empty (text redacted — the math pipeline never reads it); slug→zid map only
in .local/prodclone_map.json (merge-update). Export mirrors the public
format byte-layout (votes: full revote history ORDER BY created, ctid — no
dedup; comments: agrees/disagrees counted over all vote rows like
report.ts).

Feature classes: modheavy / revote / banned (participants.mod=-1 voters) /
meta / zerovote / smallmix / midmix (unremarkable volume coverage).

Tests: 52 passed — pure-function units (no DB) + one integration test on
the repo's require_polis_postgres throwaway-Postgres fixture, round-tripping
survey→extract→load_export_votes. TDD (RED commit first in agent clone).

commit-id:9f45b733
This was referenced Jul 22, 2026
@jucor
jucor marked this pull request as draft July 22, 2026 00:52
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 02:01
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (… feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a85047a7 July 22, 2026 02:02
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 02:10
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 03:54
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (… feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a85047a7 July 22, 2026 03:54
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 06:16
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (… feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a85047a7 July 22, 2026 06:16
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 06:50
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (… feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a85047a7 July 22, 2026 06:50
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 08:11
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (… feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a85047a7 July 22, 2026 08:11
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 09:58
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (… feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a85047a7 July 22, 2026 09:58
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) feat(delphi): prodclone extractor — feature-filtered dataset export (… Jul 22, 2026
@jucor
jucor changed the base branch from spr/edge/a85047a7 to edge July 22, 2026 11:20
@jucor jucor changed the title feat(delphi): prodclone extractor — feature-filtered dataset export (… feat(delphi): prodclone extractor — feature-filtered dataset export (Spec B) Jul 22, 2026
@jucor
jucor changed the base branch from edge to spr/edge/a85047a7 July 22, 2026 11:21
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