Skip to content

test: fix public mirror baseline assumptions#361

Closed
icatw wants to merge 1 commit into
inkeep:mainfrom
icatw:fix/test-baseline-public-mirror
Closed

test: fix public mirror baseline assumptions#361
icatw wants to merge 1 commit into
inkeep:mainfrom
icatw:fix/test-baseline-public-mirror

Conversation

@icatw

@icatw icatw commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fixes the SyncEngine conflict fixture so the bare test remote points HEAD at main before cloning.
  • Adjusts the public mirror skill-bundle asset guard to require _shared only when source bundles still reference shared placeholders.

Verification

  • bun test packages/server/src/sync-engine.test.ts --test-name-pattern 'SyncEngine ConflictStore admission'
    • 3 pass / 0 fail
  • bun test packages/server/scripts/build-skill-bundles.test.ts --test-name-pattern 'repo assets'
    • 7 pass / 0 fail

Verification screenshot:

Public mirror baseline tests

Full-repo check note

This PR fixes two reproducible public-mirror baseline failures. bun run check is still blocked separately by oxlint@1.66.0 panicking with called Result::unwrap() on an Err value / SIGABRT under the repo's current oxlint.config.ts.

@CLAassistant

CLAassistant commented Jun 28, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@icatw icatw force-pushed the fix/test-baseline-public-mirror branch from f511c08 to 1fb0809 Compare June 28, 2026 08:45
@github-actions

github-actions Bot commented Jun 28, 2026

Copy link
Copy Markdown

Your change is now on main. Thanks for contributing!

Because this repository is maintained through an internal mirror, GitHub shows this PR as closed rather than merged, but your commits are on the default branch with your attribution intact. Closing it here to keep things in sync.

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

This pull request has been automatically marked as stale because it has not had recent activity.
It will be closed in 7 days if no further activity occurs.

If this PR is still relevant:

  • Rebase it on the latest main branch
  • Add a comment explaining its current status
  • Request a review if it's ready

Thank you for your contributions!

@github-actions github-actions Bot added the stale label Jul 6, 2026
inkeep-oss-sync Bot pushed a commit that referenced this pull request Jul 7, 2026
Co-authored-by: Inkeep Public PR Bridge <public-pr-bridge@inkeep.com>
Co-authored-by: icatw <99238504+icatw@users.noreply.github.com>
GitOrigin-RevId: 09ab4c23e32dc3b07a9002a5daf6fe3e1f0dfa95
inkeep-oss-sync Bot added a commit that referenced this pull request Jul 7, 2026
GitOrigin-RevId: 09ab4c23e32dc3b07a9002a5daf6fe3e1f0dfa95
@inkeep-oss-sync inkeep-oss-sync Bot closed this Jul 7, 2026
inkeep-oss-sync Bot pushed a commit that referenced this pull request Jul 7, 2026
* docs(specs): external-contribution baseline hardening spec

* fix(desktop): keep bun install green without a C toolchain

node-pty moves to optionalDependencies: its node-gyp build needs make/g++/python3
that Linux contributors to this macOS-only app may not have, and bun drops a
failed optional install cleanly instead of failing the whole repo install.
puppeteer (transitive via memlab, used only by the engineer-local tiptap leak
probe) skips its ~600 MB Chrome-for-Testing download at install via the root
package.json puppeteer key; the download taxes every fresh install and fails
nondeterministically on linux-arm64. Container-verified: fresh toolchain-less
arm64 install goes from exit 1 to exit 0; macOS keeps a working pty.node.

* test(server): lift the blanket CI skip on sync-engine tests

The file-wide process.env.CI skip was a workaround for oven-sh/bun#11892
(child reaping on GitHub-hosted runners). Validation now runs on Blacksmith
runners and the bare-remote fixtures pin their branch since
#361, so the suite passes under CI's master-default git.
Verified 3x stable at ~12s per run on Linux under init.defaultBranch=master,
and CI=1 locally runs 72 tests with 0 skips.

* ci(ok-mirror): run server production guards against the materialized export

New server-guards leg in check-ok-mirror-runnable.mjs runs bun test on the
export's packages/server/scripts. These tests assert the published tree's
shape, the one class an internal checkout can never catch because the
internal tree always has the files the mirror transform excludes.
#361 is the motivating incident: the skills _shared dir
held only a README internally, the manifest's README exclude emptied it on
export, and the guard failed on every public clone with no CI surface seeing
it. Deliberately narrow (no server boot, no D-Bus surface, 20 tests in 35ms)
per the runnability report's full-matrix decision. Same retry, timeout, and
false-green discipline as the core-tests leg. Verified end-to-end green plus
a negative control: reverting the guard on an export copy fails the leg.

* test(desktop): pin node-pty packaging guard to optionalDependencies placement

The guard asserted node-pty lives in dependencies so electron-builder packs
it. Placement moved to optionalDependencies so a failed native build no
longer fails bun install on toolchain-less machines. Packing verified against
a real build:dir package: app.asar.unpacked/node_modules/node-pty/prebuilds/
ships in the .app. The guard now pins the optional placement in both
directions (present + pinned there, absent from dependencies) and keeps the
@lydell/node-pty exclusion.

* test(server): point the lifted CI-skip comment at the class follow-up issue

The remaining 17 files with the blanket process.env.CI gate are tracked in
issue #2447 with the per-file evidence bar.

* test(ok-mirror): pin the server-guards leg wiring in the runnability gate

Same source-pin style as the existing puppeteer install-leg tests, with the
same fail-loud region isolation: the leg must run bun test scripts/ in the
export's packages/server, retry only plain failures (never timeouts), and
keep the zero-tests false-green guard.

* fixup! local-review: address findings (pass 1)

* docs: address cloud review comment-quality findings

Update the runnability LAYERS header for the second L3 leg, drop the
private-repo issue link from the public-mirrored sync-engine comment (the
17-file blanket-CI-skip class and its per-file evidence bar stay tracked in
inkeep/agents-private#2447), restate that comment as standing rationale
instead of dated change narration, and mend a reflowed sentence in the
runnability test docblock.

GitOrigin-RevId: 28e4801b85121ece5ee93d5d902e0256a393f332
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants