Skip to content

TensorPM v1.8.1-beta.1 (Beta)

Pre-release
Pre-release

Choose a tag to compare

@Neo552 Neo552 released this 30 May 16:39
· 67 commits to main since this release

Changelog - v1.8.1-beta.1

This patch beta covers all changes since v1.8.0-beta.1. It improves connector
project assignment, intake exclusions, Distiller review fidelity, local agent
execution, demo data quality, and release-readiness fixes.

New Features

Multi-Project Email Connectors

  • Email connectors now use projectIds instead of a single projectId, so one
    mailbox can be assigned to multiple projects.
  • Existing email connectors with legacy projectId data are migrated in memory
    into the new projectIds shape when loaded.
  • Duplicate email connector detection now checks overlapping project
    assignments instead of blocking every connector with the same email address.
  • Email connector sync, ingest, mail context, setup forms, connector overview,
    and connector status indicators all understand multi-project assignments.
  • The email connector setup form now shows project checkboxes instead of a
    single project select.
  • Connector overview details can display multiple assigned project names.
  • A renderer helper normalizes connector project IDs before UI components use
    them.

Local Gmail Connector Bootstrap

  • Added a development-only connector bootstrap service that can create or update
    a Gmail connector from environment variables.
  • Gmail app passwords from the environment are imported into secure storage
    rather than persisted in connector JSON.
  • Existing matching connectors can have their project assignments reconciled
    from the environment.
  • Packaged builds explicitly skip this bootstrap path to avoid surprising
    end-user connector provisioning.
  • .env.example documents the Gmail connector bootstrap variables.

Folder-Level Intake Exclusions

  • File Explorer can now exclude an entire folder from distillation.
  • Files nested under an excluded folder are hidden from pending distillation
    queries.
  • Folder ignores support workspace/private ignore semantics through the same
    intake ignore path as files, emails, documents, and Telegram messages.
  • Ignored folders show visual ignored-status badges in list and grid views.
  • Including a file or folder now targets the deepest matching ignore entry, so
    nested folder ignores can be removed correctly.
  • Intake ignored-item lists now display folder names and include folders under
    the file source filter.

Structured Distiller Review Cards

  • Distiller can present newly proposed action items, people, and material items
    as structured entity cards instead of plain text.
  • Entity cards show a title plus typed attributes such as status, due date,
    owner, and priority.
  • Status attributes reuse the same visual status symbols as the action item
    list.
  • Table-like fields, including requirements, technologies/methods, milestones,
    and risks, now render as compact green/red table diffs.
  • Prose fields such as description, goal, scope, and dependencies now render as
    stacked text diffs instead of squeezed inline pills.
  • Source review cards now show clearer source type badges for files, documents,
    emails, MCP updates, chat updates, and other sources.
  • Image sources can render inline previews when the local source file is
    available.
  • File-like sources can be opened from the Distiller review card when TensorPM
    can resolve the source path.
  • Long source quotes collapse when the proposal already has visible structured
    content.

Brave Search Key Management

  • Brave Search now participates in the shared API key initialization/checking
    flow.
  • BRAVE_SEARCH_API_KEY can be imported into secure storage at startup.
  • The all-provider API key check now includes Brave.
  • Environment logging now reports Mistral and Brave key presence without
    exposing secrets.
  • Brave Search availability now depends on a validated stored Brave key, matching
    the secure-storage behavior used by other providers.

Construction Demo Metrics

  • The construction SharePoint demo seed now assigns role groups based on seeded
    person roles.
  • Demo projects now include AI+ project health and progress evaluations with
    status, percentage, trends, confidence, and reasoning.
  • Seeded projects and action items now default to the AI+ view where appropriate.
  • The demo seed can read .env and .env.local, supporting the new local Gmail
    connector bootstrap workflow.

Improvements

Distiller Proposal Fidelity

  • The Distiller tool schema now documents when to use proposedEntity,
    proposedChanges, decisionPlan, and free text.
  • proposedEntity is accepted only for action items, people, and material items.
  • Table fields are rejected when sent as generic entity cards and receive a clear
    repair message telling the model to use cell-level proposedChanges.
  • Structured entity proposals are flattened into readable legacy trail text when
    a plain-content fallback is needed.
  • Distiller prompt guidance was tightened so table rows and cells stay in the
    review format users expect.
  • The review carousel fingerprints structured proposals with operation and
    proposedEntity, so changed cards reset stale approval decisions correctly.
  • Hidden approval payloads now preserve operation and proposedEntity through
    the apply phase.
  • Backend history enrichment now merges missing proposal payload fields from the
    original present_distillate call into partial hidden approval payloads.
  • Decision-plan proposals continue to preserve their write-plan details through
    the approval flow.

