Now in development · early-access waitlist opening soon
Your agents ship code.
Ticinuum makes sure they don't ship a $40k bill.
Tickets are a control plane. Not a record system.
Ticinuum is an agent-first work control plane. Agents take the ticket, write the code, and open a real pull request — with a per-org budget breaker, policy-gated approval, and a full audit trail. Not AI inside Jira.
coming soon
Early access opens once the waitlist terms and privacy notice are final. Nothing to sign up for yet — this page collects no email.
tick-in-YOO-um · TIC(ket) + cont(INUUM) — The Continuum of Work.
See how it works ↓The shape of a run
Watch a ticket become a pull request.
This is what a run looks like end to end. A ticket goes in. The agent plans, clones the repo, writes the change, and runs tests. It opens a real PR on GitHub — or a merge request on GitLab. A reviewer agent in a fresh context posts a verdict and a bounded revise loop pushes fixes. Once the review approves and the checks are green, the PR is merged — with one click from a person by default, or by Ticinuum itself once your org has chosen, on the record, to let the agent merge — and the ticket settles to done. The transcript below is illustrative — a recorded run replaces it once early access opens.
A real ticket
Watch one ticket go from request to merged.
Captured from the product in October 2026: one ticket from Ticinuum’s own backlog, carried by agents from grooming to a merged pull request — every run, check, decision and dollar on the record.
Built for the whole C-suite
One record. Every seat at the table.
The same record answers every leader — captured from the product in October 2026. Finance sees cost per piece of work and the limits that stop it. Engineering sees velocity and quality. Product sees flow and priorities. The CIO gets the evidence; the CISO gets the guardrails and the consents behind them.
Not AI inside Jira.
A record system stores what happened. A control plane makes things happen. Your ticket isn't a row a human updates by hand — it's a machine-reasonable unit of intent an agent can execute.
Cursor and Devin write the code. Ticinuum governs the work.
The problem
The hard part isn't getting an agent to write code.
It's the control plane around it — cost, audit, approval, isolation, safety — that makes autonomy something you can actually operate. Today you're stuck between a passive record system and an ungoverned coder.
- cost
Tokenmaxxing doesn't scale.
An agent in a tool-calling loop is, by construction, a way to spend money quickly — one stuck run re-sends a growing conversation on every turn. Most teams see the total on a monthly invoice and nothing per piece of work. At scale the unit that matters is cost per outcome: token economics.
-
No audit trail, no governance.
Most autonomous tools give you a diff and a vibe — not a record you can take to compliance. When something goes wrong, you can't reconstruct what happened or what it cost.
-
It's all-or-nothing.
Full autonomy is scary. Full human review is a bottleneck. There's no dial for "autonomous here, human gate there."
-
Anyone who can file a ticket can hijack the agent.
The moment untrusted input reaches an autonomous run, prompt injection is a live attack surface — in any language.
Our approach
Most AI tooling focuses on generating work. Ticinuum focuses on governing work.
Organizations can tell you what they spend on AI, but rarely what value they receive from it. Teams practicing agentic engineering use coding agents, review agents, and investigation agents, yet these systems operate as isolated assistants rather than coordinated, governed workflows.
Ticinuum is built on a simple belief: the entire software delivery lifecycle can be partially automated — but only when cost attribution, governance, auditability, and human oversight are built into the foundation. The ticket is that foundation — a durable, machine-reasonable unit of intent that drives execution, not a row a human updates by hand.
Our goal isn't to replace engineers. It's to create a safe, measurable, and accountable system where humans and AI agents work together to accelerate delivery.
- Every action tracked.
- Every cost attributed.
- Every decision auditable.
- Every workflow governed.
How it works
From intent to pull request — governed end to end.
A ticket isn't a row a human updates by hand. It's a durable, machine-reasonable unit of intent. Works today
-
Describe the intent.
Describe the work in plain language and Ticinuum drafts the full validated ticket spec — type, priority, scope, validation — mapping every inferred value through the domain rules. A grooming agent then fills any missing fields before it can run. Describe-first is on by default; the structured knobs are one click away.
-
Start it on purpose.
Filing a ticket never starts the build. A groomed ticket waits at open until a person presses Run (or files it with Create and run); a supervised one also waits for a person to promote it. Beyond a person's Run, work starts only when a patrol your admin scheduled fires, a plan a person started releases its next step, or your org has opted in to a ranked pull of its backlog under a work-in-progress limit. Every start first clears the injection gate, the kill switch and the budget breaker, and the run waits for a free slot in your org's executor capacity. If it can't be verified safe, it doesn't run.
-
The agent does the engineering.
It plans, clones the repo, writes the change, and runs tests in a fresh per-run workspace on your executor, reading the repo's own agent instructions (AGENTS.md, CLAUDE.md and the like) as reference. If a run fails, its work is preserved for recovery rather than thrown away.
-
It opens a real pull request.
On a branch named ticinuum/<ticket-key>-<work-item-id>-a<attempt>, with a real diff and PR body. Connect a developer identity on GitHub or GitLab and it opens the pull/merge request for real; without one the change is recorded as a diff artifact instead.
-
Independent review, then merge on green.
Before the reviewer's model reads the diff, the build and test commands your repository declares run on a real checkout, and a red result blocks; with none declared, the merge waits on the pull request's own CI. Then a fresh agent (never the coder) reviews the PR — a change too big for one reviewer is split by the owners your repository declares, and no passing verdict is given on a change the review did not fully see — and can post under a distinct identity; on REQUEST_CHANGES a fresh agent revises in place, and the loop keeps going only while each round makes progress. Once the review approves and CI is green, a person merges it with one click — or, if your org has recorded its consent to let the agent merge, Ticinuum merges it on its own. A review loop that stops making progress, a finding the two agents keep arguing over, or a review that fails goes to a person instead. Want an earlier checkpoint? Set the ticket (or your org default) to supervised and a person approves at the gate before Ticinuum merges the approved PR to done.
-
Everything on the record.
Every state change, decision, token, and dollar is written to an append-only timeline — atomically with the state it describes. Watch the run live (a tail of the agent's real output) and export the whole ticket as a self-contained bundle — a markdown summary, every run's full log, and the artifacts.
The spec the agent reasons over has six parts:
- Intent
- goal, success criteria, non-goals
- Scope
- repos, paths, environments, constraints
- Inputs
- context references (tickets, docs, incidents)
- Outputs
- required artifacts (PRs, tests, reports)
- Validation
- automated and manual checks
- Execution
- mode (autonomous / supervised / manual), agent type, timeouts, retry policy
AI cost controls
Autonomy you can afford.
Every org gets a daily budget breaker in real dollars, and no build starts until someone asks for it. Cross the breaker and Ticinuum auto-pauses the whole org until an operator resumes it. And it fails closed: if the system can't verify spend is safe, it refuses to run.
Where the system cannot verify that spend is safe, it fails closed — it refuses to run rather than burn money it cannot account for.Every cost control, with its limits →
Audit trail
Every diff, decision, token, and dollar — on the record.
A state change and the event that describes it are written in one database transaction. Most event systems are eventually-consistent and can drift from reality. This one can't.
State changes and their events are written in the same PostgreSQL transaction, so the timeline can never diverge from reality.Everything on the record, in full →
Governance & human-in-the-loop
Humans approve only where policy requires.
Autonomy isn't all-or-nothing. You set the policy; Ticinuum enforces it.
Agents request human approval only where policy requires it.
Autonomy is a dial, and your organization holds it. By default a ticket a person files is autonomous, but filing it starts nothing: once groomed it waits for a person's Run, and from that one click it runs through implementation, review and revision — gated by the budget breaker, injection quarantine, progress-bounded loops, and kill switch, not by more clicks — and then a person merges the approved, green PR with one click. Letting the agent make that merge too, and a ranked pull that starts your backlog's top work under a work-in-progress limit, are each a separate opt-in your org admin elects against a recorded disclosure; the pull also needs a platform admin to expose it. Patrols your admin schedules and the next steps of a plan a person started run without another click. Prefer an earlier checkpoint? One per-org setting makes supervised your default, and any single ticket can be set supervised, so a person promotes it, starts it, and approves it before Ticinuum merges.
Every gate and handover, in full →Security, BYOK & multi-tenancy
Your key, your quota, your data.
Each tenant runs on its own key, its own quota, and can't see anyone else's data.
Every security control, in full →Data residency & bring your own bucket
Choose what lands where.
The hybrid shape already runs the agents inside your network. Now you decide which artifacts Ticinuum stores at all — per family, with three presets — and whether your run artifacts land in your own S3-compatible bucket instead of ours.
Honesty note: by default artifacts still land in Ticinuum's storage — a snapshot of the working tree (git history excluded), diffs, plans, rendered prompts, summaries, run-log archives, and repo surveys. Under Minimal without your own bucket, a paused run's conversation state, plans, summaries, and uploaded attachments still do; artifacts attached from a workstation over MCP land with us unless that family is off. Your own bucket is S3-compatible only, all-or-nothing per org, verified at the storage layer against MinIO — not yet end-to-end or against AWS — and while it is on, a child agent cannot read its parent's plan. The control plane holds your write credential encrypted to sign uploads. Every change is audited per family.
Every residency control, with its caveats →Claude Code & MCP · opt-in
Your engineers' sessions join the record.
Turn on the Ticinuum MCP server and an engineer's own Claude Code session can read the ticket, its plan, the repo profile and the run history, annotate the work as that engineer, and have its token spend attributed to the ticket — in the same ledger the autonomous runs use.
Honesty note: both halves — the MCP server and workstation metering — ship off until the platform operator turns them on, and connecting by URL also needs the operator to publish the server's address. Every workstation request is priced at API list rates, even on a Claude subscription seat, because how to value a subscription is still undecided; the combined autonomous-plus-workstation dashboard is not built.
Every workstation tool and grant, in full →Founder note
The industry is measuring the wrong thing.
We're building Ticinuum because we believe the industry is measuring the wrong thing.
Most organizations using AI today can tell you what they spent. Very few can tell you what they got in return.
One engineer might spend thousands of dollars a month on AI tooling. Another might spend hundreds. Which one delivered more value? Did the first engineer produce twice the output? Ten times the output? Did either of them reduce cycle time, improve quality, or accelerate delivery? In most companies, nobody really knows.
At the same time, what we call "agentic engineering" today is often just a collection of disconnected assistants. A coding agent writes code. A review agent reviews it. An investigation agent analyzes an incident. A ticket agent drafts requirements. Each tool can be useful, but they operate independently, with little coordination, governance, or accountability.
We think software delivery is headed somewhere much bigger.
Every stage of the software development lifecycle can be automated to some degree: requirements gathering, ticket grooming, implementation, testing, security review, deployment, operations, and incident response. But automation without governance creates risk, and governance without automation creates friction.
Ticinuum exists to bridge that gap.
Ticinuum is a governance and orchestration platform for AI-driven software delivery. It provides the controls, auditability, cost attribution, approval workflows, and human-in-the-loop checkpoints needed to safely automate work across the entire SDLC. Every action is tracked. Every cost is attributable. Every decision is reviewable. Every workflow can be automated without losing accountability.
It's still early, and we won't pretend otherwise.
The core path—from ticket to implementation to pull request to review to completion—already works. So do the audit trail, guardrails, and BYOK model. The broader vision is still being built, and the roadmap below reflects that reality.
If you're an engineering, platform, or technology leader who believes AI should be measured by business outcomes rather than token consumption, we'd love to run a real ticket through Ticinuum with you.
Verifiable today
Architected for trust.
No fake logos, no invented metrics — just what's verifiable today:
-
State changes and their events written in the same database transaction.
-
A hash-chained audit stream per org, re-verified on a schedule — an altered or missing row shows.
-
AES-256-GCM key encryption with non-disruptive rotation.
-
App-layer tenant isolation that returns 404 on cross-tenant access.
-
A two-layer prompt-injection gate that holds a suspicious request at the door, before it can become a ticket.
-
Per-org SSO — OIDC sign-in with PKCE and domain-gated JIT provisioning, activated once an org binds its identity provider.
-
Sessions you can revoke — sign out everywhere, and a password change ends every session at once — with passkey sign-in where your deployment enables it.
-
Role-based access control — a typed system_admin ⊃ org_admin ⊃ user ⊃ viewer hierarchy, enforced across many orgs.
-
Per-family data residency — turn off what Ticinuum stores, refused at the gateway and never produced by the executor.
-
Bring your own S3-compatible bucket — run artifacts written to and read from storage you own, each upload signed by the control plane.
Built on a stack you trust:
Under the hood
Conservative by design — verifiable in code.
Ticinuum ships as two Go binaries, and the line between them is the whole
security story. The control plane (ticinuum) runs as an API
and an orchestration worker — the audit relay isn't another service; it
runs in-process inside the API. The data plane
(ticinuum-executor) runs the agent, and it is built so it
cannot reach the control plane's databases, keys, or orchestrator.
- A control plane and a data plane. The API and the worker are the control plane: they hold the state, the orchestration, and the decisions. The executor is the data plane — the only piece that ever touches your source code. Scale the expensive tier on its own; a runaway agent can't starve orchestration.
- The executor reaches out. Nothing reaches in. It isn't a queue worker you have to expose. It asks the control plane for work over ordinary outbound HTTPS, does the job, and reports back — so it needs no inbound ports, no database, and no connection to the orchestrator. It holds none of the platform's keys — it refuses to start if it can see one — and borrows a repo-scoped, short-lived git credential one run at a time.
- Run it wherever your policy says. Because the executor only needs to dial out, the same binary works in either shape: host the whole platform yourself, or leave the control plane hosted and run executors inside your own network. The checkout, the model traffic, and the build run on your infrastructure; what Ticinuum keeps afterwards is your call — turn artifact families off, or point your run artifacts at your own bucket — while tickets, approvals, and spend stay in one place.
- Durable by default. Temporal workflows make execution crash-safe and resumable — it still schedules, retries, and times out every step. Single execution per ticket is guaranteed by the workflow ID, not a fragile lease. Orchestration never leaves the control plane. Upgrades are planned for: drain an executor and its runs keep going until a deadline, then are checkpointed and handed to another executor, or picked up again when that one restarts.
- Clean data discipline. One writer per store: Postgres for current state, blob storage for artifacts — ours by default, yours by policy — and an append-only ClickHouse trail for events. A state change and the event describing it commit in one Postgres transaction; a leader-elected in-process relay then drains the outbox into append-only streams — among them ticket_events_v1 (the timeline), usage_events_v1 (cost), and audit_events_v1 (the audit trail, hash-chained per org). Every store the executor would need sits behind that boundary — it gets what a run requires handed to it, and keeps nothing.
- A roster of agents, not one God-agent. Every SDLC stage resolves to a role-specific agent — developer, reviewer, reviser, planner, groomer — drawn from an in-binary standard-agent registry; bundle a lineup as a reusable squad and bind it to a project or a ticket, over your org's per-role defaults. Each org sets its own default Claude model, and repos come from a cached git-host catalog instead of free text re-typed per ticket.
Roadmap fence
Today vs. on the roadmap.
We'd rather under-promise. Here's exactly where the line is — starting with what isn't built. Open any row for the whole sentence.
On the roadmap Not built yet, or built but not yet validated in use. Don't rely on these. 18 items
GovernanceOrg-level approval policy — named approvers, cost thresholds, gate expiry (today a gate comes from a ticket's mode, a change surface, a finding, or an outside review)
Costbuilt · not yet validatedEfficiency & spend stewardship — detectors, alerts and an Efficiency page for time, tokens and dollars per ticket and stage; its known data defects were fixed in early October 2026, but it has not been validated in use — don't rely on it yet
CostThe combined autonomous + workstation cost dashboard — waits on a decision about how to value subscription-funded sessions — today every workstation request is priced at API list rates
Qualitybuilt · not yet validatedRuntime verification — an opt-in QA stage that tests a change against a registered environment and attaches the evidence; its checks have not yet been validated in use
Qualitybuilt · not yet validatedPatrols — recurring read-only investigations on a schedule, behind the initiatives switch
QualityClosing the full circular loop — deploy → observe → feedback
WorkflowLetting a repo's own agent files change how a run behaves — the opt-in exists, but it stays inert until content-fingerprint approval ships
WorkflowConfigurable "Draft with AI" agent — project → org → system layering (today's drafter is a fixed one-shot)
WorkflowFull multi-repo / multi-PR spanning one ticket
WorkflowSKIs — reusable engineering standards ("how we write Go") injected into agent prompts
Workflow"Ticinuum builds Ticinuum"
SecurityMulti-tenant agent sandboxing — isolated per-job execution (credential brokering & egress filtering have since landed, and on macOS an executor now confines the agent's commands to the run's workspace; Linux confinement and isolation between runs have not)
DataBring-your-own-bucket, finished — per-family routing (today it is all-or-nothing per org), GCS / Azure, and end-to-end + AWS conformance
DataOpt-in prompt-content ingestion — an undecided governance question; today prompt content is never captured
IntegrationsThe agent merging on GitLab — today an org with a GitLab connection cannot let the agent merge
IntegrationsMCP parity, finished — an engineer's everyday verbs are tools today; many admin and settings operations are not yet
IntegrationsSupport portal — attested, per-field-provenance intake
OperationsFlexible tenancy — deployment options spanning shared to fully isolated per-tenant databases
Built · opt-in · off by default Shipped, but off until someone turns it on, usually your org admin, on the record. 15 items
GovernanceThe agent merging on its own — an approved autonomous PR with green checks merges with no person's click only once your OrgAdmin elects it against a recorded disclosure; the election lapses after 90 days unless re-confirmed, and isn't yet available to orgs on GitLab. Without it a person merges with one click
GovernanceThe pull loop — work that starts with no person's click — with it, tickets agents file and tickets a finished one unblocks can start on their own, and a bounded schedule pulls your backlog's top-ranked work first, under your org's work-in-progress limit, and grooms & reconciles existing tickets, capped per cycle. Two keys turn it: a SystemAdmin exposes it, then your OrgAdmin elects it against a recorded disclosure — and a material change to that disclosure lapses the consent
Costclaude-local backend — ~$0 subscription-backed execution (reduced: the CLI's own turn and budget limits stand in for the per-run ceilings; it can still ask a person, ending the CLI run with a workspace snapshot until the answer resumes it)
CostWorkstation session metering — an engineer's Claude Code spend attributed to the ticket in the same ledger as autonomous runs, priced at API list rates, with per-engineer spend for an OrgAdmin; metadata and counters only, prompt content never captured
CostFeature economics — a whole ticket tree's cost, tokens, time and outcome, failed attempts included, on the parent ticket, in Analytics and over MCP; every figure carries a fidelity label instead of a misleading $0.00 (the web views are a SystemAdmin switch — the read itself is always available over the API and MCP; the cross-tree portfolio view is not built)
QualityDistinct reviewer identity — a separate reviewer App (GitHub), or an application authorized by a different account (GitLab), reviews under its own identity; without one the verdict posts as a comment under the developer
QualityCI triage & the trunk watch — Ticinuum re-runs a red check once (where your git host allows it), tells a flaky check from a broken environment from a real regression, and for a regression files a supervised fix ticket and proposes a revert a person approves and merges; a failure several changes share is reported once and fixed by one blocking ticket ranked first
QualityRe-verify before landing — a PR that has fallen behind its base branch is brought up to date and its checks re-run before it merges, one per branch in approval order (a SystemAdmin exposes it, then your OrgAdmin elects it)
WorkflowDuplicate detection — a semantic check that holds a ticket an agent files until it has been compared with the ones you already have; it needs your org's recorded consent to semantic embeddings, which can run on your own Voyage key
WorkflowInitiatives — the "what are you trying to accomplish?" front door: spar with a cheap model, mature an idea into a versioned objective, then plan it, write an RFC, or reject it with a rationale (a good outcome, and scored as one); an initiative commissions tickets and never executes or spends on its own. The same switch adds "Start an initiative" to the findings workspace
IntegrationsJIRA, Linear & git-host issue intake — keep your tracker as the system of record; issues arrive via verified webhook plus an opt-in reconcile poll as requests in Intake, and become tickets only when a person admits them (Linear connects from Settings; Jira's settings page shows status and routing, but connecting it is still done through the API; GitHub and GitLab issues come from a repository that opts in by label)
IntegrationsTicinuum MCP server — Claude Code, Claude Desktop, claude.ai or any MCP client works the ticket as the signed-in engineer: more than 200 tools, each bounded by that engineer's live org role. Connect by URL (OAuth 2.1), or sign the
ticilauncher in withtici loginand launch withtici claude; review or revoke every connection in Settings → Connections. The tools whose purpose is starting paid agent work need a grant the engineer gives explicitly, and no tool completes a ticket (a ticket filed over MCP is groomed like any other, then waits for a person's Run)OperationsSelf-service signup & org creation — email-first, double opt-in; off keeps the platform invite-only
OperationsTransactional email — welcome / reset / invite mail, active once a Postmark token is set
OperationsFull observability — metrics, distributed tracing, logs & continuous profiling — OpenTelemetry out to your own stack, with a self-hosted Grafana / Loki / Tempo / Mimir / Pyroscope setup, dashboards & alert rules included. A trace follows a ticket through the control plane (the executor's own spans are not yet joined to it). Point it at a collector to switch it on; unset, it is a no-op. Every process also serves a Prometheus /metrics endpoint you can scrape with no collector deployed at all (the bundled stack evaluates its alert rules; delivering them — paging — is wired per deployment)
Works today Shipped and on, or one setting away. The full list. 42 items
GovernanceAutonomy is a dial your org holds — nothing starts until someone asks, and a person's click on the final merge. Filing a ticket never starts the build: it is groomed and waits for a person's Run. From that one click an autonomous ticket runs real PR → independent review → revise → an approved, green PR with no further click, bounded by the kill switch, budget breaker, injection quarantine & per-run ceilings. Then a "Merge needed" item asks a person to merge it with one click — the agent merges on its own only once your org has recorded its consent (see Built · opt-in). Set a ticket (or your org default) to supervised and a person promotes, starts and approves it before Ticinuum merges the approved PR itself; if the loop escalates instead, the person who overrides it to merge can't be the ticket's author or owner
GovernanceAction required — a lapsed consent, a release that changed a default you relied on, a reached ceiling or a stranded dependency stays a standing item until a person settles it; the platform never flips your choice back for you
GovernanceGoverned delegation — a planning or investigating agent hands a bounded sub-task to a persona-pinned child, inside the ticket tree's caps, its budget and a per-tree cost ceiling; on a supervised ticket the child waits for a person
GovernanceOrg settings with recorded consent — one registry and one API for every per-org setting; the widest-blast-radius ones are consent-bound, so electing one records the disclosure you agreed to on the audit trail
GovernanceAsks — when an agent run, a colleague or an MCP client needs a person, it puts a question, an approval or a choice to them with a deadline, delivered in the app, by email and by push. An unanswered one holds the work; it never proceeds on silence unless the asker named a default up front
GovernanceDurable human-in-the-loop — pause on an Ask / snapshot / resume same run
CostExecution profiles — set per org, project or ticket: the model tier for each agent role, a plan checkpoint, a tree budget that stops the plan's next step, and how strict review is — frozen when work starts and recorded on every run (two built-in profiles are selectable today; the others are listed but refused until their dials ship)
CostMulti-scope spend budgets, chargeback & Teams — budgets by org / project / team / person / initiative, each a hard stop that refuses new runs at the limit or an advisory alert, a period-close chargeback export, and org-chart team cost centers with per-team caps and spend rollups
CostCost guardrails — no build starts until someone asks, per-org daily USD breaker (auto-pause, fail-closed), role-scoped kill switch, per-run token and dollar ceilings, progress-bounded loops, operator hard-stop
QualityReview- and CI-gated merge — the independent review's verdict gates every merge, autonomous included, and fails closed: it never passes a change it did not fully see (a change too big for one reviewer is split by the owners your repo declares), and a loop that stops making progress, a finding the agents keep arguing over, or a review that failed or was blocked goes to a person with no merge. After an approval, a merge happens only when the PR's checks are green (the checks your repository, git host or org requires — otherwise every check that reported) — a repository with no CI waits for a person by default; a merge conflict gets its own bounded, re-reviewed retry loop; your git host's branch protection still applies
QualityMerges that wait for the trunk — while someone has frozen a repository's base branch (with a reason and an expiry), or its required checks are red (on by default), approved merges wait in review instead of escalating, and go through one at a time, oldest approval first, once it is clear; a PR that fixes the red still lands, and a cancelled check never counts as a pass. An outside reviewer's "changes requested" on your git host holds the merge too. A revert is approved by a person, opened by an agent and merged by a person
QualityChange surfaces — declare a repo's sensitive paths (migrations, API or config contracts, deployment) in a manifest; a change that touches one is flagged on the ticket, gets its report and declared checks, and can require a human sign-off; two open tickets touching the same path raise an advisory overlap finding (overlap needs diffs kept; a routed specialist review is opt-in)
Quality"Done" means delivered — when the review finds a merged change met only part of the ticket's goal, the ticket closes for what shipped and the rest is filed as a remainder ticket that waits for a Run
QualityFindings — a shared, evidence-backed observation pool with no flag to turn on: agents write down what they notice, confidence-scored and deduped by fingerprint (close one as fixed and it re-opens if it comes back; acknowledge it and a recurring confirmation stops nagging), and a high-confidence critical or major finding raises a blocking gate on its ticket. Ordinary coding runs report them mid-flight, and comments left on a PR on your git host are recorded as findings on its ticket; read-only investigations are still a preview (see On the roadmap)
QualityFindings triage workspace — for an org admin on every deployment: recurrence, a watching state, an explainable attention score, suggested groups, saved views and bulk actions. A finding becomes a ticket only when a person promotes it
WorkflowThe whole run, end to end — ticket → agent → real PR → independent-context review → a review→revise loop that runs while it makes progress → done (an optional round cap sits on top)
WorkflowPlans that don't race themselves — when a plan breaks work into tickets, the ones predicted to touch the same files are ordered one after another, learned from your repository's own merge history with no model call; a person can remove any ordering (needs diffs kept; the paths are a prediction)
WorkflowTicket health — what each ticket is waiting on, and whether its wait, time in flight and spend are on track against your own org's history of similar work (reads "unmeasured" until there is enough comparable finished work)
WorkflowPostpone, merge & delete — postpone a ticket to a date or another ticket's completion, with a review date so it can't quietly rot; fold a duplicate into the ticket that survives (Revive undoes it); an OrgAdmin can delete a ticket no work ever ran on
WorkflowBacklog grooming lifecycle — a machine-checked groomed gate, a grooming agent that asks when unsure, and a depends-on / blocks ticket-dependency DAG (plus manual parent/child linking)
WorkflowAgent roster & squads — every SDLC stage resolves to a concrete agent (no whole-ticket "God agent"); reusable role→agent squads bind a lineup once
WorkflowAI-native ticket creation — describe-first "Draft with AI" infers the full validated spec (on by default)
WorkflowRepo-declared context — the repo survey also indexes a repository's own agent instructions (AGENTS.md, CLAUDE.md, skills and the like), so agents follow them as reference and load a skill on demand (per-org toggle)
WorkflowProject memory — a repo survey builds a durable profile later tickets recall to start oriented, re-surveyed when the repo drifts (per-org toggle; secret masking best-effort)
EvidenceAdmin Audit view — search, filter & drill-down over an append-only audit stream, hash-chained per org, with a streaming export
EvidenceAnalytics — org-isolated spend + velocity dashboards plus decision-support (agent-quality, flow & bottleneck, cost-by-type)
EvidencePrompt/agent lineage attribution — every run's rendered prompt is content-addressed and stamped onto the cost stream, so Analytics compares first-pass success, cost & latency per prompt version — "did this agent edit help?"
EvidenceLive agent-log tail + per-ticket cost (tokens & USD) + self-contained export bundle
EvidenceAudit trail written atomically with state — real per-run USD metering
SecurityMulti-org identity, SSO & sign-in — one account across many orgs with a per-org role and member management; per-org OIDC single sign-on with just-in-time provisioning; email-first sign-in, with an emailed sign-in link and passkeys where your deployment enables them; sessions you can revoke everywhere at once
SecurityAgent egress controls — on by default: the agent's web fetches go through a guard that checks the resolved IP right before connect, so DNS rebinding cannot walk it into your private network or cloud metadata endpoint (governs web fetch, not shell)
SecurityYour own model key — agents run on your executor's own credential (an Anthropic API key, a Claude subscription, or your AWS Bedrock account), so their spend lands on your provider account with no markup from us; the control plane's own AI calls can use your org's stored key (AES-256-GCM, write-only), and whether Ticinuum's key may ever stand in is your recorded choice
SecurityApp-layer tenant isolation — a resource you don't own returns 404
SecurityTwo-layer prompt-injection quarantine, at the door — every request, from a teammate, Jira, Linear, a PR comment or your git host's issues, is scanned before it can become a ticket
DataData residency policy — per-family off with Standard / Restricted / Minimal presets, refused at the gateway and never produced by the executor; the workspace snapshot excludes git history; every change is disclosed first and audited
DataBring your own bucket — run artifacts, run-log archives, repo surveys, uploaded attachments & webhook archives written to and read from your own S3-compatible storage, with an optional read-only grant (all-or-nothing per org; verified at the storage layer — end-to-end and AWS conformance still open)
IntegrationsProject-scoped repositories — repos attached to a project from a cached git-host catalog, not retyped per ticket
IntegrationsGitHub and GitLab — the same developer/reviewer role split on either host, selected by the repository's host; an unmatched host is refused, never silently fallen back
OperationsNotifications — an in-app inbox plus email alerts when an agent pauses for input, a run fails, a merge waits for you, a consent is about to lapse, or a budget trips, with per-user category toggles; email delivery activates once a Postmark token is set
OperationsHuman-readable run errors — a failed run explains itself as a plain headline, detail and next step, with the raw error one click away (an AI explainer for unrecognized errors is opt-in and metered)
OperationsSystemAdmin console — runtime config store, role-scoped execution halt (global + per-org), and per-org model configuration
OperationsExecutor enrolment, drain & handoff — add an executor with a one-hour, single-use code and one copied command; it joins paused until a person starts it. Drain one for an upgrade and it stops taking work; its runs keep going until a deadline, then are checkpointed and handed to another executor, or resumed when it restarts (cordon just stops new work) (executor downloads are a closed beta)
Autonomy is a dial, and your organization holds it. By default a ticket a person files is groomed and waits; one Run takes an autonomous ticket through build, review and revision to green — gated by the budget breaker, injection quarantine & kill switch rather than more clicks — and a person makes the final merge with one click. Letting the agent merge too, and letting work start with no person's click, are each an opt-in your org records. Prefer an earlier checkpoint? One per-org setting makes supervised your default, and any ticket can be set supervised so a person promotes, starts and approves it before Ticinuum merges. You choose where the human stands.
Comparison
Where Ticinuum fits — and where it doesn't.
| Capability | In-editor coders (Cursor, Copilot) | Autonomous coders (Devin-class) | Record systems (Jira, Linear) | Ticinuum |
|---|---|---|---|---|
| Writes code, opens PRs | You drive | Agent drives | No | Agent drives, real PR |
| Independent-context review + bounded revise | No | Limited | No | Yes (fresh-context reviewer) |
| Ticket as a durable, machine-reasonable unit of work | No | No | Human-driven rows | Yes |
| Cost breaker that fails closed | No | Not exposed | n/a | Yes |
| Per-tenant cost metering & analytics | No | Not exposed | n/a | Yes (per-model, per-ticket) |
| State and its audit events written in one DB transaction | No | No | No | Yes |
| BYOK per-tenant quota | No | No | n/a | Yes (agents run on your key) |
| Policy-gated human approval | No | Limited | Manual | Yes |
For raw in-IDE coding fluency, Cursor and Copilot own that lane — we're not trying to take it. Ticinuum is the control plane you run an autonomous agent inside: the cost, audit, approval, and isolation layer that turns "an agent that writes code" into autonomy you can operate.
FAQ
Questions, answered plainly.
How do you pronounce it, and what does it mean?
Tick-in-YOO-um. It's TIC(ket) + cont(INUUM) — the continuum of work. A ticket runs as one durable thread from intent to PR to review to done.
Is this just AI on top of Jira?
No. Jira and Linear are record systems — humans drive the rows. In Ticinuum the ticket is the control plane: a machine-reasonable spec an agent executes, with the lifecycle enforced by the platform, not a person dragging cards.
Do I have to fill out a big structured form to file a ticket?
No. Creation is describe-first: pick a project and an assignee, describe the work (drop in a screenshot or log if you have one), and "Draft with AI" infers the full validated spec — type, priority, severity, references — which you can then edit. It's on by default; the classic structured form is one toggle away. Every inferred value is mapped through the domain validators, so the model can't widen the domain.
Can I control which agent does each step?
Yes. There's no single whole-ticket "God agent" — every SDLC stage (develop, review, revise, plan, groom) resolves to a concrete agent through a hierarchy: a ticket per-role pin, then the ticket's squad, then the project's default squad, then an org default, then an in-binary standard agent. A "squad" is a named, reusable role→agent lineup you bind once at the ticket or project level.
How do you stop agents running away with my bill?
Independent layers. No build starts until someone asks for it. A global kill switch and a per-org daily budget breaker in real dollars — it auto-pauses the org on breach and fails closed — stop new work from starting, and budgets per project, team or person can refuse new runs at their own limits. Configurable per-run ceilings on tokens and on dollars pause a single run before it balloons, and the review loop stops the moment a round stops making progress. And an operator hard-stop cancels a run already in flight, cutting the model call within seconds.
What do "token economics" and "tokenomics" mean here?
Treating tokens as a unit of cost and a unit of value, the way the FinOps Foundation describes it: metered, attributed, and tied to an outcome. Its opposite is tokenmaxxing — rewarding how many tokens people burn instead of what the tokens bought. In Ticinuum the unit of account is the piece of work. Every ticket carries its own cost from real usage — by model and by token class — and rolls up into the feature it belongs to, so the question changes from "what did we spend on AI this month?" to "what did this change cost, and was it worth it?" Validated efficiency alerts on top of that are still on the roadmap.
Will it auto-merge my PRs?
Only once a person says yes — or once your org has chosen, on the record, to let the agent merge. Autonomous (the default): once a person presses Run, Ticinuum runs review and revise unattended, and once the review approves and CI is green a "Merge needed" item asks the ticket's owner to merge it with one click. Letting the agent make that merge on its own is a separate setting your org admin elects against a recorded disclosure — it lapses after 90 days unless re-confirmed, and isn't yet available to orgs on GitLab. Either way nothing merges without an affirmative review and green checks; a review loop that stops making progress, red checks, or a conflict it cannot resolve go to a human instead, and merges wait while someone has frozen the base branch or its checks are red. Supervised (a per-ticket choice, or your org default via one Safety and guardrails setting): the ticket waits at a gate for a person to approve it, then Ticinuum merges the approved PR for you and the ticket settles to done. If the loop escalates instead, a person can take the merge decision themselves — and that person can't be the ticket's author or owner. Your git host still owns branch protection either way.
Does it run my backlog unattended?
Not unless you choose it. By default a person starts each piece of work: filing a ticket grooms it if it needs it, then it waits until someone presses Run. From that one click an autonomous ticket goes through review to an approved, green PR with no further click — gated by the kill switch, the budget breaker and injection quarantine, held to your org's executor capacity, and never touching a quarantined or on-hold ticket — and then a person merges it. Supervised tickets also wait for a person to promote them. Work no person started — a ticket an agent files, a ticket a finished one unblocks, and a pull loop that starts your backlog's top-ranked work under a work-in-progress limit — all wait until a platform admin exposes it and your org admin opts in against a recorded disclosure of what it does and spends. (Patrols your admin schedules, and the next steps of a plan a person started, run on their own.) Issues from your tracker or git host land in Intake as requests, and nothing happens until a person admits them.
Is the review actually independent?
The reviewer is always a fresh agent in a fresh context — never the coder. Before its model weighs in, the build and test commands your repository declares run on a real checkout, and a red result blocks the change automatically; Ticinuum doesn't guess your toolchain, so with nothing declared it leaves that to your pull request's own CI, which the merge waits on anyway. It can post under a distinct identity; if you don't connect a separate reviewer identity, it falls back to the coder's identity and labels the verdict as a comment — we're upfront about that.
Can a whole team use it? How do roles and multiple orgs work?
Yes. Identity is multi-org: one account can belong to many organizations with a different role in each, and an org switcher re-scopes your session. Access is four tiers — system admin, org admin, member, viewer — enforced server-side; org admins invite members and change roles from Settings, and a viewer is genuinely read-only.
Do you support SSO?
Yes. An org admin binds an OIDC identity provider — issuer, client ID, allowed domains — and members then get a "Sign in with SSO" button. There's no global flag: it appears once your org connects an IdP. New users can be just-in-time provisioned, gated on a verified email domain and a configured role, with PKCE and ID-token verification throughout; where the IdP supports it, signing out of Ticinuum signs you out there too.
How do people sign in, and can we end a session?
Sign-in is email-first: Ticinuum offers each address only the methods it actually has — a password, your org's SSO, a one-time link emailed to you (on by default; a platform admin can turn it off), or a passkey where your deployment enables them — and an unrecognized address sees the same choice an ordinary password account sees. Sessions are revocable: sign out everywhere from Settings → Security & access, and a password change or a deactivated account ends every session at once; signing out everywhere or changing your password also revokes your MCP connections. How sign-in works →
Can I sign up myself, or is it invite-only?
Both are supported — which one is live is an operator's call. Self-service signup ships off by default, so the platform stays invite-only until an operator turns it on. When enabled, signup is email-first and double opt-in: nothing lands in the real tables until you confirm the emailed link and finish setup, so there's no org-name squatting and no junk accounts.
Where are my keys stored?
Your agents run on your executor, on the model credential in its own environment — an Anthropic API key, a Claude subscription, or your own AWS Bedrock account — so their spend lands on your provider account, the control plane never holds that key, and we add no markup to it. For the control plane's own small AI calls (drafting a ticket, the injection classifier, error explanations) you can store your org's key: write-only, encrypted with AES-256-GCM, versioned for rotation, decrypted only in the service layer. Whether Ticinuum's own key may serve you — before you add yours, or as a rescue if yours breaks — is a choice your org records: allow it and those calls go through our provider account with the platform fee; deny it and it's your key or nothing. Left unset, our key serves you until you add one, but never silently rescues a key of yours that breaks.
Does our source code reach Ticinuum?
In the hybrid shape the agent clones and works inside your network, and your model provider sees what any coding agent sends it. What Ticinuum itself stores is a policy you set. By default its storage holds a snapshot of the agent's working tree (never the git history), diffs, plans, rendered prompts, summaries, run-log archives, and repo surveys. The Restricted preset stops the snapshot, diffs, repo surveys, and webhook archives; Minimal adds rendered prompts, the run-log archive, the test and other reports an executor produces, workstation-attached artifacts, and finding evidence. Even then a paused run's conversation state, plans, summaries, and uploaded attachments still land with us — unless you point your run artifacts at your own bucket. Ticket text, events, cost, and audit rows always live in the control plane. We won't write "your source never leaves your network": it isn't true of any hosted control plane, and we'd rather show you the matrix.
Can we use our own bucket?
Yes — any S3-compatible bucket. An org admin adds an endpoint, a bucket, and a write credential; Ticinuum verifies it with a round trip (screened so it can't be pointed at internal or cloud-metadata addresses) before using it. From then on run artifacts, run-log archives, repo surveys, uploaded attachments, and webhook archives are written to and read from your storage; the control plane signs each upload against your endpoint and the executor still holds no storage credential. Add a read-only key and the app renders diffs and plans through short-lived links; skip it and you see references only, with the offer to add one. Said plainly: it is all-or-nothing per org, the control plane holds your write credential encrypted in order to sign uploads, artifacts written before you switched stay where they were, artifacts attached from a workstation over MCP still land with us unless that family is off, planner decomposition is degraded until one read path is converted, and it is verified at the storage layer against MinIO — not yet end-to-end or against AWS.
Can our engineers use Claude Code with it?
Yes, once the platform operator turns on the MCP server — it ships off. An engineer connects Claude Code, Claude Desktop, or claude.ai by URL and signs in through the browser — or signs the tici launcher in once with tici login, after which tici claude TIC-827 activates the ticket and launches an unmodified Claude Code. More than 200 tools — read the plan, the changes, the repo profile, the run history; file, comment, attach, label, link, and put a ticket on hold so nothing auto-acts on it — act as that engineer, bounded by their live role in one org, through the same injection quarantine and audit trail as the UI. The tools whose purpose is starting or resuming agent work that spends your budget (run, groom, retry, approve, merge) need a separate permission the engineer grants explicitly when connecting, and tici login doesn't ask for it; no tool completes a ticket. Every connection shows up in Settings → Connections, where it can be revoked. A ticket filed over MCP is groomed like any other, then waits for a person's Run; the merge waits for a person unless your org lets the agent merge. Connect a client →
Do you see our prompts?
No. Workstation metering (also opt-in) ingests metadata and counters only — tokens, model, latency, timestamps — and attributes them to the activated ticket server-side. Prompt content is never captured; an opt-in content path is an undecided governance question, not a feature. The autonomous agent's own rendered prompts are stored as artifacts by default, and that family can be turned off or kept in your bucket like any other.
What about prompt injection?
Two layers — red-teamed pattern matching plus a cross-lingual LLM classifier — scan every request at the door, before it can become a ticket: what a teammate types, issues from Jira, Linear or your git host, and comments on a pull request. A hit holds the request in Intake and creates no ticket until an admin other than its author clears it — never over MCP. The same gate scans text added to a ticket later, what an engineer's client writes over MCP, and every answer to an agent's question. If the classifier can't be reached, the request or ticket is held and re-scanned on its own, released when the classifier is back, and put to a person only if the outage lasts an hour. Scanning ships on; an org can opt out.
Can I see and export the audit trail?
Yes. Sensitive changes — kill-switch flips, org halts, role and secret changes, quarantine, logins — land in an append-only audit stream, hash-chained per org and re-verified on a schedule. Each change is written in the same transaction as the state it describes, with one deliberate exception: engaging a halt or a budget pause commits first and audits a moment later, so a stop can never fail because its log line did. Admins browse it in an Audit view with structured and free-text filters and per-row before/after drill-down; a streaming CSV / JSONL / JSON export of the filtered slice is available (on by default, and an admin can close it). Org admins see their own org; system admins see across orgs.
Are you SOC 2 certified?
No, and we won't claim a status we don't have. What's true today: state changes and their events written atomically, a hash-chained audit stream, AES-256-GCM key encryption, revocable sessions, app-layer tenant isolation (404), and a two-layer injection gate.
What works today vs. roadmap?
See "Today vs. on the roadmap" above — we draw the line plainly.
Put your backlog on the continuum.
From intent to PR to review — one durable, auditable continuum of work. Early access opens soon.
coming soon
Early access opens once the waitlist terms and privacy notice are final. Nothing to sign up for yet — this page collects no email.