Skip to content

fix(forge_plugin): import HeliosAgentConfig in register_with_manager doctest - #3865

Open
KooshaPari wants to merge 555 commits into
tailcallhq:mainfrom
KooshaPari:fix/helios-lite-nightly-doctest
Open

fix(forge_plugin): import HeliosAgentConfig in register_with_manager doctest#3865
KooshaPari wants to merge 555 commits into
tailcallhq:mainfrom
KooshaPari:fix/helios-lite-nightly-doctest

Conversation

@KooshaPari

Copy link
Copy Markdown

Problem

KooshaPari and others added 30 commits August 7, 2026 18:09
…th, adopt richer HeliosdoctorDbStats from main
Co-authored-by: KooshaPari <koosha@example.com>
The fork now writes new conversations to .forge.writes.db by default while reads go through the conversations_all TEMP VIEW (ATTACHed legacy .forge.db READ ONLY + primary), so pre-existing sessions stay visible and new data lands in a separate file. FORGE_WRITE_DB_PATH / FORGE_LEGACY_DB_PATH override the targets. Includes: SqliteCustomizer::configure_read_projection (always-installed view, plain-view fallback), conversations_all diesel table, 59 read sites migrated, agent-hide + visibility filters preserved, new test_split_db_union_reads_legacy_rows, CLI/docs/CI updates.
database_write_path() now defaults to .forge.writes.db to mirror forge_domain::Environment::write_database_path(), so heliosdoctor stats and the pool agree on the primary file. compute_database_stats reports the union: total and the compressed/uncompressed/empty/agent/oversized categories sum write DB + legacy DB rows, and integrity_check runs PRAGMA on both files when the legacy DB is attached.
The bundled SQLite rejects both 'READ ONLY' and '(READONLY)' ATTACH forms, so compute_database_stats could not attach the legacy DB, legacy_attached stayed false, and split-mode totals collapsed to zero. Use a plain ATTACH (matching the pool's SqliteCustomizer fallback); read-only is enforced structurally since no code path writes to legacy_read.
export_forge_db queried the primary 'conversations' table directly, so in split-DB mode (writes to .forge.writes.db, reads unioning legacy .forge.db) it reported 0 read/0 exported and a real export would silently omit all legacy conversations. Route both the row SELECT and the workspace_id lookup through the conversations_all TEMP VIEW (installed by SqliteCustomizer on every connection acquire), matching the rest of the read layer.
The fork now writes conversations to ~/.forge/.forge.writes.db by default while reads union legacy ~/.forge/.forge.db via the conversations_all TEMP VIEW (FORGE_WRITE_DB_PATH / FORGE_LEGACY_DB_PATH override). Document this in CONTRIBUTING.md, the ops runbook, threat-model, and SLO docs; align CLAUDE.md with the cargo-deny workflow's advisories+licenses+sources run.
Rows with no context payload at all (context NULL and context_zstd NULL) were counted as decompression_failed and skipped, silently dropping their metadata from exports. New export_context() resolves a row to Ok(Some(plain)), Ok(None) for no payload (exported with NULL context, metadata preserved), or Err(()) only for genuine zstd decompression failures. All writers (SQLite, JSONL, CSV) and both dry-run preflights updated.
…ness

Test-only changes from a parallel session: make cmd.exe stdout comparisons line-ending agnostic (executor.rs), detect runtime blocking via inter-tick heartbeat gaps instead of fragile count thresholds (conversation_repo.rs), and normalize resource paths to / separators on Windows (skill.rs).
Tracks the 2026-08-08 binary swaps (02:52 external split-DB build, then four verified installs of c30e21d..f2118f8 with APP_VERSION=2.10.5), plus the verification commands and results for each.
* fix: remove obsolete merge dependency lineage

* chore(sbom): remove stale merge lineage

Co-Authored-By: ForgeCode <noreply@forgecode.dev>

---------

Co-authored-by: KooshaPari <koosha@example.com>
Co-authored-by: ForgeCode <noreply@forgecode.dev>
* feat(config): isolate helioslite runtime paths

Co-Authored-By: ForgeCode <noreply@forgecode.dev>

* feat(helioslite): export and publish verified Forge snapshots

Co-Authored-By: ForgeCode <noreply@forgecode.dev>

* fix: isolate HeliosLite session imports

* fix(helioslite): reject unsafe sessions roots

---------

Co-authored-by: KooshaPari <koosha@example.com>
Co-authored-by: ForgeCode <noreply@forgecode.dev>
Resolved update.rs conflict keeping the binary-aware native Windows updater (helioslite/forge dual identity), which is a superset of the remote forge-only version. Remote side brings CI workflow rewrites, cargo-cyclonedx SBOM refresh, updater release pins, and Infisical secret rotation.
Co-authored-by: KooshaPari <koosha@example.com>
…shot import)

Resolved forge_config/reader.rs conflict by keeping the remote binary-aware resolution (HELIOSLITE_HOME with overlap validation, config_dir/sessions_path) while restoring Gate 5 legacy ~/.forge precedence for the helioslite binary and the public binary_prefix() used by the updater and heliosdoctor. cli.rs/ui.rs auto-merged; workspace check and forge_config tests (52) pass.
the pool legacy read union, heliosdoctor reporting, and migrate_data_dir now respect FORGE_LEGACY_DB_PATH; migrate copies the write DB (.forge.writes.db with WAL sidecars) alongside legacy .forge.db so fork data survives migration; picker list filters agent rows before the recency LIMIT so older user conversations stay visible.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
removes the dead release_asset_for_target helper and adds helioslite-* asset uploads to the release workflow matching the updater's binary-aware requests.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
drift config now uses the OS temp dir for its default db_path, and the preview command avoids spawning POSIX-only /bin/sh on Windows.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
File::open on a directory fails on Windows (EACCES); keep the POSIX dir-fd sync, no-op on Windows where the atomic rename plus per-file sync_all preserve durability.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
replace the Ack stub with rusqlite execution (wal checkpoint, optimize, quick_check health), honor FORGE_WRITE_DB_PATH then default to .forge.writes.db, and scope dead_code allows per module.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
KooshaPari and others added 24 commits August 30, 2026 00:07
fix(helios-bot): avoid unchecked CLI and mention slices (#211)
test(forge-repo): make daemon spawn test portable (#213)
fix(sdk): update doctest to match actual API signatures (#214)
fix(e2e): correct multi-file scenario step count (#217)
feat(domain): add F3 episodic semantic-memory contract (#216)
…pl (#220)

fix(p2/p3): clippy + nightly fmt across all new P2/P3 crates (#220)
fix(helioslite_helper): inspect parent wait errors (PR #221). All 8 required checks pass.
fix(ci): update actions/cache to v4 in benchmarks workflow (PR #224)
Bulk merge: add sladge + GitHub downloads badges
…ot SDK (#229)

feat(helios-bot): SDK wiring to ForgeAPI (PR #229)
ci: refresh CI cache and scorecard action pins (#223)
test(sandbox): use portable temp directory fixture (#222)
…sh (#231)

ci: fix Platform Tests non-blocking + Update Distribution PR-based push
…age (#232)

ci(scorecard): fix TokenPermissions + PinnedDependencies + SAST coverage
fix(ci): resolve all 7 clippy+fmt failures blocking main (#235)
Copilot AI lite review requested due to automatic review settings September 3, 2026 06:14

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added ci: benchmark Runs benchmarks type: docs Related to documentation and information. type: fix Iterations on existing features or infrastructure. labels Sep 3, 2026
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


KooshaPari seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: benchmark Runs benchmarks type: docs Related to documentation and information. type: fix Iterations on existing features or infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants