Skip to content

Release 0.4.0#137

Open
kostandinang wants to merge 1 commit into
mainfrom
ka/release-0.4.0
Open

Release 0.4.0#137
kostandinang wants to merge 1 commit into
mainfrom
ka/release-0.4.0

Conversation

@kostandinang
Copy link
Copy Markdown
Contributor

@kostandinang kostandinang commented May 14, 2026

TL;DR

Ships side-chat: unified mutation surface, shared patch list, impact-tier routing, and an agent classifier that triages high-impact downstream review.

📹 Walkthrough: https://www.loom.com/share/de8f107613084a868df8b7697d64308f

@hashintel/brunch@0.4.0 — already on npm (latest); tag 0.4.0 on origin. This PR lands the package.json bump that direct-push-to-main was blocked from delivering.

Subject to evolve. This is the last shape where the side-chat is a separate surface. The side-chat popover, Pending review section, and top-bar patch list will fold into a unified chat surface — sub-conversations and the review queue rendered inline as collapsibles, reconciliation as a target-grouped, async-by-default thread with a "Reconcile Now" trigger. See docs/design/CONVERSATIONAL_WORKSPACE_RUNTIME.md.

Side-chat — what landed

Surface

  • Popover anchored to rows; draggable into the right-side panel.
  • Item-level pins (chat-with on a row), span-level pins (text selection → floating 💬 Chat / 📝 Annotate), and multi-pin reasoning.

Explore mode

  • Free-form chat against pinned context. Streamed reply, no staging. Volatile (doesn't persist across sessions).

Annotate

  • Span-level durable note. Stages into the shared patch list; persists with inline content tint, action-rail badge, hover excerpt. (Ignore until the context injection from the unified chat happens, right now it doesn't make any sense)

Shared patch list & Apply

  • Direct row edits and chat-driven edits funnel into one canonical patch list (N change(s) · Undo · Apply) routed through one apply endpoint.

Impact-tier routing

  • Soft (≤2 downstream, no active-review-set member): lands directly with a refresh-hint toast.
  • Hard (3+ downstream, or any anchor/affected item in an active review set): opens the Pending review section.
  • Active-review-set override forces Hard routing even on small edits to protect un-actioned review cards.

Edit mode

  • Side-chat Edit mode toggle (placeholder flips to "Suggest an edit…").
  • Word-level before/after diff on staged rows (warm tint removed, cool blue added).
  • Frozen source snapshots on Pending review rows — ↗ view source diff popover stays stable under further source edits.
  • Resolve is idempotent — clears the row without mutating the target.

Agent classifier on Pending review

  • Run agent walks each row: queued → classifying → classification.
  • Four classes with per-row actions:
    • auto-confirmConfirm (resolve only)
    • auto-editView proposal → Apply (edit + resolve) / Skip (resolve only)
    • substantiveOpen side-chat with target pinned
    • failedRe-run
  • Bulk header actions: Confirm all (N) over auto-confirm rows, Apply all suggested (N) over auto-edit rows (serial).

Re-entrant cascade

  • Edit target on a Pending review row stages a fresh edit; if itself high-impact, opens new Pending review rows for its downstream items. Queue absorbs new rows without duplicating existing open ones.

Propose-edge

  • In Edit mode with two items pinned, model can propose typed relations: depends_on, derived_from, constrains, refines, verifies.
  • Edge applies persist a relation chip without manual refresh.
  • Invalid relation kinds (e.g. context↔constraint) return policy feedback and do not persist — surfaced rather than silently dropped.

Drill-down [Deferred]

  • In Edit mode with a single open-phase item pinned, model can persist a detail-focus intent attached to the anchor's reference code.
  • Doesn't mutate the spec; steers the next frontier turn in the relevant open phase toward the anchor.
  • Rejected with policy feedback when the anchor is in a closed phase.

Other changes shipped in 0.4.0

  • Multi-chat substrate (FE-691) — chat table + reconciliation_edge foundation that the next-shape conversational runtime builds on.
  • Decouple turns from specifications (FE-697) — interview turns no longer 1:1 with specs; enables multiple chats per spec.
  • Prompt + context substrate (FE-698) — prompt registry, observer context-pack foundation, scenario runner + observer scenario composition, agent mutation audit / tool-surface design.
  • Direct in-place editing on the structured-list view (FE-657) — row-level edit affordance that feeds the same shared patch list.
  • Graph view — split-button chip toggle (FE-671), re-land of graph view PRs orphaned via graphite-base/73 (FE-655).
  • Interview stability — grounding accepts option-only responses (FE-693), streamed questions + dev config stabilization (FE-650).
  • Observer — improved capture of knowledge-graph items (FE-639).
  • Bug fixes — restore tools-panel flicker fix lost in FE-616 refactor (FE-622).
  • Design docs — conversational workspace runtime design (FE-708), agent mutation surface design.
  • Dev experience/planning-pr skill encoding planning-PR convention (FE-703), branch prefix derived from gt user branch-prefix in workflow docs (FE-651), experimental warning banner on README (FE-696).
  • Dependencies — vitest 4.1.5, oxlint 1.61.0.
  • Schema — 7 new Drizzle migrations (0013_annotation0019_reconciliation_need_agent_columns).

Test plan

  • CI status checks pass
  • npm view @hashintel/brunch@0.4.0 resolves with expected bin + drizzle files

🤖 Generated with Claude Code

@cursor
Copy link
Copy Markdown

cursor Bot commented May 14, 2026

PR Summary

Low Risk
Low risk: this PR only bumps the package version in package.json and package-lock.json with no functional code changes.

Overview
Release bump only. Updates @hashintel/brunch version from 0.3.0 to 0.4.0 in package.json and package-lock.json.

Reviewed by Cursor Bugbot for commit f4ef577. Bugbot is set up for automated code reviews on this repo. Configure here.

@augmentcode
Copy link
Copy Markdown

augmentcode Bot commented May 14, 2026

🤖 Augment PR Summary

Summary: Prepares the @hashintel/brunch 0.4.0 release by landing the release-it generated version bump that couldn’t be pushed directly to main due to branch protection.

Changes: Updates package.json version from 0.3.0 to 0.4.0 (lockfile updated separately).

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

@kostandinang kostandinang self-assigned this May 14, 2026
@kostandinang kostandinang requested a review from CiaranMn May 14, 2026 12:43
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.

1 participant