Skip to content

Migrate the scenario subsystem and mutation-falsification harness to data-connectors before retiring pdpp's connector copy #337

Description

@tnunamak

What

Track migration of pdpp's scenario subsystem, scenario CLIs, and mutation-falsification harness to data-connectors before retiring pdpp's packages/polyfill-connectors copy. The harness lives under root scripts/, outside that package. Connector source ownership and the server/console move have landed; the September 5 audit confirmed production running a data-connect build with a data-connectors package. That audit did not establish completion of the whole reorg: consumer CI, live-branch/main reconciliation, documentation, and deferred required-check enforcement remain open.

Inventory to migrate or account for

Scenario subsystem (pdpp main, absent from data-connectors main)

  • packages/polyfill-connectors/src/scenario/ — the complete tree: claims, isolation mechanism and its tests, recording, replay, format/validation, HAR, preload, and wire-registry code.
  • packages/polyfill-connectors/bin/scenario-verify*.ts, scenario-record.ts, scenario-cli.test.ts, scenario-fidelity.test.ts, scenario-record-har.test.ts.

pdpp #274 (head 3a490c1de)
Six-file repair containing changes addressing the older external-review findings; final acceptance requires re-review. Files: .github/workflows/polyfill-connectors.yml, bin/scenario-verify.ts, bin/scenario-verify-strict.test.ts, src/scenario/claims.ts, src/scenario/isolation.ts, src/scenario/isolation-mechanism.test.ts. The isolation boundary is not certified closed: the strong replay claim stays withheld and its proof obligations stay tracked.

pdpp #263 (head 62473d87b), all 23 files

  • 18 files under scripts/mutation-falsification/
  • scripts/test-migration/mutation-oracle.ts
  • test-accounting.manifest.json
  • .gitignore
  • openspec/changes/add-mutation-falsification-evidence/{DECISION-MEMO.md,tasks.md} — preserve the existing proposal/design context in that directory.

Migration obligations, not files that may silently disappear: scripts/test-accounting/authority.ts and its dependency closure, complete-suite/profile semantics, and packages/polyfill-connectors/connectors/groupme/incremental-frontier.test.ts. #263's recorded outcome is NARROW: the real GroupMe batch run and triage were incomplete, not passed.

Why not port now

A direct copy is incomplete: data-connectors lacks the scenario subsystem and pdpp's accounting/migration infrastructure. Migration needs an explicit destination interface and preserved evidence semantics, or an independently reviewed replacement. Decision (owner, 2026-09-06): #263 and #274 merge in pdpp after re-review; this issue tracks their migration together with the subsystem.

Done when

  • Destination-native commands and CI in data-connectors run the scenario subsystem, scenario CLIs, and the mutation harness (or an independently reviewed replacement) with equivalent regression and falsifiability coverage, validated on behavior and evidence, not documentation alone.
  • Every dependency, fixture, manifest entry, workflow, and OpenSpec obligation above has an explicit disposition.
  • A rehearsal proves no remaining pdpp consumer needs the deleted package. Migration is verified before deletion; the deletion itself needs a separate exact-head review and sign-off. chore(move-b): remove the reference implementation, now canonical in data-connect #284 is precedent, not proof.
  • data-connectors README no longer says pdpp's copy "still runs the product". That claim was already stale at the audit and can be fixed now, independent of migration.

Source: local September 5 audit ALIGNMENT-0905.md §C1–C2 (gpt-6-astra).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions