v1.0.1-alpha
Pre-releaseFull Changelog: v1.0.0-alpha...v1.0.1-alpha
OpenSift Release Notes
Release: v1.0.1-alpha (proposed)
Date: February 17, 2026
Range: v1.0.0-alpha → 066035a
Commits included: 2244e5b, 6ea7db4, 18c26f9, 066035a
Summary
This release adds a true gateway runner, CI workflows, repository badges, and major reliability fixes for URL ingestion/retrieval. It also hardens owner/session handling and improves user-facing ingest error feedback.
Highlights
- New supervised
gatewaymode for running UI + optional MCP from one command. - Setup wizard now supports gateway-centric startup flow.
- New GitHub Actions CI and dependency review workflows.
- README now includes build/smoke, release, release date, and MIT badges.
- URL ingestion reliability significantly improved with validation, fallback extraction, and better UI/backend error handling.
- Owner normalization added end-to-end to reduce namespace mismatch/retrieval misses.
What’s New
1. Gateway Runner (OpenClaw-style orchestration)
File: backend/opensift.py
Added:
gatewaycommand in launcher CLI.run_gateway(...)process supervisor:- Starts UI and optionally MCP (
--with-mcp) - Waits for
/healthreadiness - Monitors child process exits
- Handles graceful shutdown on SIGINT/SIGTERM
- Starts UI and optionally MCP (
- Setup wizard integration:
gatewayis now a launch option (and default in setup flow)- Optional prompt to launch MCP alongside UI
CLI additions:
python opensift.py gateway --host 127.0.0.1 --port 8001 --with-mcp--health-timeoutfor startup readiness timeout tuning.
2. URL Ingestion Reliability Improvements
Files: backend/ui_app.py, backend/app/ingest.py, backend/templates/chat.html, plus retrieval paths in backend/cli_chat.py and backend/mcp_server.py
Backend ingestion improvements:
- URL normalization and validation in
/chat/ingest/url:- Auto-prefixes
https://when protocol missing - Rejects invalid/non-http(s) URLs with clear user error
- Auto-prefixes
- Robust exception handling around URL fetch/extract/chunk/embed/store
- Returns actionable assistant messages on failures instead of generic/noisy behavior
Extractor improvements:
- Added page-body fallback extraction when structural extraction is too short
- Reduced hard failure threshold after fallback to avoid false negatives on sparse pages
UI ingest improvements:
- Better fetch error handling (non-JSON/non-200 responses)
- Always re-enables ingest button (
finally) - Refreshes session list on successful URL ingest
3. Owner/Namespace Consistency Fix
Files: backend/ui_app.py, backend/templates/chat.html
Added canonical owner normalization across routes and UI input:
- Consistent sanitization (
[a-zA-Z0-9._-], max length 128) - Applied to chat/session/ingest/stream paths
- Prevents owner mismatch bugs where content ingested under one owner format could not be retrieved under another
4. Retrieval Fallback Hardening
Files: backend/ui_app.py, backend/cli_chat.py, backend/mcp_server.py
When owner-filtered retrieval returns empty:
- System retries broader query and locally filters by owner
- Mitigates vector filter edge cases that caused false “no materials found” responses
5. CI/CD and Repo Metadata
Files: .github/workflows/ci.yml, .github/workflows/dependency-review.yml, README.md, backend/.gitignore
Added:
- CI workflow:
- Python setup
- dependency install/check
- compile checks
- launcher help smoke checks
- PR dependency review workflow
- README badges:
- Build / Smoke
- Release version
- Release date
- MIT license
.gitignoreupdate(s) for backend housekeeping
Change Stats
From v1.0.0-alpha to HEAD:
- 10 files changed
- 424 insertions
- 39 deletions
Upgrade Notes
- Preferred startup path is now:
python opensift.py setup(choosegateway)
- Direct run option:
python opensift.py gateway --with-mcp
- If URL ingest still fails for a site:
- site may block scraping or require JS rendering; upload PDF/text as fallback.
Known Limitations
- Some websites still block programmatic extraction.
- JS-rendered-only content may require a browser-rendering ingestion path (not included in this release).
- OCR quality remains dependent on source scan quality and local OCR tooling.
Included Commits
066035a- major bug fixes18c26f9- added badges6ea7db4- added CI2244e5b- update gitignore