Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
d032c9d
fix(claude): unify file history inventory cursor
tnunamak Jul 21, 2026
c94fae7
fix(connector-summary): consume pre-provenance terminal facts at gene…
tnunamak Jul 21, 2026
7f2eb3f
fix(connector-summary): preserve historical terminal state across a z…
tnunamak Jul 21, 2026
9233c3f
fix(recovery-decision): forward-evidence debt reads real evidence age…
tnunamak Jul 21, 2026
3dfa699
fix(ref-control): mirror the fold's monotonic durable-proof floor int…
tnunamak Jul 21, 2026
14848d9
fix(usaa-export): capture dialog-not-open checkpoint before Escape mu…
tnunamak Jul 21, 2026
ed99392
fix(gap-recovery): close two live tail-convergence gaps in Gmail atta…
tnunamak Jul 21, 2026
e37916d
test(reference): prove upstream retained surface behavior
tnunamak Jul 22, 2026
d930a46
fix(test): close live reconciliation verification gaps
tnunamak Jul 22, 2026
8ab183a
fix(test): reject Postgres URL overrides
tnunamak Jul 22, 2026
42e393a
fix(usaa): recover reached transaction detail gaps
tnunamak Jul 22, 2026
0219c0a
fix(chase): capture income interstitial evidence
tnunamak Jul 22, 2026
49546ff
fix(chase): ground income interstitial diagnostics
tnunamak Jul 22, 2026
d1249f8
test(chase): bind interstitial oracle to DOM extraction
tnunamak Jul 22, 2026
9903a37
fix(gap-recovery): separate leases from provider attempts
tnunamak Jul 22, 2026
4cdaaad
test(neko): prove browser continuity across allocator replacement
tnunamak Jul 22, 2026
602f5d9
fix(neko): honor dynamic CDP readiness budget
tnunamak Jul 23, 2026
9290278
fix(usaa): recover source unavailable login transition
tnunamak Jul 23, 2026
b202b19
feat(health): compose authoritative fleet verdict
tnunamak Jul 23, 2026
e020bd6
test(reference): align deployment and owner-scope oracles
tnunamak Jul 23, 2026
95f1f48
fix(health): trust composed fleet evidence
tnunamak Jul 23, 2026
aacaec4
fix(browser-surface): restore connectorInstanceId across restart leas…
tnunamak Jul 23, 2026
b44bdb8
docs(design): capture quarantined recovery lifecycle gap
tnunamak Jul 23, 2026
900134f
fix: add Gmail recovery throughput evidence
tnunamak Jul 23, 2026
19e778d
docs: normalize quarantine lifecycle note
tnunamak Jul 23, 2026
c839889
fix(reference): run relative repair CLI entrypoint
tnunamak Jul 23, 2026
de04331
fix(gmail): batch attachment recovery by bytes
tnunamak Jul 23, 2026
9f433e3
fix(gmail): classify hydration failures
tnunamak Jul 23, 2026
829ccf6
fix(gmail): preserve unclassified hydration failures
tnunamak Jul 23, 2026
69b7407
build: compose modernization PRs 28 and 31
tnunamak Jul 23, 2026
21d1866
chore: clear console and site lint findings
tnunamak Jul 23, 2026
7df9938
chore: unify Biome and Ultracite tooling
tnunamak Jul 23, 2026
baa4614
chore: apply safe biome fixes to small surfaces
tnunamak Jul 23, 2026
8d69db3
style: clean Biome diagnostics in apps
tnunamak Jul 23, 2026
b51f197
fix: preserve nullish contract semantics
tnunamak Jul 23, 2026
5ac3581
style: clear reference contract Biome residuals
tnunamak Jul 23, 2026
78b6685
chore: preserve workspace object key order
tnunamak Jul 23, 2026
60dd01d
style: clear brand react Biome residuals
tnunamak Jul 23, 2026
09f4b2b
style: clear operator UI Biome residuals
tnunamak Jul 23, 2026
17bdd45
style: clear site Biome residuals
tnunamak Jul 23, 2026
6e78ae1
style: clear console Biome residuals
tnunamak Jul 23, 2026
2c44ec7
chore: preserve authored key ordering in biome assists
tnunamak Jul 23, 2026
176b395
fix: preserve raw archive fixture selection
tnunamak Jul 23, 2026
07a8c42
docs: refresh generated reference artifacts
tnunamak Jul 23, 2026
016efd2
docs: define modernization v2 OpenSpec changes
tnunamak Jul 23, 2026
ade9319
feat(cli): emit publishable artifacts
tnunamak Jul 23, 2026
0a0837a
fix(cli): bind artifact gate runtime receipt
tnunamak Jul 23, 2026
410862c
build(read-core): emit runtime package artifact
tnunamak Jul 23, 2026
bb99ca6
fix: harden read-core artifact gates
tnunamak Jul 23, 2026
1a808b7
fix(local-collector): close emitted artifact validation
tnunamak Jul 23, 2026
94ea72a
fix(local-collector): stabilize npm pack metadata
tnunamak Jul 23, 2026
2572c0d
fix(local-collector): load fixture server with tsx
tnunamak Jul 23, 2026
477249b
fix: integrate bounded test accounting authority
tnunamak Jul 23, 2026
1e937c9
build: integrate four-package release matrix
tnunamak Jul 23, 2026
cddcfdc
feat: integrate MCP emitted artifact proof
tnunamak Jul 23, 2026
af9c1b0
fix: include full workspace dependencies in release matrix
tnunamak Jul 23, 2026
2f66d9d
fix: keep four-package consumer install offline
tnunamak Jul 23, 2026
f59f4b3
fix: allow offline matrix tarball staging
tnunamak Jul 23, 2026
52a6f13
fix: bind matrix to prefetched package metadata
tnunamak Jul 23, 2026
ce2ccd9
fix: seed offline artifact consumer cache
tnunamak Jul 23, 2026
06b2aad
fix: align offline matrix cache registry
tnunamak Jul 23, 2026
0b61650
fix: accommodate offline workspace coinstall ranges
tnunamak Jul 23, 2026
d6da9c8
fix: bind MCP consumer siblings to local candidates
tnunamak Jul 23, 2026
f681e32
fix: seed all offline zod artifacts
tnunamak Jul 23, 2026
18b488d
fix: import consumer probe process helper
tnunamak Jul 23, 2026
434349c
fix: probe JSON package exports on Node 22
tnunamak Jul 23, 2026
67eb44f
fix: make matrix collector artifacts reproducible
tnunamak Jul 23, 2026
d55e789
fix: hash stable installed help output
tnunamak Jul 23, 2026
4384ed6
fix: acyclic test-accounting authority with direct leaves
tnunamak Jul 24, 2026
4f8bb20
fix: node-reporter reads skip from the event's data field
tnunamak Jul 24, 2026
2963435
Revert "fix: node-reporter reads skip from the event's data field"
tnunamak Jul 24, 2026
23bfb55
Reapply "fix: node-reporter reads skip from the event's data field"
tnunamak Jul 24, 2026
5b38ba7
fix: resolve RI's unnamed postgres-gated skip reasons exactly
tnunamak Jul 24, 2026
052ba5f
fix: resolve direct-leaf --test-reporter to an absolute path
tnunamak Jul 24, 2026
f86896f
fix: capture combined stdout+stderr for python-unittest leaves
tnunamak Jul 24, 2026
f171306
fix: pin TSX_TSCONFIG_PATH for direct leaves spawned from repo root
tnunamak Jul 24, 2026
0eaa0ca
fix(enroll): decouple device enrollment from ingest writer admission
tnunamak Jul 25, 2026
14f93e9
feat(slack): bound archive steady-state read cost and add opt-in uplo…
tnunamak Jul 24, 2026
4eba6d5
test(enroll): add postgres-temp-database helper for live-baseline compat
tnunamak Jul 25, 2026
2e584ad
fix: stop truncating RI reporter events via --test-force-exit
tnunamak Jul 25, 2026
3819482
fix: correct stale RI skip baseline masked by the reporter race
tnunamak Jul 25, 2026
b54ad34
fix(enroll): gate derived-column repair backfill behind the same flag…
tnunamak Jul 25, 2026
31f3c21
fix(slack): expose archive reclaim in compose
tnunamak Jul 25, 2026
9fc8e6b
fix(enroll): make pending-code identity creation idempotent and resum…
tnunamak Jul 25, 2026
c732f90
refactor(read-core): migrate implementation to TypeScript
tnunamak Jul 24, 2026
48dddc9
refactor(owner-action-gate): migrate implementation to TypeScript
tnunamak Jul 24, 2026
14a215f
refactor(runtime): migrate 5 pure helpers to TypeScript
tnunamak Jul 24, 2026
21a2e46
refactor(stores): migrate consent-store and terminal-gap-classifier t…
tnunamak Jul 24, 2026
ce8b15b
refactor(stores): migrate connector-detail-gap, connector-instance, a…
tnunamak Jul 25, 2026
5551812
Fix raw SQL statements and import extension in stores.
tnunamak Jul 25, 2026
81a3731
Fix TypeScript errors in connector-instance-store, connector-detail-g…
tnunamak Jul 25, 2026
93c01fd
refactor(cli): migrate 8 build/test scripts from .mjs to TypeScript
tnunamak Jul 25, 2026
6d8754b
refactor(read-core): migrate all 8 build and test scripts from .mjs t…
tnunamak Jul 25, 2026
8aefd3b
refactor(local-collector): migrate scripts from .mjs to TypeScript
tnunamak Jul 25, 2026
4bc4fb8
fix(enroll): key device identity to the stable binding, not the ephem…
tnunamak Jul 25, 2026
58d0224
fix: repair broken store import specifiers, missing query-registry de…
tnunamak Jul 25, 2026
c298ae9
fix(enroll): correct source corruption and qualify enrollment identit…
tnunamak Jul 25, 2026
c77602c
fix(slack): stop onDurableCommit protocol-violation, reclaim every ar…
tnunamak Jul 25, 2026
216feeb
fix(slack): reclaim every archive an empty repair touched, bound reco…
tnunamak Jul 25, 2026
639c819
docs(slack): match proposal.md's reclaim/capability claims to shipped…
tnunamak Jul 25, 2026
0725beb
fix(enroll): migrate legacy connector-instance binding key in place o…
tnunamak Jul 25, 2026
af09c04
fix(local-collector): surface connector DONE errors, allow optional C…
tnunamak Jul 25, 2026
bff02c6
refactor(cli): migrate leaf and level-1 src modules to TypeScript
tnunamak Jul 25, 2026
f8d2a68
refactor(cli): migrate level-2/3 src modules to TypeScript
tnunamak Jul 25, 2026
f6ca7b3
refactor(cli): migrate level-4 src modules to TypeScript; retarget te…
tnunamak Jul 25, 2026
789e9a2
refactor(cli): migrate index.ts and owner-agent/command.ts, completin…
tnunamak Jul 25, 2026
b653d77
fix(slack): throttle scoped-archive resume to at most once per lookba…
tnunamak Jul 25, 2026
c612d30
fix(slack): distinguish failed vs completed scoped-archive resume, ro…
tnunamak Jul 25, 2026
37e84ca
fix(slack): close archive reclaim failure gaps
tnunamak Jul 25, 2026
0f5b167
fix(enroll): make local-device migration restart-safe
tnunamak Jul 25, 2026
3bb929d
refactor(read-core): migrate test suite from .test.js to .test.ts
tnunamak Jul 25, 2026
7b05b08
fix(local-device): project terminal stream facts
tnunamak Jul 25, 2026
8b01d86
fix(local-device): preserve terminal coverage facts
tnunamak Jul 25, 2026
158a5e7
fix(local-device): defer coverage absence to manifest policy
tnunamak Jul 25, 2026
81b6a30
refactor(local-collector): migrate test suite from .test.js to .test.ts
tnunamak Jul 25, 2026
e48116f
refactor(cli): resolve biome type-aware lint residual from .test.ts m…
tnunamak Jul 25, 2026
da7db6b
refactor(reference-contract): migrate test suite and check-generated.…
tnunamak Jul 25, 2026
ed74464
refactor(console,site): migrate dev-origins/test scripts to .ts
tnunamak Jul 25, 2026
7e61ae2
fix(slack): throttle base archive resume
tnunamak Jul 25, 2026
61cb895
fix(slack): derive base-archive throttle from pre-upgrade success
tnunamak Jul 25, 2026
1195e0c
refactor(scripts): add root tsconfig.json, migrate lib/owner-session …
tnunamak Jul 25, 2026
cb2d501
refactor(docs): migrate explorer UAT harness to TypeScript
tnunamak Jul 25, 2026
bf33959
refactor(deploy): migrate railway first-boot bootstrap to TypeScript
tnunamak Jul 25, 2026
3cfe9a8
refactor(scripts): migrate check-console-health-surfaces to TypeScript
tnunamak Jul 25, 2026
d38f1d9
refactor(scripts): migrate dev/openspec-status/stream probe scripts t…
tnunamak Jul 25, 2026
dab3b3e
refactor(scripts): migrate owner-journey-acceptance surface-manifest …
tnunamak Jul 25, 2026
3b1c21c
refactor(mcp-server): migrate package to strict TypeScript
tnunamak Jul 25, 2026
9da6031
fix(mcp-server): scope emitted-artifact --offline install to local ca…
tnunamak Jul 25, 2026
e66eea5
fix(mcp-server): remove live-network artifact-contract regression test
tnunamak Jul 25, 2026
c1559fe
refactor(mcp-server): migrate test suite and build scripts to strict …
tnunamak Jul 25, 2026
4898e3d
fix(mcp-server): close package-wide Biome findings on the TypeScript …
tnunamak Jul 25, 2026
ce01d9d
fix(mcp-server): model the self-candidate receipt shape honestly, rem…
tnunamak Jul 25, 2026
4d65a79
fix(mcp-server): omit cacheRoot key instead of forwarding undefined t…
tnunamak Jul 25, 2026
62513ff
refactor(scripts): migrate test-accounting authority/inventory/packet…
tnunamak Jul 25, 2026
6c34e36
refactor(read-core): drop the stale src/index.js compat facade
tnunamak Jul 25, 2026
7399e33
refactor(pdpp-brand-react,polyfill-connectors): migrate remaining JS/…
tnunamak Jul 25, 2026
e8688e4
style(polyfill-connectors): format manifest JSON per Biome line-width…
tnunamak Jul 25, 2026
9d3d4a5
refactor(scripts): migrate check-biome-file-selection/spec-check/stre…
tnunamak Jul 25, 2026
0685ec6
style(console,site): adjudicate noJsxPropsBind as a policy mismatch
tnunamak Jul 25, 2026
2f1d2bc
style(console,site): resolve noUnnecessaryConditions residual
tnunamak Jul 25, 2026
e2ca31d
refactor(console,site): resolve useDestructuring residual (143 findings)
tnunamak Jul 25, 2026
b085cef
refactor(console,site): resolve noAwaitInLoops residual (31 findings)
tnunamak Jul 25, 2026
28f643d
fix(console): thread the caught error through Error.cause (useErrorCa…
tnunamak Jul 25, 2026
84a9d8e
style(console,site): resolve noIncrementDecrement residual (13 findings)
tnunamak Jul 25, 2026
71b871c
style(console,site): resolve useTopLevelRegex residual (12 findings)
tnunamak Jul 25, 2026
a54df09
refactor(console,site): resolve noShadow residual (11 findings)
tnunamak Jul 25, 2026
a4ebbcd
refactor(console): break real import cycle, resolve the findings it hid
tnunamak Jul 25, 2026
904096d
style(console,site): resolve remaining small-rule residuals to zero
tnunamak Jul 25, 2026
44fb600
fix(connections): tombstone owner-deleted identities to stop resurrec…
tnunamak Jul 25, 2026
3957ab2
fix(connections): close startup-migration resurrection path + Postgre…
tnunamak Jul 25, 2026
8a33aac
refactor(scripts): migrate owner-journey-acceptance CLI/harness/live/…
tnunamak Jul 25, 2026
544c725
refactor(scripts): migrate ci-mode, stream-evidence-inventory, and ch…
tnunamak Jul 25, 2026
80887fa
refactor(scripts): migrate check-dist-tag-posture, check-flyio-deploy…
tnunamak Jul 25, 2026
9b7e880
refactor(scripts): migrate check-railway-deploy-env to TypeScript
tnunamak Jul 25, 2026
bb96efe
refactor(scripts): migrate check-railway-ghcr-public to TypeScript
tnunamak Jul 25, 2026
f5692c3
refactor(scripts): migrate event-subscription-test-receiver to TypeSc…
tnunamak Jul 25, 2026
24ae9f4
refactor(scripts): migrate openspec-archive-check to TypeScript; fix …
tnunamak Jul 25, 2026
f894bd8
refactor(scripts): migrate agent-skill-boundary.test to TypeScript
tnunamak Jul 25, 2026
96892ad
refactor(scripts): migrate cli-acceptance-smoke to TypeScript
tnunamak Jul 25, 2026
b3c3335
style(polyfill-connectors): close all Biome/Ultracite findings (1217 …
tnunamak Jul 25, 2026
5d28db4
merge: reconcile local/health-batch-0724 into waspflow/mod-integratio…
tnunamak Jul 25, 2026
c56a0d6
refactor(scripts): migrate railway-mcp-query-smoke to TypeScript
tnunamak Jul 25, 2026
edab960
refactor(scripts): migrate release-package-matrix to TypeScript
tnunamak Jul 25, 2026
6c0266d
refactor(scripts): migrate manual-action-stream-smoke to TypeScript
tnunamak Jul 25, 2026
c5a2a9a
fix: restore detail gap lease guard
tnunamak Jul 25, 2026
dbe1b3a
fix(test-accounting): scope verifyReceipts' plan check to the receipt…
tnunamak Jul 25, 2026
dfc023d
refactor(scripts): migrate read-surface-smoke to TypeScript
tnunamak Jul 25, 2026
b833ef6
refactor(scripts): migrate check-railway-template-artifacts.test to T…
tnunamak Jul 25, 2026
e9acdb2
merge: reconcile polyfill-connectors Biome/Ultracite cleanup into hea…
tnunamak Jul 25, 2026
312940c
fix: repair executable callers left importing deleted test-accounting…
tnunamak Jul 25, 2026
a78cf40
fix(polyfill-connectors): replace unprotected noAwaitInLoops override…
tnunamak Jul 25, 2026
3d664b7
docs(polyfill-connectors): fix inaccurate noAwaitInLoops gate header …
tnunamak Jul 25, 2026
b770907
fix(polyfill-connectors): remove duplicate noAwaitInLoops allowlist r…
tnunamak Jul 25, 2026
e73acc0
merge: reconcile root-script TypeScript migration into polyfill-conne…
tnunamak Jul 25, 2026
a13ad57
fix: repair two more executable callers left importing deleted stream…
tnunamak Jul 25, 2026
486585b
fix(test-accounting): repair stale mcp-server include glob
tnunamak Jul 25, 2026
2b73ac2
fix: repair three REVISE blockers from the independent Opus consultan…
tnunamak Jul 25, 2026
110b38e
style: hoist new regression-test regex literals to top-level constants
tnunamak Jul 25, 2026
b2fccd2
modernize TypeScript and Biome policy
tnunamak Jul 28, 2026
a0e612a
fix(cli): parse npm pack metadata correctly
tnunamak Jul 28, 2026
2761c2f
fix(docker): stage workspace artifacts after source copy
tnunamak Jul 28, 2026
9cb8444
fix(docker): rebuild approved native dependencies
tnunamak Jul 28, 2026
d187a78
fix(vercel): serialize workspace prepare scripts
tnunamak Jul 28, 2026
3fc5d3d
chore: merge main into typescript biome modernization
tnunamak Jul 28, 2026
fc1a6e3
fix(ci): stabilize lifecycle and inventory checkout
tnunamak Jul 28, 2026
1e37d4d
fix(ci): quote inventory baseline lookup safely
tnunamak Jul 28, 2026
2d09eae
fix(console): preserve cancel result property order
tnunamak Jul 28, 2026
19dabc8
fix(console): stabilize migration test contracts
tnunamak Jul 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 6 additions & 0 deletions .env.docker.example
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@ PDPP_GMAIL_ATTACHMENT_BACKFILL_WINDOW_UIDS=
# Bounds each historical Gmail attachment backfill page by known byte cost
# (256KiB..4MiB). Leave blank for the connector default.
PDPP_GMAIL_ATTACHMENT_BACKFILL_PAGE_BYTES=
# Bounds a served Gmail attachment-recovery run by known byte cost
# (256KiB..4MiB). Defaults to 4MiB; the legacy backfill variable remains a
# compatible override when this is blank.
PDPP_GMAIL_ATTACHMENT_RECOVERY_PAGE_BYTES=
CHATGPT_USERNAME=
CHATGPT_PASSWORD=
# Diagnostic-only: when set to 1, a ChatGPT run performs one redacted
Expand Down Expand Up @@ -142,6 +146,8 @@ SLACK_COOKIE=
# PDPP_DOCKER_SLACKDUMP_DIR=./packages/polyfill-connectors/.pdpp-tools/slackdump
PDPP_DOCKER_SLACKDUMP_DIR=./packages/polyfill-connectors/.pdpp-tools/slackdump
SLACKDUMP_BIN=/opt/pdpp-tools/slackdump/slackdump
# Remove Slackdump's downloaded-file cache only after PDPP durably accepts a run.
SLACK_RECLAIM_UPLOADS=
CHASE_USERNAME=
CHASE_PASSWORD=
AMAZON_USERNAME=
Expand Down
20 changes: 15 additions & 5 deletions .github/workflows/openspec-archive-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ on:
paths:
- ".github/workflows/openspec-archive-check.yml"
- "openspec/changes/**"
- "scripts/openspec-archive-check.mjs"
- "scripts/openspec-archive-check.ts"
pull_request:
paths:
- ".github/workflows/openspec-archive-check.yml"
- "openspec/changes/**"
- "scripts/openspec-archive-check.mjs"
- "scripts/openspec-archive-check.ts"
workflow_dispatch: {}

concurrency:
Expand All @@ -43,13 +43,23 @@ jobs:
# read the target tree rather than falling back to the working tree.
fetch-depth: 0

- name: Install pnpm
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9

- name: Install Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "22"
cache: "pnpm"

- name: Install dependencies
env:
PATCHRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
run: pnpm install --frozen-lockfile

- name: Run archive-check unit tests
run: node --test scripts/openspec-archive-check.test.mjs
run: node --test --import tsx scripts/openspec-archive-check.test.ts

- name: Report archive-due changes (non-blocking)
run: |
Expand All @@ -62,8 +72,8 @@ jobs:
echo '## OpenSpec archive-due report'
echo
echo '```'
node scripts/openspec-archive-check.mjs --ref "$ref"
node --import tsx scripts/openspec-archive-check.ts --ref "$ref"
echo '```'
} >> "$GITHUB_STEP_SUMMARY"
# Mirror to the log too, still non-blocking.
node scripts/openspec-archive-check.mjs --ref "$ref"
node --import tsx scripts/openspec-archive-check.ts --ref "$ref"
20 changes: 10 additions & 10 deletions .github/workflows/reference-implementation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ name: reference-implementation
# connector and package workspaces.
#
# The apps/console/** trigger is here because two integration tests in the
# reference suite (composed-origin.test.js, dashboard-proxy-redirect.test.js)
# reference suite (composed-origin.test.ts, dashboard-proxy-redirect.test.ts)
# build apps/console and spawn its standalone server to exercise the
# dashboard/BFF/proxy. The apps/site/** trigger is here because the RS/dataset
# import-boundary tests read the public sandbox source from apps/site/src/app/
Expand Down Expand Up @@ -74,18 +74,18 @@ jobs:
openspec/changes/complete-mcp-slvp-surface/*|openspec/changes/complete-mcp-slvp-surface/**|\
docs/research/mcp-slvp-*.md|\
reference-implementation/*|reference-implementation/**|\
scripts/check-console-health-surfaces.mjs|\
scripts/check-console-health-surfaces.test.mjs|\
scripts/check-owner-journey-acceptance.mjs|\
scripts/check-owner-journey-acceptance.test.mjs|\
scripts/check-console-health-surfaces.ts|\
scripts/check-console-health-surfaces.test.ts|\
scripts/check-owner-journey-acceptance.ts|\
scripts/check-owner-journey-acceptance.test.ts|\
scripts/owner-journey-acceptance/*|scripts/owner-journey-acceptance/**|\
scripts/stream-evidence-inventory.mjs|\
scripts/stream-evidence-inventory.ts|\
scripts/stream-health-audit/*|scripts/stream-health-audit/**|\
scripts/check-stream-health-audit.mjs|\
scripts/check-stream-health-audit.ts|\
docs/reference/stream-evidence-inventory.md|\
.releaserc.yaml|\
scripts/check-package-release-policy.mjs|\
scripts/check-package-release-policy.test.mjs|\
scripts/check-package-release-policy.ts|\
scripts/check-package-release-policy.test.ts|\
packages/*/package.json)
reference_impacting=true
break
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:

