fix(ci): unbreak workspace build #85

Merged
mahmoud merged 9 commits from development_ci_fix_knowledge_deps into development 2026-04-21 05:56:16 +00:00
Member

Summary

Fixes the two independent CI blockers called out in issue #69: the stale cross-repo patch entries in .forgejo/deps.txt and the compile errors in archipelagos/intelligence/knowledge caused by the removed hero_osis_sdk::embedder module. Also refreshes Cargo.lock so messaging resolves the current SDK without source changes.

Closes #69

Changes

  • .forgejo/deps.txt — correct hero_osis_sdk subpath (crates/hero_osis_sdk) and replace the stale hero_fossil/webdav-client line with hero_foundry_webdav_client=crates/hero_foundry_webdav_client.
  • archipelagos/intelligence/knowledge/src/services/embedder_types.rs (new) — local stubs KnowledgeBucket and SyncResult to replace the removed hero_osis_sdk::embedder types.
  • archipelagos/intelligence/knowledge/src/services/mod.rs — register embedder_types module and re-export its types.
  • archipelagos/intelligence/knowledge/src/services/knowledge_service.rs — keep only the three methods called from island.rs (fetch_buckets, sync_bucket, delete_bucket) as stubs returning an "unavailable" error; drop all hero_osis_sdk imports and the unused fetch_bucket, create_bucket, search_bucket.
  • archipelagos/intelligence/knowledge/src/island.rs — switch KnowledgeBucket import from hero_osis_sdk::embedder to crate::services.
  • examples/os_components/src/island_content.rs — add missing window_id and initial_url_segment fields to IslandContext initializer (pre-existing blocker surfaced while verifying workspace check).
  • archipelagos/messaging/src/archipelago.rscargo fmt import reorder (pre-existing deviation).
  • Cargo.lock refreshed via cargo update -p hero_osis_sdk so messaging picks up conversationservice_list_messages without source changes.

Test Results

Check Result
cargo check -p hero_archipelagos_knowledge pass
cargo check -p hero_archipelagos_messaging pass
cargo check --workspace pass
cargo fmt --all -- --check pass

Restoring a real embedder client in hero_osis_sdk is out of scope — follow-up ticket.

## Summary Fixes the two independent CI blockers called out in issue #69: the stale cross-repo patch entries in `.forgejo/deps.txt` and the compile errors in `archipelagos/intelligence/knowledge` caused by the removed `hero_osis_sdk::embedder` module. Also refreshes `Cargo.lock` so messaging resolves the current SDK without source changes. ## Related Issue Closes https://forge.ourworld.tf/lhumina_code/hero_archipelagos/issues/69 ## Changes - `.forgejo/deps.txt` — correct `hero_osis_sdk` subpath (`crates/hero_osis_sdk`) and replace the stale `hero_fossil/webdav-client` line with `hero_foundry_webdav_client=crates/hero_foundry_webdav_client`. - `archipelagos/intelligence/knowledge/src/services/embedder_types.rs` (new) — local stubs `KnowledgeBucket` and `SyncResult` to replace the removed `hero_osis_sdk::embedder` types. - `archipelagos/intelligence/knowledge/src/services/mod.rs` — register `embedder_types` module and re-export its types. - `archipelagos/intelligence/knowledge/src/services/knowledge_service.rs` — keep only the three methods called from `island.rs` (`fetch_buckets`, `sync_bucket`, `delete_bucket`) as stubs returning an "unavailable" error; drop all `hero_osis_sdk` imports and the unused `fetch_bucket`, `create_bucket`, `search_bucket`. - `archipelagos/intelligence/knowledge/src/island.rs` — switch `KnowledgeBucket` import from `hero_osis_sdk::embedder` to `crate::services`. - `examples/os_components/src/island_content.rs` — add missing `window_id` and `initial_url_segment` fields to `IslandContext` initializer (pre-existing blocker surfaced while verifying workspace check). - `archipelagos/messaging/src/archipelago.rs` — `cargo fmt` import reorder (pre-existing deviation). - `Cargo.lock` refreshed via `cargo update -p hero_osis_sdk` so messaging picks up `conversationservice_list_messages` without source changes. ## Test Results | Check | Result | | --- | --- | | `cargo check -p hero_archipelagos_knowledge` | pass | | `cargo check -p hero_archipelagos_messaging` | pass | | `cargo check --workspace` | pass | | `cargo fmt --all -- --check` | pass | Restoring a real embedder client in `hero_osis_sdk` is out of scope — follow-up ticket.
fix(ci): unbreak workspace build and feature-branch CI patch
Some checks failed
Build and Test / build (pull_request) Failing after 21s
1b051d716d
- Correct .forgejo/deps.txt paths: hero_osis_sdk moved to crates/,
  and replace stale hero_fossil/webdav-client with hero_foundry_webdav_client.
- Replace removed hero_osis_sdk::embedder usage in knowledge with local
  type stubs (KnowledgeBucket, SyncResult) and service method stubs
  returning an "unavailable" error; drop unused fetch_bucket, create_bucket,
  search_bucket. Follow-up: restore real embedder client.
- Add missing IslandContext fields (window_id, initial_url_segment) in
  examples/os_components to unblock cargo check --workspace.
- Apply cargo fmt --all (messaging/archipelago.rs import ordering).

