DUTY GRAPH · ADVISOR ENABLEMENT

Release 0.3 · Hosted advisor pilot · September 2026

Agents: proposed agents and agent manifests

Agents is in the main sidebar, after Opportunities. It has 8 tabs: Workspace (it opens first: the builder on the last agent you opened, else the first proposed agent), Saved agents (the saved agents, with New agent from an opportunity and Start from a person or task), the agent governance tabs Requests, Review queue, Issued agents, Rules and Audit (since October 14, 2026), and Business review (the old Reviews tab). On a phone the tabs have short names: Build, Saved, Requests, Review, Issued, Rules, Audit and Business. Since October 13, 2026 the proposed agents are in Opportunities › Proposed agents: finding an agent is diagnosis, and Agents builds it. DutyGraph makes each proposal from the Company Repo, by code. DutyGraph does not run agents. An agent manifest is a file for the AI tools that the client already uses. The draft gives no access.

Status, October 8, 2026: the Agents pages are built on matt/dev (package A2 of the agent manifest builder). They read the Agents server routes (package A1). When a page cannot read its data, it shows the server's message. It never shows example data in place of your company. No AI call makes a proposal, a marker, a limit or a policy. "Describe the agent" is Planned. It has no input in this version.

The builder workspace (October 13, 2026)

Select Agents in the sidebar and the builder opens on the last agent you opened (else the first proposed agent). An agent also opens from Opportunities (the agent link under a Task Card, or Proposed agents) and from Saved agents. The page header is 1 row (Agents, the tabs, search), and the builder is one workspace:

The OpenAI Agents file: DutyGraph does not choose a model, so "model" says to set it. The OpenAI MCP tool has no setting to ask before it runs, so only the tools DutyGraph allows are listed; the README names each tool that stays out.

Read the proposed agents

Opportunities › Proposed agents gives the answer first.

  1. The first line counts the proposed agents, for example "2 proposed agents for Cobalt Industrial Supply. Each one acts for 1 named person, inside that person's access."
  2. The next lines say how DutyGraph made them and how many Task Cards have a proposed AI mode.
  3. Use the flow chips to show the agents of 1 work flow.
  4. Each card shows:

- the name and for the person who does the work, with the role and the Owner, who is accountable; - the systems that the Task Cards record; - Proposed: the AI mode on the Task Card, and Limit by rule: the highest mode that the rules allow. When the rules lower the mode, one line says why and names the step ("Lower than proposed: step 4 contacts the supplier."); - the steps where the agent pauses, and what it must never do; - the gaps, the past cases (0 of 3 until people give them) and the tools outside the person's access; - Open template or Open draft. A saved draft shows its version and its state (Fresh, Out of date or Broken). A draft agent that a person made for the same Task Cards shows as Related draft.

  1. A K1 or K2 chip shows when a possible constraint on the Strategy page links to the agent. Agents and Strategy use the same numbers. Select the chip to open Strategy with that constraint in focus.

Not proposed

DutyGraph does not invent authority. Not proposed lists each Task Card or possible constraint that code did not turn into an agent, with 1 reason. The heading counts the items that it shows. The Task Cards with "People only" are in a closed list with their own count.

ReasonWhat it means
No accountable ownerNobody owns the work. An agent needs 1 accountable person.
Conflicting accountsPeople describe the work in different ways.
People onlyThe Task Card has no proposed AI mode. These are in a closed list.
AI not allowedThe Task Card does not allow AI.
Route: a change that is not an agentRoute chose a cheaper change first (a decision rule, a process change, training, a setting or an automation).

Each reason has an ask: the person to ask and 1 question. On your own company, select Draft the ask to open it in the Discovery composer. Nothing is sent until you send it. The sample company does not send asks.

Build a manifest

Select Open template or Open draft. The builder is 1 column, like a "Create agent" page, with a rail on the right for the readiness checks and the export. The fields fill from the Repo when the page opens. Nobody typed them.

