docs GitHub

Roadmap plans

Vyre 0.5.1

Branch: release/0.5.1. Status: planned. Follows 0.5.0.

Theme: make Flows reliable and complete. Flows with agents get one chat, borrowed credentials, deadlines that stop the agent, and a failure panel in the editor. The Flows code is split into a library behind a golden replay. Records, email and audit close the gaps found by real use. Every item below has a one-line acceptance test; sizes are agent-hours and unverified unless noted.

Flows with agents

  1. One chat per Flow. One real conversation per Flow, with a divider per run (run, record, step, agent, time, status, Open run), older runs collapsed; the Chat list shows one row per Flow. Why: when something goes wrong, the person goes to one place and asks. Test: three wakes of one Flow show as one chat with three dividers, and a person writing in it wakes the agent as that person with the Flow and recent runs as context. Size: 2 to 4 h.
  2. Credentials carried to a woken agent. With an approver, the connections the approved step names are lent to the agent for that one job, use only, and ended when the task closes or expires; lending refuses a connection the approver does not hold. Without an approver the agent runs as itself on its own Vault-provisioned grants, and the editor says "runs as <agent>, with its own access". Why: the agent can do the step without being handed the person's whole access. Test: an approverless wake never gains a person's access (effective grants equal the agent's grants intersected with the owner's), and a lent connection stops working the moment the task closes. Size: 3 to 5 h.
  3. Agent step deadlines that stop the agent. A due time on an awaiting agent or task step (default from the Space), after which the step fails with code timeout and runs its own nested steps. At the deadline the agent's session for that task is ended, its rights on the task are taken back, and anything it queued or held for that task is cancelled. No late submissions. Starters: another agent checks the work, ask the approver, reassign, remind once. Every agent task ends with a submitted status, and stage tasks get the same due offset and timeout path. Why: nothing is lost and a late agent cannot finish work after the Flow moved on. Test: golden replay of a timed-out agent step; after the deadline the agent's submit, move and any held send for that task are refused; a nested timeout step that itself waits completes.
  4. Failure panel in the Flows editor. On every step: retry, timeout, "If this fails" nested steps, "Check the work", and the Flow-level "If the run fails". The engine already supports all of these; only the editor is missing. Why: reliability the author can see and set. Test: set each option in the editor, save, reopen, and the stored Flow and the run behave the same as the panel shows. Size: medium.

Flows library

  1. Flows split into a library, behind a golden replay. The runner and the editor logic become small modules (one per step kind and per runtime job) with no change in behaviour. The safety net comes first: golden replay of every step kind and the compound shapes, round-trip property tests for the expression and Flow-definition languages, and a crash-injection sweep at every write point of every step. Why: Flows is the core of the product and its reliability must not depend on two very large files. Test: replay output is byte-identical before and after each move, the crash sweep finds exactly one effect per step on resume, and the build fails if a step kind has no sweep entry. Size: about 16 h for the safety net, about 80 h for the whole plan, about 45 h elapsed with two lanes.

Records

  1. Per-record privacy for custom record types. Rows of a custom type linked to a project are readable only by that project's team, as projects, tasks and files already are. Why: a member today reads every row of a custom type. Test: a member not on the project cannot list, open, search or follow a link to its custom rows, and the Records count does not leak them. Size: 6 to 8 h, security review.
  2. Write-once fields and totals. A value that cannot change once set (for example a valuation date), and computed totals exposed in the Kit language. Why: some values must be fixed by the record itself, not by habit. Test: a second write to a write-once field is refused with words naming the field; a total updates when its parts change. Size: 5 to 8 h.

Email and audit

  1. Email CC, BCC and attachments. The email step carries CC, BCC and attachments from Files or from a file an earlier step made (a generated document, a signed copy). Attachments travel by file reference, never as bytes in the Flow. Why: real mail needs them. Test: a Flow sends a message with CC, BCC and one attachment from each source, and the logged message shows all of them. Size: about 4 h.
  2. An audit screen for admins. Who changed what on a record, before and after, from the signed event log, filterable by project and person. Why: admins need to answer "who changed this" without reading logs. Test: edit a record as two people, open the screen as an admin, and see both changes with before and after values; a member without admin rights cannot open it, and sealed values stay sealed. Size: 8 to 12 h, security review.

Members and accounts

  1. Member token accounts. A member can add a setup token or API key as their own AI account, stored in their own vault. Why: today a member can only use the provider's own sign-in. Test: a member adds a key, starts a chat on it, and no other person or agent can read the key. Size: small.

Reliability

  1. Load-flake hardening. Make the tests that fail only on a saturated machine robust (peer tests, planner link tests with a long harness wait), and retry the case where the caller's process chain reads empty under load so a busy server never refuses its own terminal. Why: a release ships with every test green and no known failures. Test: the affected tests pass 20 times in a row under artificial load.

Review follow-ups

  1. Flows composer and dates. A date add function and offsets in Insert a date; helpers for run number, Flow name, approver name, Space name and your name; the date-time picker in the Wait step and the Create and Update date fields; the Documents placeholder mapping panel on the shared picker; per-option verdicts on the Flows audit page; hidden triggers and steps; renames. Test: each is used in a saved Flow and fills correctly in a run.
  2. Flow text and lists. An escape for a literal brace token; a one-time scan that escapes braces in older agent instructions; first() inserted for list fields so a list does not print as JSON; a readable default for a bare date in text; "For each" lets the author set the limit (default 50, cap 1000) and the run page says when a list was cut. Test: a literal {{name}} prints as typed, an email field prints one address, and a 200-item list is either fully handled or the run page says it was cut.
  3. Flows over MCP for members. flows.describe, flows.runs and flows.connections open to members after a per-Flow access check (Can use or Can edit). Test: a member's MCP key inspects a Flow shared with them and is refused one that is not.
  4. Agent wake hardening. Carry the originating turn's person when an agent hands a task to another agent; cap wake jobs per agent (concurrent and hourly); bind a task lend to the wake's thread; widen secret redaction in stuck reasons (slash and plus characters); keep the agent chain private to the Flows host. Test: a handoff keeps the original person's limits, the cap refuses the extra wake with words, and a base64-style key in a stuck reason is fully redacted.
  5. Security follow-ups. Linked records read under the lesser of the Flow's chain and the trigger actor's; memory.heard uses the chat's verified project; build isolation for agent-run previews (network and resources); an invariant test that only the daemon sets the tailnet path fact; remove the duplicate mobile lists. Test: each has a failing-then-passing test in the review notes.
  6. Mentions follow-ups. Every caller of the prompt composer passes the person so project references resolve under their access; ask the kernel what an address is instead of trusting the first path segment; cap reference resolution per document (about 50). Test: a record type named like a built-in type does not show another type's address, and a document with 200 references resolves 50 and says so.
  7. Docs. Re-check the older sections of known gaps against 0.5.1 and update or remove them; update the roadmap lines for this version. Test: docs-check passes and every gap listed is reproducible.

Out of scope for 0.5.1

Integrations, Skills, Plugins, the agent efficiency program and the Chrome extension are in 0.5.2. Everything else not yet scheduled is under Later in that plan.