Delegate the work in plain words. Signoos finds the code.

Connect a repository, describe the task, and Signoos locates the code it is about, reviews every push, and drafts the patch. Nothing ships without you.

See how it works

From a sentence to a reviewed draft patch — with every decision left to a person.

Three steps, and you decide at every one

A project is a repository, a team, and the tasks between them. Nothing is automatic that you did not switch on.

A connected repository with two folders shared and the rest left unread.

Every push, reviewed against the ask

Advisory AI review on the task branch, every time — measured against what was actually asked, not just the diff.

See which AI reads a push
Advice, never a gate

A verdict cannot block a merge and cannot close the task. It states what was asked, what the push did, and where the two differ — and the developer can answer it on the thread.

It reads the thread first

The review starts from the task conversation — what was asked, and what was agreed since — not from the diff alone, so “correct, but not what we said” is caught too.

Dissent stays visible

When the developer disagrees, the reply lives beside the review on the thread. The dissent is part of the record, and a person decides what happens next.

Your code is read only because you said it could be

Consent is a per-folder rule, not a checkbox at sign-up — and it is enforced in the one place every read goes through: the index, the localizer, the mirror and the file browser alike.

Off by default

A project without an explicit grant cannot have its code read at all. Reviews, the roadmap and evidence-carrying tickets still work — just without pointing at a file.

No stored credential

Signoos never holds a GitHub token or password. The installation you approve is exchanged for a short-lived token at the moment of use, scoped to the repositories you picked.

A mirror you can read

Pushes keep a hosted copy of the repository in step, so the team browses files, commits and snapshots inside Signoos — under the same folder rules, checked again when the file is served.

It can try the task. It cannot ship it.

Ask for it on a task, and a goal loop reads the code, plans, writes a patch and has it independently reviewed by a second model — before it ever reaches you.

Nothing is pushed unless you ask.

A patch reaches GitHub when somebody presses the button, or where a leader switched the automatic path on — as a commit on the task’s own branch with a pull request. Never a merge, never a force-push, and nothing at all if a leader switches pushing off.

No credential is ever stored.

Installations mint hour-long GitHub tokens at the moment of use and let them expire. There is nothing to leak.

Which model does which job is shown, not hidden

Every AI job is its own role — titles, code search, push review, thread replies, the solver — and the team leader assigns a model to each, from a catalogue across OpenAI, Anthropic and Google.

Model per role

You send a role; you never hand over an endpoint, a provider name or a key. Every member can read the assignments, and a role running on a fallback says so instead of pretending.

Daily spend ceilings

Every call is checked against a daily ceiling before it is made — and a ledger that cannot be read refuses the call rather than waving it through.

Whose account pays

Bring your own provider key — sealed with envelope encryption, never returned by any endpoint — and the leader decides, per member and per provider, who may spend it.

What your users keep saying, tested against your roadmap

Optional for any project: add review sources, and a ten-stage pipeline mines the latent needs out of them, tests each one against what the roadmap already covers, and surfaces the ranked gaps with the evidence still attached.

Evidence, not vibes

Every gap resolves to the verbatim quotes behind it and the roadmap items it was tested against. Quotes are verified against their source; confidence is computed, never asserted.

Falsified before it ranks

A candidate has to survive an adversarial pass before it reaches the board. “No supporting signal” is a legitimate answer and is shown as one, not as an error.

Straight into a ticket

A confirmed gap becomes a ticket that carries its own evidence — and, where you allowed code access, the file and lines it lands in.

Start with one repository

Connect it, answer one question about code access, and delegate a task. You can change the answer, or disconnect, whenever you like.