Skip to content
This repository was archived by the owner on Jul 18, 2026. It is now read-only.

chore: add Apache-2.0 license, neutralize vana->pdp-connect, extract Vana-Web capabilities#98

Merged
tnunamak merged 6 commits into
mainfrom
chore/apache-license-and-neutralize
Jul 18, 2026
Merged

chore: add Apache-2.0 license, neutralize vana->pdp-connect, extract Vana-Web capabilities#98
tnunamak merged 6 commits into
mainfrom
chore/apache-license-and-neutralize

Conversation

@tnunamak

@tnunamak tnunamak commented Jul 17, 2026

Copy link
Copy Markdown
Member

Prep for moving this repo to the PDP-Connect LFDT lab. It does five things:

  1. Adds an Apache-2.0 license. LICENSE + NOTICE (Copyright © 2026 The PDP-Connect Contributors) + the package.json field. The repo had none.

  2. Renames vana to pdp-connect so the repo carries the project's name, not the company's: the ~/.vana/desktop state dir, the skills/vana-connect folder, IndexedDB keys, and the vana-com/data-connectors URLs baked into the generators. Also drops install instructions for the external vana CLI (it lives in another repo) and points people at the in-repo run-connector.cjs instead.

  3. Removes the "Vana Web" column from SCOPES.md. That column described a Vana hosted product (Data Pipe), not the connectors themselves. It moves to Vana's own docs (follow-up PR to vana-com/docs); the data is preserved meanwhile. What's left is a clean catalog of the local connectors.

  4. Removes Vana-internal cruft: the docs/ folder (stale internal design specs linking a private Linear workspace) and the consumer-update-prs.yml workflow (which reached into Vana's private repos to open PRs). A replacement is going up on the context-gateway side so it keeps getting connector updates by pulling instead.

  5. Vendors a standalone playwright-runner/ so connectors run with no other repo cloned. run-connector.cjs (and test-connector.cjs) resolve the bundled runner first; skills/pdp-connect/scripts/setup.sh installs its dependencies (just Playwright) and Chromium in place instead of cloning vana-com/data-connect. PLAYWRIGHT_RUNNER_DIR / --runner-dir remain as an optional override, not a required step.

Three connectors got a patch bump (chatgpt, claude-export, wholefoods) because renaming their internal keys changed already-published artifacts, and the repo treats published artifacts as immutable.

CI is green.

The `vana` strings intentionally left in the tree
  • Links to other Vana repos this one genuinely depends on or is consumed by (unity-surfaces, context-gateway, and the look-alike data-connect with no -ors).
  • The Sigstore signing identity, pinned to the old workflow path on purpose; it gets re-pointed after the transfer when trusted publishing is re-set-up.
  • The NOTICE copyright line (The PDP-Connect Contributors).
Verification
  • npm ci clean
  • connector-index:check, fixture-index:check, scope-catalog:check pass
  • node --test on the contract/generator tests: 14/14
  • Full contract-guardrails.yml sequence run locally against origin/main: all steps pass
  • run-connector.cjs symlink resolves; no /home/tnunamak paths remain
  • node run-connector.cjs connectors/github/github-playwright.js against the bundled runner: boots, launches real Chromium, navigates to github.com/login, runs the connector's actual page-API calls end to end (fails on auth as expected with no live session, proving the wiring rather than a login)
  • Vendored runner's own tests: 3/3 (one conformance test excluded — its corpus fixture wasn't part of the standalone runner extraction)

…Vana-Web capabilities

Three concerns landed together per the LFDT PDP-Connect transfer prep:

1. Licensing: add LICENSE (Apache-2.0), NOTICE (Copyright (c) 2026 Vana
   Foundation), and package.json "license" field. This repo previously had
   neither.

