Project activity for July 07, 2026:
agents.happitec.com
33 commits
- Reference resolution & autocomplete overhaul: The composer’s inline reference system was significantly refactored to strictly separate issue/PR autocompletion (
#) from task mentions, enforce canonical output format (e.g.,repo#123), and support per-repo group-based autocomplete; dead parsing tokens were removed in favor of a pureReferenceResolverwith explicit grammar and resolution order—enabling idempotent repo qualification and reliable reference rendering across platforms. - Cross-platform reference pill implementation: iOS and macOS received parallel updates to integrate
AttributedString/NSAttributedStringpasses into message text rendering (with walk-protection and fenced-code-block safeguards), allowing rich, interactive reference “pills” in messages—fulfilling the OTA-enabled release (v1.12.0). - Notification system modernization: A complete overhaul of the notification layer replaced legacy client-side polling with server-driven push, introduced explicit tiered subscription levels (
None/Important/All) with configurable per-agent preferences, and unified agent-related UI controls; the oldBoolAPI was retired in favor of a robustNotificationManagerbridge. - Lifecycle & reliability improvements:
/stopoperations became synchronous with clear HTTP outcomes (200/502), verified stop feedback was surfaced in UI, and macOS/iOS parity regressions were fixed—ensuring consistent client-server interaction fidelity.
dash-agent
23 commits
- Reference Pills System: Implemented a full client-side reference pill feature, including a pure classifier/resolver module for parsing issue/PR/task references (e.g.,
#123,org/repo#456), DOM-walking post-processing using marked inline extensions with safe handling of nested anchors and code spans, and integration into the UI via pill/highlight-only styles rendered directly inApp.vue. A critical fix ensures repo qualification is idempotent—preventing double-prefixing for fully-qualified references. Server-side, per-message origin repositories are now preserved on channel transcripts to support accurate resolution. - Important-Tier Redesign: Overhauled the important-tier system to align with server-side scheduling and Erin’s AUQ decisions: dropped the
kind:'important'message type in favor of plain notification emissions, added user-specific notification-level preferences (POST /api/notification-prefs) with per-agent stores, implemented rearming on any newer activity (not just suppression), and enforced debounced rescheduling via JSONL activity. Prompts are now level-gated (only firing for Important-tier) and all-tier pushes yield immediate final-message streams. - Reply Metadata & Defaults: Attached structured reply metadata to plain end-of-turn/all-tier messages per §7.5 spec, and uncapped
reply_previewby defaulting to full message content instead of truncated views. - Spec & Plan Harmonization: Refined rendering architecture (TDD plan → marked DOM walk), updated OpenAPI contract for stop-event semantics to match the new Important-tier behavior (re-arm on activity, upstream level filtering), and resolved open spec questions (§5.1/§7.1/§7.x) with Erin’s rulings—ensuring consistency across dash-agent implementation plans (Important-tier TDD), prompts-always-fire refinement, and advisory review findings.