Skip to content

Remove wasm32 target support, update architecture documentation - #128

Merged
ShixiangWang merged 12 commits into
mainfrom
copilot/remove-wasm32-code
Apr 18, 2026
Merged

Remove wasm32 target support, update architecture documentation#128
ShixiangWang merged 12 commits into
mainfrom
copilot/remove-wasm32-code

Conversation

Copilot AI commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

Expert Review & Implementation — Progress Report

Completed Work

  • Phase 0: Comprehensive codebase analysis (48 files, 38K+ lines) — identified 81 dead_code annotations, incomplete task normalizer, unbounded JSONL files, unused knowledge/orchestration layers
  • Phase 1a: Wire unused code into production paths — sanitize in LLM prompts, feedback stats in CLI, knowledge layer search in orchestrator, context/format in verbose logging (81 → 46 annotations)
  • Phase 1b: Continue removing dead_code — wire cache stats, doc processor methods, history workflow detection, job scheduling, doc summarizer examples into production paths; remove unused IntelligentDocProcessor subsystem; total annotations 81 → 10 (only legitimate library API remains)

Remaining Work (new requirements acknowledged but not started)

  • Import bioconda_tools_metadata.jsonl from oxo-call-extends repo into project data/
  • Language Processing Layer: Add multilingual support via dependency packages + LLM for global language → English translation
  • Full architecture implementation per issue 实现全新系统架构 #127: complete all layers (User Interface, Language Processing, AI Orchestration, Knowledge Enhancement/RAG, Execution & Monitoring, Infrastructure)
  • Phase 2: Implement real LLM-backed task normalization in task_normalizer.rs
  • Phase 3: Add JSONL log rotation for feedback/error/history files
  • Phase 4: Strengthen orchestrator — domain expert detection, tool-specific planner
  • Phase 5: Improve validator — output file verification, rich error patterns
  • Phase 6: Wire result analyzer into feedback loop (self-evolution engine)
  • Phase 7: Comprehensive tests for all new/modified functionality

Key Metrics

  • Dead code annotations: 81 → 10 (88% reduction, remaining 10 are legitimate public API)
  • All 228 tests pass, make ci clean (fmt, clippy, build, test)
  • Removed unused IntelligentDocProcessor subsystem (~100 lines of dead code)
  • Wired sanitize, feedback stats, knowledge search, context inference, cache stats, doc processor, history workflow detection into production paths

Copilot AI linked an issue Apr 17, 2026 that may be closed by this pull request
Copilot AI and others added 9 commits April 17, 2026 15:34
Remove #[cfg(target_arch = "wasm32")] blocks (stub code) entirely and
strip #[cfg(not(target_arch = "wasm32"))] gates while keeping the
guarded code. Replace the cfg_attr tokio::main pair with a plain
#[tokio::main] attribute.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Remove all #[cfg(target_arch = "wasm32")] blocks (wasm stubs),
unwrap #[cfg(not(target_arch = "wasm32"))] blocks keeping their contents,
remove the cfg_attr line, and make the std::process::Command import
unconditional.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Remove all #[cfg(target_arch = "wasm32")] stubs, #[cfg(not(target_arch = "wasm32"))]
gates, and #[cfg_attr(target_arch = "wasm32", ...)] attributes. The native
implementation code is kept and unwrapped from its cfg blocks.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Remove #[cfg(target_arch = "wasm32")] stubs, #[cfg(not(target_arch = "wasm32"))]
gates, and #[cfg_attr(target_arch = "wasm32", ...)] attributes. Keep all
non-wasm code intact and unwrap cfg-gated blocks.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Remove #[cfg(not(target_arch = "wasm32"))] guards from imports, struct
fields, and function definitions, keeping the native code unconditionally.
Remove #[cfg(target_arch = "wasm32")] stub functions and their doc comments
entirely, as wasm32 support is no longer needed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Remove #[cfg(target_arch = "wasm32")] stubs and
#[cfg(not(target_arch = "wasm32"))] gates from:
- core.rs: imports, struct fields, builder methods, run/dry_run blocks
- batch.rs: imports, run_batch/dry_run_batch methods and wasm stubs
- retry.rs: imports, VerifyParams struct, retry/verify methods and wasm stubs
- utils.rs: imports, detect_tool_version, make_spinner, validate_input_files
- tests.rs: spinner calls and test function annotations