2. Neutralize vana -> pdp-connect (per-line, not a blind sweep):
   - State path ~/.vana/desktop -> ~/.pdp-connect/desktop everywhere
   - skills/vana-connect/ -> skills/pdp-connect/ via git mv; fixed the root
     run-connector.cjs symlink and every path reference (README, CREATE.md,
     RECIPES.md, SKILL.md, SETUP.md, CLAUDE_CONNECTOR_PLAN.md)
   - IndexedDB checkpoint keys vana_*_ckpt -> pdpconnect_*_ckpt (hyphens are
     illegal in IndexedDB names)
   - Hardcoded github.com/vana-com/data-connectors and
     raw.githubusercontent.com/vana-com/data-connectors URLs -> the
     PDP-Connect org, in generator DEFAULTS only (scripts/generate-*.mjs,
     packages/connector-installer-core/index.mjs, registry.json baseUrl,
     schema $id/const/pattern values, wholefoods definitionUrl); regenerated
     connector-index.json, fixture-index.json, scope-catalog.json, SCOPES.md
     to match, and updated generator test assertions
   - Removed the external `vana` CLI install stanzas (brew tap, curl
     install, npx @opendatalabs/connect fallback) from SETUP.md and
     SKILL.md -- that CLI lives in a different repo. The skill's "how to
     run a connector" flow now documents run-connector.cjs (the in-repo
     runner) as the sole entrypoint, since removing the CLI references
     would otherwise have left the skill with no documented way to run a
     connector
   - Removed Tim's hardcoded personal path
     (/home/tnunamak/code/vana-connect/dist/cli/bin.js) from SETUP.md and
     SKILL.md

   Two connectors (chatgpt-playwright, claude-export-playwright) and one
   (wholefoods-playwright) had their source/schemas change as part of this
   pass; each already had a published artifact under the old checksum, so
   each got a patch version bump (chatgpt 3.0.0 -> 3.0.1, claude-export
   2.0.0 -> 2.0.1, wholefoods 1.0.0 -> 1.0.1) with matching checksums and
   regenerated release artifacts, to keep the artifact-immutability
   contract (connector-artifact-contract.test.mjs) honest.

3. Extract the Vana-Web capability column: SCOPES.md is generated. Edited
   scripts/generate-scope-catalog.mjs to drop the web-capabilities
   read/validate and the "Vana Web (hosted)" column/legend/limit emission;
   git rm scopes/web-capabilities.json and
   schemas/web-scope-capabilities.schema.json; updated
   schemas/scope-catalog.schema.json to drop the now-unused `web`
   fulfillment shape and `webCapabilities` field; regenerated
   scope-catalog.json, SCOPES.md, and the README connectors section
   (single local-connector-collection path); updated generator tests.

   The removed scopes/web-capabilities.json content is preserved at
   local/extracted-web-capabilities.json (not part of this PR) for a
   follow-up PR to vana-com/docs, since that data is Vana-Web/Data
   Pipe-specific and belongs in a Vana-owned home, not the neutral LFDT
   repo.

Intentional `vana` survivors (grep-verified, everything else is gone):
- .github/workflows/consumer-update-prs.yml:45,96 -- external Vana-owned
  consumer repos (vana-com/context-gateway, vana-com/data-connect) this
  workflow checks out; not this repo's own name
- README.md (6 lines) -- links to vana-com/unity-surfaces and
  vana-com/context-gateway, genuinely separate Vana-owned repos this repo
  depends on / is consumed by
- docs/specs/2026-05-29-scope-coverage-catalog-design.md (4 lines) --
  historical internal design doc: a Linear workspace slug, prose describing
  the (now-extracted) Vana Web product, and the data-pipe.vana.org domain
  it calls -- archival, not this repo's branding
- docs/superpowers/specs/2026-03-31-connector-smoke-test-design.md:46 --
  citation to a historical GitHub issue number in this repo's own tracker
- packages/connector-installer-core/index.mjs:22 --
  DEFAULT_SIGSTORE_CERTIFICATE_IDENTITY, left as-is per owner request (Ry
  Jones); will be re-pinned post-transfer