- name: Test stream health audit
if: steps.changes.outputs.reference_impacting == 'true'
run: node --test reference-implementation/test/stream-health-audit.test.js
run: node --test reference-implementation/test/stream-health-audit.test.ts

- name: Test console health surface gate
if: steps.changes.outputs.reference_impacting == 'true'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/remote-surface.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ on:
branches: [main]
paths:
- "reference-implementation/runtime/browser-surface/remote-surface-optional.ts"
- "reference-implementation/test/remote-surface-reference-boundary.test.js"
- "reference-implementation/test/remote-surface-reference-boundary.test.ts"
- "reference-implementation/package.json"
- "apps/console/package.json"
- ".github/workflows/remote-surface.yml"
- "pnpm-lock.yaml"
pull_request:
paths:
- "reference-implementation/runtime/browser-surface/remote-surface-optional.ts"
- "reference-implementation/test/remote-surface-reference-boundary.test.js"
- "reference-implementation/test/remote-surface-reference-boundary.test.ts"
- "reference-implementation/package.json"
- "apps/console/package.json"
- ".github/workflows/remote-surface.yml"
Expand Down Expand Up @@ -127,4 +127,4 @@ jobs:
"

- name: Verify remote-surface reference boundary
run: node --test reference-implementation/test/remote-surface-reference-boundary.test.js
run: node --test reference-implementation/test/remote-surface-reference-boundary.test.ts
2 changes: 1 addition & 1 deletion .github/workflows/semantic-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
run: |
set -o pipefail
pnpm exec semantic-release --dry-run 2>&1 | tee "$RUNNER_TEMP/semantic-release-dry-run.log"
node scripts/semantic-release-github-output.mjs dry-run "$RUNNER_TEMP/semantic-release-dry-run.log"
node --import tsx scripts/semantic-release-github-output.ts dry-run "$RUNNER_TEMP/semantic-release-dry-run.log"

