Skip to content

feat(groups): add traceable relay handoff notes and step instructions - #618

Merged
Bindy-lbb merged 2 commits into
mainfrom
feat/617-relay-handoff-notes
Oct 21, 2026
Merged

Bindy-lbb merged 2 commits into
mainfrom
feat/617-relay-handoff-notes

Conversation

@Bindy-lbb

@Bindy-lbb Bindy-lbb commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Relay recipients currently receive generic preceding answers, without an inspectable record of their assigned step or the exact material used. This adds optional operator-authored step requirements and saves the same bounded handoff payload that enters each sequential group turn's model input. The client exposes that saved payload in an expandable note.

Closes #617.

Behavior and acceptance criteria

Acceptance criterion Implementation and evidence
Explicit per-step requirements Relay composer, HTTP/IPC/storage contract; selected recipients only, 4 KiB each / 32 KiB total. API and renderer invalid-input tests.
Traceable, persisted input Versioned payload with current/next step, task excerpt, explicit instruction, completed source identities/timestamps/excerpts and canonical digest. Controlled-driver test checks running, completed and reopened records against injected bytes. Parent-record validation rejects mismatched execution identities even with a valid digest.
Deduplication and bounded context Exclude relay predecessors before history compaction; share the existing 64 KiB context, 256 KiB final-input and 12-source limits. Prioritize the immediate predecessor; test escaped data, UTF-8 and 32-member relays.
Inspectable client Collapsible, lazily rendered saved notes with source references and missing-instruction, truncation, omission and redaction notices. Completion is explicitly distinguished from approval.
Failure and isolation Invalid handoff/budget fails durably before model execution; subsequent steps remain blocked. Existing cancel, owner-stop, workspace-switch, restart and parallel tests cover sequencing.
Compatibility Personal and parallel execution retain their existing paths. New fields are optional for new readers; runtime packaging allowlists include both new modules.

This is phase one of collaborator context: sequential handoff notes. It does not add delegation, parallel dependency scheduling, cross-task memory, permission transfer or extra model summarization calls.

Validation ledger

Expected outcome: all required checks pass before merge. All published GitHub checks now pass, including Node 24 on Ubuntu/macOS, native staging/installers, layout parity and security checks. The local dependency-audit result below remains recorded as observed. Independent review is still required.

Check Actual result
Build, updater preparation, UI and renderer type checks Passed.
Script/runtime inventory tests 233 passed.
UI package tests 53 passed.
Full server suite 968 passed, 4 skipped in an isolated network namespace with DAC bypass capabilities removed; command below.
Server affected suites 38 passed; after adding parent-identity assertions the group suite passed again, 16/16.
Renderer suite Final full run: 1,249 passed across 87 files. Initial run exposed a wrong lingering-dropdown selector in the new test; corrected and reran both affected files (38/38) and the full suite.
Desktop main + renderer production build Build passed; 568/569 tests passed initially. Existing PID-reuse sentinel cleanup test failed once; the entire packaged-smoke file passed on rerun (39/39).
Security audit Fails: existing Vite 6.4.3 dependency, 1 high-severity advisory aggregate. Dependency manifests/lockfile for Vite are unchanged by this PR.
Browser QA Passed on real GroupsPanel and production CSS with a deterministic mocked IPC fixture, Chromium at 1440×1000 and 480×900. Requirement submission, saved-note expansion/collapse and source display checked. Zero browser errors; narrow viewport scroll width equals viewport width. This is renderer QA, not a live-provider or packaged OS acceptance claim.
Patch whitespace git diff --check passed.

The raw npm run check stopped at the server suite: the shared container exposes only ports 48800–49100, causing 165 EADDRINUSE failures; its root privileges also defeat an existing chmod-based hire failure fixture. Lower concurrency alone did not resolve this. Without changing shared host settings, the complete server suite passed with:

unshare --net sh -c 'ip link set lo up && setpriv --bounding-set=-dac_override,-dac_read_search node --test --test-concurrency=2 --test-timeout=120000 apps/server/dist/test/*.test.js'

Remaining checks were run separately after the raw check stopped. No coverage percentage is claimed; behavioral assertions were added for the changed execution, persistence, validation and UI paths. Native macOS/Windows packaging checks are delegated to repository CI.

Compatibility, risks and rollback

  • Deploy server, desktop IPC and renderer together. Older strict readers can reject records with new fields; the client does not silently retry by dropping requirements.
  • Excerpts remain untrusted public output. Filtering removes recognizable credentials/private reasoning but is not a general DLP guarantee. Hashes establish consistency, not authenticity or business acceptance.
  • A request that leaves insufficient space for required handoff data fails explicitly; it does not run with silently missing requirements.
  • Revert the implementation to roll back code. Use a pre-upgrade workspace backup or a separate workspace when downgrading strict readers; do not rewrite historical evidence to simulate compatibility.

Design and operational notes: relay-handoff-notes-v1.md, thread-context-and-collaboration.md. Changelog updated.

Review focus: accepted-source identity checks, exact saved/injected payload, budget fitting and omission accounting, durable pre-execution failures, and old-reader compatibility.

@Bindy-lbb
Bindy-lbb merged commit c569aa8 into main Oct 21, 2026
11 checks passed
@Bindy-lbb
Bindy-lbb deleted the feat/617-relay-handoff-notes branch October 21, 2026 06:23
Bindy-lbb added a commit that referenced this pull request Oct 21, 2026
…cies (#620)

Save the exact server-owned project task requirements and scoped collaboration snapshot used for execution. Add explicit collaborator responsibilities, validated task dependencies, authoritative human-acceptance readiness, source navigation and current-vs-execution review.

Includes the phase-three changes from #622. Preserves the relay foundation merged in #618 and current main changes.

Closes #619.
Closes #621.
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.

feat(groups): add traceable relay handoff notes and explicit step instructions

2 participants