The Authority strip stays at the top: who the agent acts for, the Owner, the Scope (each system with the person's access), the Limit, the steps where it pauses and the Authority check (how many tools are within the person's access).

  1. Starting point. Proposed by DutyGraph shows the templates that DutyGraph made for this company from a person's role, duties and Task Cards. Select another template to open it. If you changed fields, the page asks "Replace 3 edited fields?" first. Describe the agent is Planned and has no input in this version.
  2. Agent config. The name, the description and the model. DutyGraph does not choose a model: it shows "Not set · the client chooses" until you choose one. Acts for, Owner, Proposed and Limit by rule come from the Repo and you cannot change them here. Select Raw (or press W) to see the exact Repo file, read only. Each id in its frontmatter links to its file. Select Rendered (or press R) to go back.
  3. Instructions. The Task Card steps, word for word. Each step has a marker that code proposes: A the agent does it, S it needs a recorded approval, H a person does it. A step that code cannot classify is H. You can make a marker tighter (A → S → H). You cannot make it looser. To change a step, edit the Task Card. Add Notes for the agent if the agent needs more words from a person.
  4. Tools and connectors. 1 card for each system that the Repo records. Each card shows what the steps need, the person's access, the state (Within access, Outside access or Access: Not found) and the Tool permissions. Each operation has a policy: Allow, Ask first or Off. A looser policy than code allows is not available, and its tooltip says why ("The limit is set by the person's access."). Request access drafts an ask to the person who grants access to the system. On a tool with Access: Not found, the button says Ask and the name of that person. The ask is never sent automatically. DutyGraph holds no credential: the card names the person who provides it.

Each card also has an Access editor: the access level of the role to the system (No access, Read, Write or Admin) and its source. Select Save access to record it. You need permission to edit records. Client confirmed needs an answer from the client to the access ask for that role and system. Without that answer, DutyGraph stores Reported. DutyGraph records the level only. It does not change access in the system. On the sample company the access values are fixed. Never allowed (from the Task Card) lists what the agent must never do.

  1. Context. The Repo files that the agent may read: only files that the person's role may read.
  2. Human gates. Each step where a person acts, and the person. "Backup Not found" means that the Repo names no backup person.
  3. Tests. Cases that code makes from the stop conditions. Each one is labelled "Case from a stop condition · not a past case". The header says how many past cases exist (0 of 3 until people give them). Ask the person who does the work for 3 past cases.
  4. Handoffs. The handoffs to and from other Task Cards, as context only.

Every filled field has a chip such as "from check-supplier-packet/task.md › Rule". Select it to open the file in the Repo. A field that you changed and did not save says "Edited by you · was: …". A saved change says "Edited by" the person who saved it, and the Repo value. A changed field has no Repo chip, because a person wrote the value. Select Use the Repo value to go back to the value from the Repo, then save.

Readiness checks

The rail lists the checks that code makes: an owner is named, the approver is known, no open dispute, the client confirmed the Task Cards, the past cases and the authority check. A gap never blocks the builder or the export.

Save a draft

Select Save draft (or press ⌘S or Ctrl+S). A save that changes the manifest makes a new version: "Saved as v2 · 8 Oct 2026. The draft gives no access." A save that changes nothing keeps the version: "Nothing changed. The draft stays v2." If another person saved the manifest after you opened it, the page asks you to reload. If a marker or a policy is looser than code allows, the page names it and saves nothing.

DutyGraph also saves nothing when a Task Card holds an email address, a phone number or a value that looks like a secret. The message names the Task Card and the field (for example "Stop conditions"). Edit the Task Card, then save again. Your own words (the name, the description and the notes) cannot hold interview or answer words.

A save never writes over a draft agent that a person made. The save makes a new draft, and the builder lists the other draft as Related draft.

Export a manifest

Select Export manifest (or press E). Choose 1 of 4 formats. Each one is "formatted for" its tool:

FormatFiles
Manifest sheetmanifest.md, for people to read. Select Print the sheet for a light page to print or save as PDF.
DutyGraph manifest JSONmanifest.json (dutygraph.agent-manifest.v1)
Claude Code folderThe subagent file, the skill file and a settings fragment
Claude Managed Agents JSONThe agent definition. It needs a model: choose one in Agent config first.

Each format also has README.md and GAPS.md. Select a file in the tree to read it before you download. The preview shows the saved version, or the template when nothing is saved. Changes that are not saved are not in the preview. If your role cannot download exports, the preview shows the file names only. DutyGraph never fills a gap. It leaves the value out of the files for the AI tool and lists it in GAPS.md, with the person to ask. An export with gaps is labelled "Draft · 8 gaps". The download is the saved version, as a .zip file. If you have changes that are not saved, select Save and download .zip.

DutyGraph checks the files again before the download. It refuses an export that holds an email address, a phone number, a value that looks like a secret or interview words, and says which file holds it. A Broken manifest exports only the manifest sheet and the JSON. Review it and save it again before you export it for Claude Code or Claude Managed Agents.

DutyGraph does not run this agent. Load the file into the AI tool that your company uses.

Saved manifests

Agents › Saved agents lists each saved manifest with its version, the person it acts for, the owner and the gaps. DutyGraph compares each cited Repo file on every read:

Select Open to open the builder, or Export to open the export.

Share the plan with the person

Status, October 14, 2026: built on matt/dev, by private link only.

Under Before it can run, Share the plan with <person> sends the saved agent's plan to the person it acts for. Save the draft first: the plan is built from the saved version.

  1. Select Create a private link for <first name>. The link is shown once and works for 30 days. Select Copy link, Share (the phone's share sheet, where there is one) or Preview. When the company's Resend email is set up, Send by email sends it for you.
  2. The person opens the plan on their phone. It is labelled "Proposed plan · not deployed" and has 5 parts: What we found, The plan, Your process today and with the agent, How you would operate it and What happens next (the governed access status, read only).
  3. The person answers This looks right or Something's off, with the parts that are off and a short note. Code removes contact details from the note before they send it. The answer is stored as understood.
  4. The answer shows in the list of shared plans under the panel (version, when it was shared, whether it was opened, the answer), as an Inbox Review item and as an advisor notification. Select Mark reviewed when you have read it, or Revoke link to stop an open link.

The plan is built by code when you create the link and kept exactly as shared. Your role needs permission to edit records to share a plan. The person cannot open the plan from a DutyGraph sign-in yet; it is a link only. See Run a company through DutyGraph, step 9.

Business review

Agents › Business review holds the agent requests, the manifest drafts and the business review that were on the Governance page. They work as before, for every company. The old address #governance opens this tab.

Governed access and the governance tabs

Status, October 14, 2026: the governance tabs work on the Wesco sample (/app?sample=wesco) and on any company of your own after Set up governance. A company without its packs (the Cobalt sample, a new client) shows "Governance is not set up for this company yet" on these tabs, with Set up governance for an advisor.

Set up governance for a company

Open Agents › Rules and select Set up governance (#gov/setup; once set up, Change packs on the Rules tab). Load the 6 packs:

PackHow to load it
Agent rulesUse the default agent rules: 14 neutral rules, including the ceiling (an agent's scopes never exceed its owner's), an end date for every agent and AGT-12 "No agent approves work: approvals stay with people". Or upload your own pack (JSON)
Segregation of dutiesUse the default SoD pairs: 12 generic conflicting pairs (create a vendor and pay it, enter and approve the same invoice …). A pair applies only when the catalog has scopes on both sides. Or upload your own
Mitigating controlsAdd each control (id, name, owner role, Agent-eligible), then save. It can stay empty. Only an agent-eligible control lets a reviewer keep a conflicting scope for an agent
System catalogUse the catalog built from Task Cards: the systems the Task Cards name, with scopes written system/action:object. Add systems and scopes, then Save this catalog
Who holds which accessChoose a CSV file or paste the access export, then Preview. The preview lists the matched people, the people not found in the company and the access that maps to no catalog scope; those rows are not loaded. Then Load this export
Approval chainFor Manager, Role owner, Internal Controls and IAM, choose a person from the company, or Requester's manager for the manager step. Save the approval chain

Each load is a new version of the pack and is sealed on the hash-linked ledger. Each load also gives people PER- ids and Task Cards with an AI mode TSK- ids (Assign registry ids does it on its own). DutyGraph reads the access export as of the day it was exported; it does not connect to the company's identity or access system. Only an advisor sets up governance. A sample's packs are fixed.

On your own company, only the Task Card's owner can start an agent's access request, from their own DutyGraph sign-in, and each approver decides from their own sign-in. There are no personas outside the samples.

The governance tabs

On the Wesco sample, Okta, Entra, Saviynt, ServiceNow and Oracle are simulated, and the approvers are sample personas that you operate (Acting as). See Run a company through DutyGraph, step 8.

The Repo file

The Repo file of a saved manifest (manifests/<slug>.md) lists a permission only for a tool that a policy allows and the role's recorded access covers. authority_ceiling is the role that the agent acts for, and accountable_role is the owner's role. The stop conditions and the cases made from them stay in Agents. They are not in the Repo file.

Other ways in

The sample company

On the sample company (Cobalt Industrial Supply, fictional) each page shows 1 Sample output · no AI call chip, and the Proposed page and the builder end with a line that names the sample. The markers say "Proposed by code · sample". The access values are labelled "Reported · sample". Asks and Request access stay on the page and are not sent. The sample never calls an AI provider.

What Agents does not do

Agents does not run, start or connect an agent. It grants no access and holds no credential. The builder records no approval: a draft is a proposal until the client's own process approves it. The governance tabs record decisions on the Wesco sample and on companies with governance set up; DutyGraph does not provision the agent in the company's identity system. Past cases and loading a manifest into an AI tool are Planned.