Distiller and Trail Rendering

  • Structured Distiller proposal objects no longer fall back to raw JSON display.
  • Action item diff cards strip rich-text HTML from description-like fields before
    showing changes.
  • Action item assignment diffs render avatar stacks where possible.
  • Action item deletion trail events now include deleted item summaries when the
    tool response provides them.
  • People edit proposals highlight newly added labels and custom roles.
  • Person fields with structured changes avoid duplicate full-person rendering.
  • Empty placeholders such as -, (), and [] are treated as missing values
    instead of being shown as removed content.
  • Distiller card action menus now size to localized labels and include the
    localized Skip label in English and German.
  • Approved, appended, skipped, and rejected Distiller cards now use full-card
    state tinting rather than only a left border.

Intake and File Review Usability

  • Pending file rows in the intake indicator now use a stable two-line layout
    with the file name above the date.
  • Long file names now show ellipses correctly instead of being hard-cut.
  • File hover tooltips show the full filename, date, size, and description.
  • File icons are vertically centered against the updated two-line layout.
  • Virtualized pending-file row estimates were adjusted to reduce resize flicker.
  • Folder ignore helpers centralize path normalization and folder containment
    checks so File Explorer, status hooks, and store updates share the same
    semantics.
  • Dashboard chat and welcome-context layout were adjusted to work with the new
    intake state.

Local Agent Execution

  • Local Codex standard runs now use the current workspace-write sandbox flag and
    approval mode expected by the current Codex CLI.
  • Full Codex runs still use the explicit bypass mode selected by the user.
  • Headless Codex runs continue to capture the final answer through the last
    message output file.
  • Interactive Codex argument generation is exposed for compatibility coverage.
  • Local CLI smoke coverage now checks Codex and Claude Code command generation.

AI Tooling and Prompt Context

  • Person updates now accept common field aliases such as role, roleGroups,
    email, phone, labels, and German phone labels.
  • Person update arguments are normalized so scalar, array, role group, and
    influence values are coerced before persistence.
  • Person references can be resolved by name or ID before updates are applied.
  • Action item deletion responses now include deleted item summaries for better
    audit trail output.
  • Tool name aliases are resolved before tool trace and trail tracking, so
    aliased tool calls are tracked under their canonical tool names.
  • Project/user prompt context now resolves the current language from explicit UI
    settings, Electron locale, process locale, or Intl locale.
  • German language preference now emits a stronger instruction to write all
    user-facing text in German.
  • Project welcome context cache invalidation now compares against the resolved
    language rather than the raw system setting.
  • Connector/project context in prompts now reflects the new multi-project email
    connector model.

Runtime and Document Processing

  • The renderer now displays a clear Electron-runtime-required screen when opened
    without the preload IPC API, instead of failing silently from a plain Vite URL.
  • SheetJS document processing now binds Node filesystem APIs for ESM usage, which
    fixes spreadsheet reads that previously failed with "Cannot access file" for
    valid paths.
  • MCP action item updates no longer re-apply the [AI] creation prefix when
    editing an existing item.

Fixes

  • Fixed folder-source matching for Windows-style backslash paths in intake
    pending-file queries.
  • Fixed an escaped-character lint issue in an intake SQL comment.
  • Fixed Distiller approvals that could show structured entity details in review
    but drop the structured payload before applying.
  • Fixed schema/prompt drift where table fields could be proposed as generic
    entities even though they must be reviewed as row/cell diffs.
  • Fixed connector status and sync blocking logic for email connectors assigned to
    multiple projects.
  • Fixed connector repository duplicate checks so connectors with the same email
    are allowed when their project assignments do not overlap.
  • Fixed project welcome context language handling for system language mode.
  • Fixed Brave Search error guidance to point to validated settings or startup
    environment import.

Tests

Added or updated regression coverage for:

  • Multi-project connector config normalization, duplicate detection, IPC, sync,
    ingest, mail service, connector overview, connector indicator, and email setup
    behavior.
  • Connector environment bootstrap creation, credential import, reconciliation,
    incomplete environment handling, and packaged-build safety.
  • Folder ignore visibility in pending email/file intake queries.
  • Distiller prompt guidance, structured entity approval payload preservation,
    partial hidden approval payload enrichment, decision-plan preservation, and
    invalid table-field proposedEntity rejection.
  • Distiller executor support for entity-only action item/person/material
    proposals.
  • Distiller carousel behavior and Trail rendering for action item and people
    diffs.
  • Brave API key initialization, availability, and executor behavior.
  • Document processor ESM filesystem binding.
  • Person executor argument normalization and alias handling.
  • Tool name alias tracking.
  • User language resolution from settings and locale fallbacks.
  • Material panel and connector frontend behavior touched by the connector model
    change.
  • Local Codex and Claude Code CLI compatibility.

Notes

  • No explicit database migration is required; legacy email connector projectId
    values are normalized when connector configs are loaded.
  • This beta release intentionally skips the full Playwright E2E suite during
    release, per release request.
  • Unit tests, typecheck, lint, and the release AI smoke test remain part of the
    release gate.
  • The local release baseline is v1.8.0-beta.1; no separate v1.8.0 tag exists
    in this checkout.

Release Info

  • Version: 1.8.1-beta.1
  • Release Date: May 30, 2026
  • Previous Version: 1.8.0-beta.1
  • Type: Patch Beta