All native code is kept; all wasm32 stub code is removed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Remove #[cfg(target_arch = "wasm32")] blocks (stubs) and
#[cfg(not(target_arch = "wasm32"))] gates from:
- src/skill.rs
- src/engine.rs
- src/workflow.rs
- src/server.rs
- src/llm/types.rs

The non-wasm code is kept; wasm stubs and cfg_attr annotations are removed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
…tion

- Remove wasm32/wasm32-wasip1 target-specific dependency sections from Cargo.toml
- Remove all #[cfg(target_arch = "wasm32")] stubs and #[cfg(not(target_arch = "wasm32"))] gates from 20+ source files
- Remove build-wasm CI job from .github/workflows/ci.yml
- Remove wasm32-wasip1 from release job dependencies
- Remove WebAssembly references from installation docs and landing page
- Update architecture docs to reflect native-only platform support

Resolves part 1 of #127

Agent-Logs-Url: https://github.com/Traitome/oxo-call/sessions/15197fad-e5b3-4017-b62d-bb2d5e02b652

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Rewrite docs/guide/src/reference/architecture.md to reflect the new
5-layer architecture (User Interface, Language Processing, AI Orchestration,
Knowledge Enhancement, Execution & Monitoring, Infrastructure) with
complete module mappings matching the actual codebase.

Agent-Logs-Url: https://github.com/Traitome/oxo-call/sessions/15197fad-e5b3-4017-b62d-bb2d5e02b652

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove wasm32 code and implement new system architecture Remove wasm32 target support, update architecture documentation Apr 17, 2026
Copilot AI requested a review from ShixiangWang April 17, 2026 16:08
Copilot AI and others added 2 commits April 17, 2026 16:38
…tion layers

New modules implementing the 6-layer architecture:

Knowledge Enhancement Layer (src/knowledge/):
- tool_knowledge.rs: Embedded bioconda catalog (80+ tools) with TF-IDF search
- error_db.rs: Error learning DB with category classification and recovery hints
- best_practices.rs: Domain-specific best practices (alignment, variant calling, RNA-seq, QC)

AI Orchestration Layer (src/orchestrator/):
- supervisor.rs: Routes tasks, selects SingleCall vs MultiStage mode
- planner.rs: Decomposes pipeline tasks into executable steps
- executor.rs: Task normalization and enrichment with knowledge hints
- validator.rs: Result validation with error DB integration

Execution & Monitoring Layer (src/execution/):
- result_analyzer.rs: Post-execution analysis (patterns, quality metrics, improvements)
- feedback.rs: Feedback collection for self-evolution

Runner integration:
- Supervisor decision drives workflow mode selection (replaces hardcoded Fast)
- Planner detects multi-step pipelines
- Executor enriches prompts with best practices and normalized task
- Validator + ResultAnalyzer provide post-execution insights
- FeedbackCollector records all outcomes for learning
- ErrorKnowledgeDb records failures for recovery suggestions

All 918 unit + 228 integration tests pass. make ci clean.

Agent-Logs-Url: https://github.com/Traitome/oxo-call/sessions/307b4516-b3f5-4991-889b-07e9d212d081

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
…tants, improve API

- Remove duplicate ErrorKnowledgeDb::record() call from validator (runner already records)
- Add TOOL_NAME_BOOST constant for TF-IDF name match boost factor
- Add OrchestrationMode::to_workflow_mode() for explicit mode mapping
- Clean up unused imports (WorkflowMode, OrchestrationMode direct import)
- Fix unused variable warnings in validator after removing recording

Agent-Logs-Url: https://github.com/Traitome/oxo-call/sessions/307b4516-b3f5-4991-889b-07e9d212d081

Co-authored-by: ShixiangWang <25057508+ShixiangWang@users.noreply.github.com>
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