Skip to content

feat: rewrite core and daemon in Rust - #1927

Open
NicholaiVogel wants to merge 612 commits into
mainfrom
hermes/hermes-8629112f
Open

NicholaiVogel wants to merge 612 commits into
mainfrom
hermes/hermes-8629112f

Conversation

@NicholaiVogel

@NicholaiVogel NicholaiVogel commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Continue the existing Signet core and daemon rewrite in Rust while preserving TypeScript-owned behavior. The PR remains in progress and is not being presented as complete or merge-ready.

Changes

  • Repair legacy schema admission for the production database owner: when a supported TypeScript schema has the exact missing v79 history/artifact boundary required by later schema state, reconcile the v79 DDL and history, then reopen safely without rewriting unrelated stored history or rows.
  • Add TypeScript-generated legacy SQLite fixtures and 27 admission tests covering v79/v80 gaps, v153-to-v157 upgrade/reopen behavior, incomplete or unsupported history, transaction rollback, scope preservation, and migration artifact repair.
  • Extend the real owner-process lifecycle contract to verify legacy admission and restart behavior.
  • Retain the existing bounded DB-owner lifecycle, uncertain-mutation handling, per-case shared-corpus evidence requirements, and native daemon work described by the broader rewrite.

Owner IPC outcome flow

Owner IPC outcome flow

Type

  • feat — new user-facing feature (bumps minor)
  • fix — bug fix
  • refactor — restructure without behavior change
  • chore — build, deps, config, docs
  • perf — performance improvement
  • test — test coverage

Packages affected

  • @signet/core
  • @signet/daemon
  • @signet/cli / dashboard
  • @signet/sdk
  • @signet/connector-*
  • @signet/web
  • predictor
  • Other: platform/rust-core, platform/rust-daemon, native service scripts, and docs

Screenshots

Not applicable: no production UI components changed.

Migration Notes (if applicable)

  • Migration is idempotent
  • Rollback / compatibility note included in PR description

This adds no new TypeScript schema version. It reconciles only the supported legacy v79 boundary through the existing owner transaction; repeated startup is safe, and existing data/history is preserved. It is not a general repair for arbitrary migration-history gaps.

Testing

  • bun test passes
  • bun run typecheck passes
  • bun run lint passes
  • Tested against running daemon
  • N/A

A1 source-tree verification (the follow-up commit changed only commit metadata; its source tree is unchanged):

  • cargo test --locked --manifest-path platform/rust-core/Cargo.toml --test legacy_schema_admission — 27 passed, 0 failed.
  • cargo build --locked --manifest-path platform/rust-daemon/Cargo.toml --bin signet-daemon — passed.
  • bun test platform/rust-daemon/owner-lifecycle.native.contract.test.ts — 6 passed, 78 assertions, against the native process contract.
  • bun run biome check --staged — passed for the staged owner-lifecycle contract test.
  • rustfmt --edition 2021 --check --config skip_children=true platform/rust-core/src/lib.rs and git diff --check — passed.
  • bun run typecheck — exited 2 in a fresh worktree with missing workspace build artifacts and connector/daemon diagnostics; it is not claimed as passing.

AI disclosure

  • No AI tools were used in this PR
  • AI tools were used (see Assisted-by tags in commits)

Notes

This rewrite remains incomplete. The last recorded shared-corpus inventory found 497 protected paths and 480 runnable entrypoints; that is a path inventory, not executed-case coverage. A complete identical TypeScript/Rust corpus run, source-matched packaged-artifact acceptance, installed-like runtime/platform/load coverage, and the remaining subsystem parity work are outstanding.

As of September 28, 2026, all 10 GitHub CodeQL/Analyze checks passed on exact head b6d2a13acb2641445a00a206c84e4c6a4dedadd1. These are code-analysis checks, not full rewrite/parity CI. The PR base has advanced and GitHub currently marks the branch as dirty against the base. Rebase/integration and the full acceptance criteria remain outstanding before merge readiness.

Comment thread integrations/pi/extension-base/src/native-helpers.ts Fixed
Comment thread integrations/pi/extension-base/src/native-helpers.ts Fixed
Comment thread integrations/pi/extension-base/src/native-helpers.ts Fixed
Comment thread platform/rust-daemon/src/routes/git_sync.rs Fixed
Comment thread platform/rust-daemon/src/routes/git_sync.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread platform/rust-daemon/src/routes/inference.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread platform/rust-daemon/src/routes/integrations.rs Fixed
Comment thread integrations/pi/extension-base/src/native-helpers.ts Fixed
@aaf2tbz

aaf2tbz commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator
5b8f

@github-advanced-security github-advanced-security AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
Comment thread platform/rust-daemon/src/routes/plugins.rs Fixed
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.

3 participants