Skip to content

chore: replace personal and deployment identifiers in tracked files - #638

Open
tnunamak wants to merge 6 commits into
mainfrom
chore/remove-deployment-hostname
Open

tnunamak wants to merge 6 commits into
mainfrom
chore/remove-deployment-hostname

Conversation

@tnunamak

@tnunamak tnunamak commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Tracked files named a private deployment host, personal machine names, people's names, account handles and real email addresses. They sat in test fixtures, code comments, a doc example and two canary manifests. This PR replaces each with a neutral placeholder: pdpp.example.com, workstation, dev-laptop, Jane Doe, jane.doe@example.com and 192.0.2.7 (TEST-NET). Fixtures that need two distinct values keep two distinct placeholders, so test semantics are unchanged.

The one behavior change is in the deploy canary. Its two manifests hard-coded the deployment URL in their http_health probe, so they now carry the path /owner/login. resolveProbeUrl in reference-implementation/scripts/canary/deploy-canary.ts resolves that path against PDPP_CANARY_ORIGIN, which the connector_run check already requires. Absolute URLs pass through unchanged. records-keyset-index-and-bulk-lane.json has no connector_run check, so it now needs the origin where it did not before. A new preflight, probeOriginProblem, runs right after the manifest is parsed and exits with code 2 before the image build when a path probe has no origin or the origin is not an http(s) URL. Without it, the before-metric step would have logged the error and continued, and the after-check would have thrown after the container swap. evaluateAfter now also turns a throwing probe into a failed check, so rollback and the receipt still run. A new test in canary-harness-manifest.test.ts checks that a path resolves against the origin, that an absolute URL passes through, that a path with no origin or a malformed origin throws, and that a throwing after-check becomes a failed outcome. It failed on main because the export did not exist.

Outside the canary script and the tests, code edits touch comments only. Every touched test file was run locally and none failed. Renaming a binding changes the connection ids derived from it, so the hardcoded ids in device-enroll-postgres-admission-decoupling.test.ts were recomputed with makeConnectorInstanceId, and that file was run against a real Postgres 16 (21 of 21 pass). Ids quoted only in comments were replaced with fabricated ones. device-exporter-store and acknowledged-loss-store-postgres skipped their Postgres cases locally.

Not covered here: #637 handles absolute paths in reference-implementation/quality/**, PG-PROFILE-51-REPORT.md, consent-screen-client.tsx, explore-timeline-substrate.ts and the interop script, so this PR leaves those files alone. Opaque cin_ ids in comments and fixtures are left as they are. Git history still holds the old values.

Assisted-by: AI

Tracked files named a private deployment host, its reverse-DNS launchd
label, local binding names, and a home-directory path. Tests and docs now
use neutral placeholders (pdpp.example.com, example-host,
com.example.pdpp.*).

The two canary manifests now carry the health probe as a path
(/owner/login). The harness resolves it against PDPP_CANARY_ORIGIN, the
same required, no-default variable the connector_run check already uses,
and fails with a clear error when it is unset.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Comments and test fixtures named a personal machine and a person. They now
use neutral names (workstation, cin_vm, jane_doe_example_com). Test
semantics are unchanged: one case where a user-chosen name shares no word
with the connector title, one where it contains part of it.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Tests and comments still named a personal machine, a person, a username,
and a LAN address. They now use neutral values (workstation, Jane Doe,
example-user, user@192.0.2.7 from the RFC 5737 range). Machine-name binding
keys are renamed consistently within each test, and the example connection
ids in one index test are fabricated.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Tests and comments quoted real consumer email addresses and account
handles from production observations. They now use fabricated values on
example.com and neutral handles. Test shapes are unchanged: the label
helpers and display-name rules do not depend on the mail provider domain.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
The binding rename changed the ids derived from it. The D8 and D9 Postgres
tests now use ids and a legacy binding key recomputed with the real
makeConnectorInstanceId, and both run green against a real Postgres.
Production connection ids that appear only in comments next to renamed
hosts and accounts are replaced with fabricated ones, and a work email in
a consent-screen test is now on example.com.

The canary now checks, right after the manifest parses, that
PDPP_CANARY_ORIGIN is set whenever an http_health check uses a path. It
exits before the build or any container action; before, a missing origin
only surfaced after the deploy. The README states this.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
A set but malformed PDPP_CANARY_ORIGIN passed the preflight, then made
resolveProbeUrl throw in the after-pass, which had no try/catch. The throw
reached main's top-level catch: exit 1, no rollback, no receipt, new
container left live.

probeOriginProblem now also rejects an origin that is not an http: or
https: URL. evaluateAfter turns a throwing probe into a failed outcome, so
rollback and the receipt still run. One shared isHttpUrl helper replaces
the two URL.canParse checks, so "localhost:8080/health" is treated as a
path. Also removes a bare first name from a test comment.

Assisted-by: AI
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
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