#69
ci: install and default to Rust 1.93 in CI runners
Some checks failed
Build and Test / build (pull_request) Failing after 4m47s
3c972da386
Upstream hero_osis_sdk bumped its rust-version to 1.93; the
ghcr.io/despiegk/builder image ships rustc 1.92 by default, so
cargo check fails with 'rustc 1.92.0 is not supported'. Install
1.93 via rustup and set it as default in both workflows.

#69
ci: install rustfmt+clippy with 1.93, fix stale core::context URL tests
Some checks failed
Build and Test / build (pull_request) Has been cancelled
d498ffc5ad
- Minimal profile for Rust 1.93 excludes rustfmt and clippy, causing the
  CI format check and clippy step to fail with "cargo-fmt is not installed".
  Pass --component rustfmt --component clippy to the toolchain install.
- core::context::tests::test_url_derivation_{proxy,remote} were never
  updated after commit 73df490 changed osis_url() to return the hero_router
  origin (no suffix) and renamed forge/agent route suffixes. Update the
  assertions to match the current osis_url / forge_url / agent_url outputs.

#69
refactor: apply lint fixes
Some checks failed
Build and Test / build (pull_request) Failing after 2m0s
9dba597f32
salmaelsoly force-pushed development_ci_fix_knowledge_deps from 9dba597f32
Some checks failed
Build and Test / build (pull_request) Failing after 2m0s
to d498ffc5ad
Some checks failed
Build and Test / build (pull_request) Has been cancelled
2026-04-20 13:02:30 +00:00
Compare
refactor: clean up pre-existing clippy errors
All checks were successful
Build and Test / build (pull_request) Successful in 5m30s
436ee09379
Fix the four clippy -D warnings errors surfaced while enabling the
CI clippy step:

- archipelagos island: mark unused `props` via `let _ = props;` so the
  Dioxus `#[component]` macro keeps generating the Props struct.
- rhai_codegen / workflow_editor: remove unreachable `_` arms; all
  ActionType variants are already matched exhaustively.
- contexts create_form: factor the 5-tuple EventHandler payload into a
  named `CreateContextPayload` type alias.
- server registry: allow(dead_code) on PropType::Boolean and has_props
  \u2014 kept intentionally for future island props.

#69
refactor(mcp-derive): collapse nested if-let blocks
All checks were successful
Build and Test / build (pull_request) Successful in 5m47s
c3cf3483a8
Clippy's collapsible_if (stable as of 1.93) flags seven nested
if/if-let pairs in mcp-derive. Collapse them using let-chains to
quiet the CI clippy step.

#69
salmaelsoly changed title from fix(ci): unbreak workspace build and feature-branch CI patch to fix(ci): unbreak workspace build 2026-04-20 13:30:40 +00:00
Collapse nested if-let chains in platform, sizing, web_component, and
drop a redundant Signal clone in window_route (Signal is Copy).

#69
refactor: workspace clippy 1.93 cleanups (collapsible_if, clone-on-copy, etc.)
All checks were successful
Build and Test / build (pull_request) Successful in 5m52s
e9cf5321f4
Sweep matches CI's toolchain (rustc 1.93) — clippy was promoting dozens
of lints to errors. Fix them in place rather than suppress:

- Collapse nested if-let / if chains into let-chains (clippy::collapsible_if).
- Drop .clone() on Signal/Callback types that implement Copy.
- Remove redundant mut bindings on use_signal handles that are never written.
- Replace `if let Ok(_x) = ...` with .is_ok() when the binding is unused.
- Use r.replace(['-', '.', ' '], "_") instead of chained single-char replaces.
- Delete unreachable `_ =>` arms on exhaustive ActionType matches.
- Fix unused-variable noise on wasm-gated params via _name rename or
  cfg_attr(not(target_arch = "wasm32"), allow(unused_variables)).
- Drop the dead EventHandler<(...5-tuple)> factor in contexts::create_form
  in favour of a named CreateContextPayload type alias.
- #[allow(dead_code)] on PropType::Boolean and registry::has_props
  (intentional unused API surface).
- rustfmt (1.93) over the whole tree.

Verified end-to-end under rustc 1.93:
  cargo clippy --workspace --exclude livekit_bridge --all-targets -- -D warnings  -> OK
  cargo check --target wasm32-unknown-unknown --workspace
    --exclude archipelagos_server --exclude livekit_bridge                        -> OK
  cargo fmt --all -- --check                                                      -> OK
  cargo test -p hero_archipelagos_core --lib                                      -> 8 passed

#69
salmaelsoly force-pushed development_ci_fix_knowledge_deps from e9cf5321f4
All checks were successful
Build and Test / build (pull_request) Successful in 5m52s
to 21c038c855
Some checks failed
Build and Test / build (pull_request) Failing after 1m19s
2026-04-20 14:03:43 +00:00
Compare
fix(server): add missing hero_archipelagos_livekit dep
All checks were successful
Build and Test / build (pull_request) Successful in 5m25s
3e5b1999d3
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Merge branch 'development' into development_ci_fix_knowledge_deps
All checks were successful
Build and Test / build (pull_request) Successful in 6m15s
375b1c5b1d
mahmoud merged commit 93b80b964e into development 2026-04-21 05:56:16 +00:00
mahmoud deleted branch development_ci_fix_knowledge_deps 2026-04-21 05:56:20 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos!85
No description provided.