quality:
name: release quality checks
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/spec-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ on:
- "apps/site/content/docs/spec-*.md"
- "apps/site/content/docs/README.md"
- "package.json"
- "scripts/spec-check.mjs"
- "scripts/spec-check.ts"
- "spec-*.md"
pull_request:
paths:
- ".github/workflows/spec-check.yml"
- "apps/site/content/docs/spec-*.md"
- "apps/site/content/docs/README.md"
- "package.json"
- "scripts/spec-check.mjs"
- "scripts/spec-check.ts"
- "spec-*.md"
workflow_dispatch: {}

Expand Down
72 changes: 72 additions & 0 deletions .github/workflows/test-accounting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: test-accounting

# Fail-closed gate for the test-accounting inventory: every tracked file that
# classifies as an executable test must be planned by exactly one suite or
# explicitly (and non-expired) excluded. This is the same invariant
# `runAuthority` now enforces on every real `--run` (see authority.ts), run
# here independently so a discovery gap is caught on PRs that touch the
# accounting scripts or the manifest directly, without requiring a full
# `--suite all` run (which would spawn every package's real test suite,
# including PostgreSQL-gated reference-implementation profiles this
# workflow has no business depending on).
#
# Path-scoped like spec-check.yml/openspec-archive-check.yml: this only
# needs to run when the accounting scripts or the manifest itself change.

on:
push:
branches: [main]
paths:
- ".github/workflows/test-accounting.yml"
- "scripts/test-accounting/**"
- "test-accounting.manifest.json"
pull_request:
paths:
- ".github/workflows/test-accounting.yml"
- "scripts/test-accounting/**"
- "test-accounting.manifest.json"
workflow_dispatch: {}

concurrency:
group: test-accounting-${{ github.ref }}
cancel-in-progress: true

jobs:
inventory:
name: inventory closure + unit tests
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# inventory_base_sha must resolve as an ancestor of HEAD.
fetch-depth: 0

- name: Install pnpm
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9

- name: Install Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "22"
cache: "pnpm"

- name: Fetch inventory baseline
run: |
base_sha="$(node -p 'require("./test-accounting.manifest.json").inventory_base_sha')"
git fetch --no-tags origin "$base_sha"
git merge-base --is-ancestor "$base_sha" HEAD

- name: Install dependencies
env:
PATCHRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: "1"
run: pnpm install --frozen-lockfile

- name: Check inventory closure (every executable test planned or excluded)
run: pnpm test-accounting:inventory

- name: Test the accounting scripts themselves
run: pnpm test-accounting:test
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
child-concurrency=1
30 changes: 15 additions & 15 deletions .releaserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,25 +63,25 @@ plugins:
section: "Reverts"
- type: docs
section: "Documentation"
hidden: true
effect: hidden
- type: style
section: "Styles"
hidden: true
effect: hidden
- type: chore
section: "Miscellaneous Chores"
hidden: true
effect: hidden
- type: refactor
section: "Code Refactoring"
hidden: true
effect: hidden
- type: test
section: "Tests"
hidden: true
effect: hidden
- type: build
section: "Build System"
hidden: true
effect: hidden
- type: ci
section: "Continuous Integration"
hidden: true
effect: hidden
- - "@semantic-release/release-notes-generator"
- preset: conventionalcommits
presetConfig:
Expand Down Expand Up @@ -132,25 +132,25 @@ plugins:
section: "Reverts"
- type: docs
section: "Documentation"
hidden: true
effect: hidden
- type: style
section: "Styles"
hidden: true
effect: hidden
- type: chore
section: "Miscellaneous Chores"
hidden: true
effect: hidden
- type: refactor
section: "Code Refactoring"
hidden: true
effect: hidden
- type: test
section: "Tests"
hidden: true
effect: hidden
- type: build
section: "Build System"
hidden: true
effect: hidden
- type: ci
section: "Continuous Integration"
hidden: true
effect: hidden
- - "@semantic-release/npm"
- pkgRoot: "packages/cli"
- - "@semantic-release/npm"
Expand All @@ -166,4 +166,4 @@ plugins:
labels: false
releasedLabels: false
- - "@semantic-release/exec"
- publishCmd: "node scripts/semantic-release-github-output.mjs publish ${nextRelease.version} ${nextRelease.gitTag}"
- publishCmd: "node --import tsx scripts/semantic-release-github-output.ts publish ${nextRelease.version} ${nextRelease.gitTag}"
Loading
Loading