Skip to content

v1.0.1-alpha

Pre-release
Pre-release

Choose a tag to compare

@mdavistffhrtporg mdavistffhrtporg released this 17 Feb 19:25
· 39 commits to main since this release
Immutable release. Only release title and notes can be modified.
066035a

Full 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-alpha066035a
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 gateway mode 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:

  • gateway command in launcher CLI.
  • run_gateway(...) process supervisor:
    • Starts UI and optionally MCP (--with-mcp)
    • Waits for /health readiness
    • Monitors child process exits
    • Handles graceful shutdown on SIGINT/SIGTERM
  • Setup wizard integration:
    • gateway is 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-timeout for 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
  • 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
  • .gitignore update(s) for backend housekeeping

Change Stats

From v1.0.0-alpha to HEAD:

  • 10 files changed
  • 424 insertions
  • 39 deletions

Upgrade Notes

  1. Preferred startup path is now:
    • python opensift.py setup (choose gateway)
  2. Direct run option:
    • python opensift.py gateway --with-mcp
  3. 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 fixes
  • 18c26f9 - added badges
  • 6ea7db4 - added CI
  • 2244e5b - update gitignore