Skip to content

[codex] integrate upstream-safe stable surface#6

Merged
MilkBlock merged 96 commits intostablefrom
stable-big-pr
Apr 23, 2026
Merged

[codex] integrate upstream-safe stable surface#6
MilkBlock merged 96 commits intostablefrom
stable-big-pr

Conversation

@MilkBlock
Copy link
Copy Markdown
Owner

Summary

This PR integrates the non-fork-dependent parts of the experimental branch onto stable while keeping the default branch green against upstream egglog.

The merged surface includes:

  • relation and function query helpers
  • display and typst metadata support
  • action sample recorder examples and runtime hooks
  • pseudo-singleton runtime/examples/tests
  • benchmark CLI, progress, report, and example cleanup needed for a healthy default examples/test surface

What Was Blocking Stable

experimental had accumulated multiple features that assumed our custom egglog fork:

  • proof-oriented rule metadata and pretty-proof helpers
  • persisted snapshot / artifact / schema fingerprint paths
  • timestamp-constrained rule attachment
  • EBoost heuristic/layered extraction built on schema/raw introspection
  • cached function-id fastpaths that assumed a root-level public egglog::FunctionId

Those assumptions prevented a direct move onto upstream egglog and made the default stable surface fail to compile or test cleanly.

What Changed

The stable integration branch now does three things:

  1. It ports the upstream-safe feature groups from experimental.
    The query sugar, metadata support, recorder support, pseudo-singleton examples, and benchmark/example cleanup are all carried over.

  2. It de-forks the runtime surface.
    The rule/runtime wrapper now uses upstream-compatible rust_rule paths by default, no longer requires fork-only rule metadata APIs, and no longer exposes fork-specific cached function IDs.

  3. It explicitly fences off fork-only behavior.
    Proof, persisted-snapshot, artifact/schema, timestamp-filter attachment, and EBoost-specific paths are either feature-gated behind fork-egglog or downgraded to stable-safe fallback examples/stubs so the default branch does not pretend to support functionality that upstream egglog cannot provide.

User-Facing Effect

For stable reviewers and users, the default branch behavior is now coherent:

  • cargo test passes on the stable integration branch using upstream egglog
  • cargo build --examples passes
  • the pseudo-singleton demos run successfully
  • fork-only examples that cannot honestly work on upstream stable now fail soft with explicit guidance instead of compiling into broken codepaths

Validation

Fresh verification run on this branch:

  • cargo test
  • cargo build --examples
  • cargo run --example constant_prop_pseudo_singleton
  • cargo run --example constant_prop_pseudo_singleton_async
  • cargo run --example relation_transfer_story
  • cargo run --example timestamp_filter

Scope Boundaries

This PR intentionally does not make the following default-stable features available:

  • proof-mode runtime support
  • artifact / persisted snapshot / schema fingerprint support
  • timestamp-constrained rule attachment on upstream stable
  • EBoost heuristic/layered extraction on upstream stable

Those remain explicitly separated so we can review a truthful stable surface instead of a partial port that still depends on the custom fork.

… routes + replan on toggle/drag-release; router(oxdraw): drop CLASS obstacles, only edge-edge crossings; anchors: use enode yellow port for start to keep dot consistent across styles
…e PlantEdge consumes Smooth; re-run on LMB release
…set+stub, pairing, detours); trim endpoints; ignore node volume (temporary)

- Remove Grid/A* code and params
- Update call sites to unit arg ()
- Keep inner-anchor (yellow port) stable when trimming
MineralSteins and others added 21 commits March 22, 2026 00:27
Expand parser and lowering coverage for the t224 transpiler line,
add batch and sweep CLIs, and make declaration-aware eggcc
validation green across both eggcc trees.

Reference: #257
Reference: #252
Reference: #254
Reference: #255
…s merge of origin/fix/normalize-qz-ty-names\ninto the local fix/normalize-qz-ty-names worktree while preserving\nthe staged conflict resolutions and example additions.\n
Support relation-heavy transfer scenarios with a focused regression and
example while preserving the existing local worktree state.

- fix relation PatVars metadata iteration for nested fields
- add transfer story smoke coverage in src/test.rs
- keep related RuleCtx/constraint support updates together with the test
Port the non-fork-dependent parts of the experimental branch onto the stable integration branch.

This includes relation/function query helpers, display and typst metadata, action sample recorder support, pseudo-singleton examples, benchmark/report helper cleanup, and the stable-side gating/fallbacks needed to keep upstream egglog green by default.

Fork-only proof, artifact, persisted-snapshot, timestamp-constraint, and EBoost schema/raw-introspection paths are explicitly gated or downgraded so the default stable surface compiles and tests cleanly against upstream egglog.
@codspeed-hq
Copy link
Copy Markdown
Contributor

codspeed-hq Bot commented Apr 22, 2026

Merging this PR will create unknown performance changes

🆕 1 new benchmark
⏩ 2 skipped benchmarks1

Performance Changes

Benchmark BASE HEAD Efficiency
🆕 eggplant_insert_1000_func N/A 1.5 ms N/A

Comparing stable-big-pr (20221d5) with stable (8902fb0)

Open in CodSpeed

Footnotes

  1. 2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Remove the remaining warning output from the upstream-safe stable integration branch.

This cleans macro-side unused items, trims or gates proof-only helper remnants, and adds minimal support/example/test-local lint annotations where those modules are intentionally partial in the stable surface.

Verified with fresh runs of cargo test and cargo build --examples.
Delete genuinely unused helpers, narrow multi-target support imports to local warning boundaries, and gate test-only utilities behind cfg(test) instead of hiding them with blanket dead_code suppressions.

Verified with RUSTFLAGS='-Dwarnings' cargo test and RUSTFLAGS='-Dwarnings' cargo build --examples.
Replace machine-specific /Users/mineralsteins paths in generated comments and tests with repo-relative or dynamically discovered fixture paths.

This keeps the PR reviewable on other machines and makes the transpiler fixture tests locate sibling upstream checkouts without hard-coding one local directory layout.

Verified with cargo test -p eggplant-transpiler and the affected path-based tests.
Remove the temporary superpowers planning/review notes from the stable PR branch so the pull request only carries product-facing code and docs.
@MilkBlock MilkBlock marked this pull request as ready for review April 23, 2026 08:24
@MilkBlock MilkBlock merged commit 9a6d83e into stable Apr 23, 2026
2 of 30 checks passed
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.

2 participants