Source-linked briefs
Choose a local model, inspect checked citations, and maintain findings as sources change.
A source-linked brief turns approved local excerpts into findings and open questions. You choose the local model for each task. Brainlyy then checks each quoted citation against the captured source text.
Citations checked means that the quotations and their locations matched. The AI draft review notice remains visible. A matching quotation does not prove that a conclusion follows from it or that the source is true.
Create a brief
- Approve a source folder in the local application.
- Open Work and select Source-linked brief.
- Enter the question or result you need.
- Select a model from Local model.
- Allow this task to use that model with your request and approved excerpts.
- Create the brief. You can close the page while the worker continues.
Model discovery reads metadata only. It does not send your question, load a model, download a model or grant access to a folder. If the runner is missing, offline or unsupported, the interface keeps your question and offers a refresh. The existing source report remains available without a model.
This implementation uses an installed local Ollama runner. It does not yet install the runner or download models through the interface. That part of the no-terminal first-use target remains open. Cloud generation and model-assisted remote work are not enabled by this change.
Read and use the result
The result appears first. Select a citation to inspect the exact quote, source label, line range, saved source version, selected model and original check time. Open questions remain separate from cited findings.
Download brief saves the readable Markdown deliverable. Download record saves JSON with its sources, model identity, checks and revision history. Model text is escaped in the Markdown output; it cannot add an active image, link or raw HTML element. Neither download is signed proof of authenticity. Review the content and its privacy before sharing it.
In Graph, findings connect to the exact source versions they cite. These are saved citation relationships, not inferred semantic proof. Each finding shows its source freshness and retains its AI review status. Graph also has a list view and links to the existing result or proposal review.
Change, repair and restore
A source change makes the affected result stale. A finding's graph state uses its cited source versions. A finding can remain current when a different source in the same brief changes. Removed access hides protected result and graph details, including quotations and model metadata.
Prepare repair creates a separate proposal with the original model binding. It cannot silently choose another model. A missing model, changed digest, invalid citation, lost source access or interrupted check leaves the accepted result intact. Review the proposal and its exact difference before applying it. The existing one-hour approval expiry and revision conflict checks still apply.
Restoring an earlier revision copies its original document, model record and checks into a new revision. It does not run inference or claim a new check. Historical evidence can remain stale after restore.
Durable execution
The worker stores the request before acknowledging it. A brief uses one UUID request key. Repeating the same query and model selection with that key returns the same task, even if its model is now offline. A different request with the same key is refused. The browser keeps that key during an uncertain submission retry. Reloading uses the durable task list; it does not automatically resubmit the request or store the question in browser storage.
Stages are retrieve, generate, check and publish. Bounded private checkpoints allow recovery after a worker restart. Reuse requires current source permission, source versions and the same model destination and identity. The citation checker runs again before publication. An interrupted read-only generation may run again; Brainlyy promises one accepted result, not one model invocation.
Leases last 120 seconds and renew every 20 seconds. A task has a total budget of 600 seconds from its first claim and at most three claimed attempts. Cancelling a task, stopping the worker or losing its lease interrupts the active model request. An old attempt cannot save a checkpoint or publish after losing its authority. Checkpoints are removed when the task reaches a terminal state.
The diagram shows the permission checks before generation and publication. The quote checker consumes captured data; it cannot call tools, read another file or grant access. Repair publication still requires the existing exact approval.
Limits and privacy
- Retrieval examines at most 2,000 eligible files for up to 30 seconds. Each file read is at most 256 KiB. The captured model context contains at most six excerpts and 48 KiB of structured data.
- A model request has a 180-second total deadline, including metadata checks. Output is limited to 2,048 generated tokens. A length-truncated, incomplete, wrong-model or tool-bearing response is refused.
- A brief permits up to eight findings, three citations per finding and eight open questions. The structured document is limited to 64 KiB. Check metadata is limited to 8 KiB; each private checkpoint is limited to 128 KiB.
- The graph reads bounded documents and retains its 500-node, 1,500-edge and 512-KiB response limits. Missing or altered saved documents do not produce checked finding nodes.
- The model name and content digest are checked before and after inference. Known cloud names and remote-routing metadata are refused. No fallback model or provider is selected.
The selected runner is a trust boundary. A loopback address and model metadata cannot prove how a compromised or reconfigured runner processes data. A source read is also not an atomic filesystem snapshot. Later changes can make saved evidence stale.
The local Work API gate remains required. Existing remote folder grants permit excerpt reports only. They do not gain inference authority. Model text and source instructions cannot select additional files, commands, tools or endpoints.
API
GET /api/v1/work/models returns the safe local catalog. It accepts no query
arguments. The server controls the endpoint; a client selects only name and
digest. The response is not cached.
{
"query": "What needs review before the handover?",
"kind": "source_brief",
"model": {"name": "chosen-model:exact", "digest": "sha256:<64 lowercase hex characters>"},
"request_key": "cbacbe79-d4b3-419c-90e9-9f830e9d0cab"
}
Send this object to POST /api/v1/work. The digest placeholder in the example
must be replaced by the actual catalog value. The existing { "query": "..." }
request still creates an excerpt report. Duplicate or unsupported fields are
refused. Browser writes require the local Origin and authenticated session.
Brief artifacts and revisions add kind, document and a public execution
record. The private endpoint is omitted. Proposals retain kind: repair|restore
and use artifact_kind for their content type. Existing repair, restore and
fingerprint-only apply routes remain unchanged.
Brief comparison and proposal responses include before_kind,
before_document, before_execution and before_verification from the same
saved base revision. They let both preview panes show the exact structured
result. The public model record omits its private endpoint. Removed access
clears protected before and after details.
The export endpoint returns a brainlyy.source-brief JSON record by default.
Use GET /api/v1/work/artifacts/{id}/export?format=markdown for the readable
brief. Both paths refresh source access before delivery.
Protocol fixtures test the boundaries above. They do not establish real model usefulness, live provider compatibility or general release readiness. See release status for the remaining gates.