- scripts/generate-scope-catalog.test.mjs:105 -- a negative test assertion
  proving "Vana" no longer appears in generated markdown
- skills/pdp-connect/scripts/setup.sh:28 -- vana-com/data-connect.git, the
  look-alike external repo (no "-ors"), distinct from this repo
- NOTICE -- the intentional "Copyright (c) 2026 Vana Foundation" line

Verification: npm ci clean; connector-index:check, fixture-index:check,
scope-catalog:check all pass; node --test on
connector-artifact-contract.test.mjs and generate-scope-catalog.test.mjs
(14/14 passing); full contract-guardrails CI sequence
(validate-manifests, normalize-manifests --check, validate-scope-schemas,
fixture validate-only, check-page-api-additive, check-source-id-stability,
check-additive-schemas) run locally against origin/main, all pass; root
run-connector.cjs symlink resolves; Tim's /home/tnunamak path is gone.

Not part of this PR: squash-transfer to PDP-Connect/data-connectors (a
later owner step after review), npm scope migration
(@opendatalabs/... stays unchanged), and the vana-com/docs PR to receive
the extracted Web-capability data.

Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
@github-actions

Copy link
Copy Markdown

Schema Health Check — Non-blocking inherited issues

44/50 scopes consistent | 6 inherited Gateway gap(s) | no new blocking issues in this PR

tnunamak added 5 commits July 17, 2026 17:55
These docs reference a private Linear workspace and are marked
superseded/historical. They do not belong in a public repo.

Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
This workflow reached into Vana-internal repos (context-gateway,
data-connect) to open automated update PRs; it does not belong in a
neutral connectors repo.

Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
…n external repo

Copies data-connect's standalone playwright-runner into this repo
(playwright-runner/) and neutralizes its remaining vana/dataconnect
naming to pdp-connect equivalents. run-connector.cjs, test-connector.cjs,
and capture-session.cjs now resolve the bundled runner first, before any
external-repo fallback.

Also fixes a protocol gap the vendored runner's stricter contract exposed:
run-connector.cjs and both test-connector.cjs copies never sent
requestedScopes on the `run` command, which the runner now requires.
Both now derive it from the connector's sibling metadata JSON.

setup.sh no longer clones vana-com/data-connect; it installs the bundled
runner's own dependencies (just playwright) and Chromium in place. README,
SETUP.md, and SKILL.md are updated to describe the bundled-runner flow as
primary, with PLAYWRIGHT_RUNNER_DIR/--runner-dir now an optional override
rather than a required step.

Verified: `node run-connector.cjs connectors/github/github-playwright.js`
boots the runner, launches real Chromium, navigates to github.com/login,
and executes the connector's real page-API calls end to end (fails on
auth as expected with no live session). The vendored runner's own tests
pass (3/3, excluding one conformance test whose corpus fixture wasn't
part of the standalone runner extraction). All repo-wide checks
(connector-index, fixture-index, scope-catalog) and existing test suites
pass unchanged.

playwright-runner/node_modules/ is gitignored; contributors run
`npm install` inside playwright-runner/ (or skills/pdp-connect/scripts/setup.sh)
once.

Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
README described this repo as existing to serve Vana's Context Gateway
and Unity Surfaces as "the" distribution source/consumers. Reframe both
sections neutrally: this is an open connector collection any consumer
can pin as a versioned dependency, with Vana's products as examples
rather than the repo's purpose.

CREATE.md still pointed at the old desktop-install runner location
(~/.pdp-connect/desktop/run-connector.cjs). The runner is now bundled
in-repo at the root (symlinked to skills/pdp-connect/scripts/run-connector.cjs,
per SETUP.md and SKILL.md). Update CREATE.md's setup note and test
command to match.

Signed-off-by: Tim Nunamaker <tnunamak@gmail.com>
@tnunamak
tnunamak merged commit 0792823 into main Jul 18, 2026
2 checks passed
@tnunamak
tnunamak deleted the chore/apache-license-and-neutralize branch July 18, 2026 00:00
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant