DUTY GRAPH · ADVISOR ENABLEMENT

Release 0.3 · Hosted advisor pilot · September 2026

The Company Repo and the Copilot

The Company Repo is the advisor's workspace for one company. It shows everything DutyGraph knows about the company as a tree of Markdown files. Each file has a state and its sources. The Repo Copilot is a panel beside the files. It answers questions about the files, finds gaps, writes edit proposals and drafts asks. It only proposes. You accept or reject each proposal.

Open the Repo with Repo in the company sidebar. The badge on Repo counts the answers that wait for your review.

The layout

Above phone width, the Repo fills the screen like a code editor. The page does not scroll. Each pane scrolls on its own.

  1. The toolbar. Files and To review (N), a short summary such as "12 of 147 filled · 134 to fill · 1 disputed", Download and a ⋯ menu.
  2. The answers banner. It shows only while new answers wait. It has Who answered, Show, To review and Mark as seen.
  3. The Layer row. It highlights one layer of the company in the tree.
  4. The panes. The tree on the left, the open file in the centre, the Copilot on the right.

On a phone, the page scrolls and the Copilot opens as a sheet.

The Repo has no Next button in the page header. It is a workspace with its own toolbar.

The toolbar

The Layer row

A layer is one level of the company's operating model, from the market to the work. Select a layer to highlight its files in the tree. A highlighted file has a tinted row. A folder with highlighted files inside shows its name in green, so you can see where to open it. Each stop shows how many files are still to fill. A red dot shows that some files are disputed. Hover or focus a stop to read what it selects.

Each file states its own layer. DutyGraph writes the layer key in the file's frontmatter when it compiles the Repo. The values are company_market, leadership, department, team and work. The Layer row selects the files by this key. Nobody types it. Systems, metrics, findings, evidence, folder indexes and the root files have no layer.

LayerWhat it selects
Company & marketThe company profile, market, customers, competitors, value spine and glossary. Research fills most of these files. A person at the company confirms them.
LeadershipThe leaders and their roles, the strategy and its initiatives, the operating rhythm, the approval rules, and each department charter with its mandate.
Departments ▾Choose a department. The tree shows its charter, its people and roles, and the duties, Task Cards and systems they own or use.
TeamEvery person and role, their duties, Task Cards and runbooks, and the org chart.
WorkTask Cards, runbooks, workflows, handoff files and agent drafts. The line counts them by proposed mode: people only, people and agents, or agents only.

When you select a layer, one line under the row shows its description and its file count. The line can offer Add the first 20 to the Copilot. Select × to clear the layer.

A mode on a Task Card is a proposed mode. It is not an approved agent. DutyGraph does not run agents now. The news, competitor, hiring, technology and profile files can refresh from research (see "Research refresh" below). A live news or competitor feed is Planned.

When you select a stop, the Copilot also gets a summary of that layer (see "Chain context" below).

Org chart at the end of the row opens the org chart under the row. Select a person or a department to highlight their files.

The tree

Asks

Each ask that you send to a person has its own file, under that person: people/<person>/asks/<ask>.md. The person's file lists their asks with the status of each one.

An ask file shows each question, the file that the question fills, and the status of the ask:

The person's own words stay as evidence in DutyGraph. The Repo does not copy them.

File states

StateMeaning
ConfirmedA person at the company confirmed it in DutyGraph. The confirmation is recorded, not signed.
ObservedA client source supports it.
InferredResearch or the advisor suggests it. Nobody at the company confirmed it.
DisputedSources or people disagree.
UnknownDutyGraph searched and has no usable value.
ProposedA draft that waits for review, for example a proposed Task Card.
SlotA file that nothing has filled yet.
GeneratedDutyGraph builds the file from other files, for example an index or the company brief.

The legend under the tree shows each mark: Confirmed is a filled green dot, Observed a green ring, Inferred a dashed violet ring, Disputed a dashed red ring, Unknown an amber dot, Proposed a light ring, Generated a grey dot and Slot a short grey dash.

A percentage shows only for research-backed files, next to its state, for example "Inferred · 77%".

The open file

The bar above the file shows the path and the file's tools:

The strip under the bar shows the state, the owner and approver where they apply, the sources and the next step. An empty field says "Not captured".

Ask the person responsible is in the NEXT section of Details. It builds up to 10 questions from the file's open fields without AI. It suggests the person who can answer. You can change the person and untick questions. The ask goes to the Discovery queue. Nothing is sent.

Below the ask, Or record what a person told you has Confirm, Correct and Rule out. Use them only for what a person at the company told you.

Links between files

The files link to each other. The links follow the chain of custody from the strategy to the work:

  1. The strategy and its initiatives (company/strategy.md, company/initiatives/).
  2. The department mandate, in the department charter (departments/<department>/charter.md).
  3. The duties of the department (duties/).
  4. The roles that hold the duties, and the people in the roles.
  5. The Task Cards that do the work, with their runbooks and agent drafts.
  6. The workflows and handoffs that carry work from one department to the next.

DutyGraph computes each link from the records and the accepted answers when it compiles the Repo. Nobody types a link. The links are in the file's frontmatter, for example serves, owned_by, tasks and handoffs.

LINKS in Details

Open Details on a file. The LINKS section has 3 groups:

GroupWhat it showsExamples
UpWhat this file serves and who owns it.Serves, Owned by, Reports to, Charter, Department
DownWhat this file holds.Initiative, Mandate, Duty, Task Card, Performs, Runbook, Agent draft
AcrossHandoffs and other departments or workflows along the value chain.Receives from, Delivers to, Handoff in, Handoff out, Workflow, Department

Each row shows the relation and the title of the linked file. Select a row to open that file. A file from an older compile shows no LINKS section.

Proposed links

A link is confirmed only when accepted records state it. A link is proposed when one of its records is still a proposal, or when DutyGraph inferred it. For example, DutyGraph proposes a link when an initiative names a department in its own words. The row then shows Proposed. Do not treat a proposed link as a fact. Ask the person responsible to confirm it.

The frontmatter key links_state gives the state of all the file's links: confirmed, proposed or mixed. The key links_proposed lists the proposed links.

Initiatives

An initiative is a goal that leadership works toward. DutyGraph writes one file for each initiative in company/initiatives/. The text comes from these sources only:

DutyGraph never prints a proposed answer as an initiative. Each initiative serves the strategy. An initiative file shows the priority, the horizon, the success measure and the owner. A value that nobody gave says "Not captured yet".

"Departments that deliver it" lists a department only when the initiative's words name it. That link is proposed. Otherwise the file says "Not captured yet. Ask an executive in the kickoff which departments deliver it." You cannot create or edit an initiative as a record now.

Mandates

A mandate is what leadership asks a department to deliver. Each department charter has 2 sections from its links:

The charter's Purpose section keeps the department's own answer. When nobody gave a mandate, the fields card says "Not captured" and offers the ask.

Handoff files

A handoff file shows one handoff between 2 Task Cards. The files are in flows/handoffs/. Each file shows the task that hands over and the task that receives, their departments, what is handed over, the time limit, the retries, the acceptance check and the failure action. A value that nobody reported says "Not captured".

Execution modes

Each workflow file has an execution_mode: people_only, people_and_agents or agents_only. DutyGraph takes it from the proposed modes of the workflow's Task Cards. The mode is confirmed only when the workflow and each of its Task Cards are accepted. Otherwise it is proposed. An execution mode does not approve an agent. DutyGraph does not run agents now.

Research refresh

Some facts about a company change over time. DutyGraph keeps a refresh plan for the files that research fills. A refresh researches the file's fields again. It never writes a value directly.

The files that refresh

PlanFileWhat changesHow often
News and announcementsmarket/signals/New eventsWeekly
Competitorsmarket/competitors.mdNew or changed competitors and their movesMonthly
Hiringcompany/profile.md, hiring fields onlyOpen roles and the headcount trendEvery 2 weeks
Detected technologiessystems/Tools added or droppedMonthly
Company profilecompany/profile.md, all other fieldsIdentity, size and business modelEvery 3 months

Files that people fill never refresh from the web. These are people, roles, duties, Task Cards and workflows.

The refresh: block

Each file that refreshes has a refresh: block in its frontmatter. The block shows:

company/profile.md has 2 plans: the profile plan in the block, and the hiring plan under refresh.hiring.

You cannot change the sources or the cadence in the app now. An editor for them is Planned.

Refresh now

  1. Open a file that refreshes, for example market/competitors.md.
  2. Select Details.
  3. In the REFRESH section, read the plan, the cadence and the last and next check.
  4. Select Refresh now.

The row says "Refreshing…" while the run is active. When the run is complete, the Repo reloads and the row shows the result, for example "3 new findings · 1 flag · nothing changed". You need permission to run research. The same plan cannot refresh again within 10 minutes.

The Company Research step page has the same rows for all 5 plans under Refresh by file. It also has Keep research current, which refreshes due files on a schedule within a monthly cap. See From Company Research to confirmed work.

Confirmed facts do not change

A refresh also researches the fields that a person confirmed. It never changes a confirmed value. When the new evidence disagrees, DutyGraph keeps the confirmed value and adds a flag. The flag shows in To review: "A person confirmed X. Newer research says Y. The confirmed value stays. Keep it, or ask the person again." New values arrive as research findings to review, with their sources.

To review

Select To review in the toolbar. Each card has a title, the value, and one sentence that says what to decide. For example: "Sources disagree: 120 vs 85. Pick the right one or ask the client."

A focused review ends with 1 verdict:

  1. Looks right. Confirm it in Details.
  2. Needs a correction. Correct it in Details.
  3. Ask a person. Select Send to Discovery. The Copilot drafts the ask for that person and adds it to the Discovery queue. Nothing is sent.

When the company has no approved AI connection, the card still shows the decision sentence, who can answer, and Ask the person responsible.

The Copilot

What the Copilot reads

The Copilot reads accepted values only. Proposed readings, quote text and email addresses do not go to the AI provider.

Chain context

The Copilot reads the chain of the person, file or department that you work on. The chain is the vertical slice of the company through that anchor:

The Copilot uses the chain to explain why the work exists. It keeps an Edit proposal in line with the mandate. A drafted ask names the mandate or the initiative. The Copilot treats a proposed link as unconfirmed and does not state it as a fact.

The anchor

The anchor is the item that the chain starts from. The Copilot uses the last item that you selected:

  1. A person in the org chart. Select Org chart on the Layer row, then select a person. You can ask about that person with no file in the context.
  2. A department. Select Departments ▾ on the Layer row and choose a department.
  3. The open file. Open a person, role, duty, Task Card or department file.

The line under the company brief line shows "Anchored on: <name>".

The path line

The next line shows one path from the strategy down to the anchor, for example "Strategy → Finance → AP manager (Dana Brooks) → Dana Brooks". Select a step on the path to open its file. A dashed step is a proposed link. The line then shows "Dashed: proposed link".

Layer summaries

When you select a stop on the Layer row, the Copilot gets a summary of that layer, not many files. The line shows "Layer summary: <layer>". The summary has the number of files in each state and the files with the most gaps. It also has the initiatives, the departments and their mandates, the roles, or the workflows by execution mode, as the layer needs.

Clear the anchor

Select × next to the anchor name. The Copilot then reads no chain. The anchor comes back when you select another person, department or file.

The chain holds accepted text only. It holds no email address, quote text or proposed value. A file that waits for review shows its title only. The chain does not use one of the 20 context places.

The 4 modes

ModeUse it to
AskAsk a question about the context files. The answer names the files it uses. With Claude, the answer streams as the Copilot writes it.
ReviewFind gaps, disputes and weak sources in the context files.
EditSay what the open file must say. The Copilot writes a proposal. Read it, then accept or reject it.
Draft an askDraft clear questions for the people responsible for the open items.

Press Enter to send. Press Shift+Enter for a new line. Select the mic to talk instead of typing. The mic uses on-device transcription.

Edit any file

You do not select fields. Write what you want, for example "Fill this with your best guess" or "What would a top-tier company do here?".

  1. Open the file.
  2. Select Edit and write what the file must say.
  3. Read the proposal. Field changes show as a diff. Other text shows as a preview under Notes.
  4. Select Accept or Reject.

What Accept writes depends on the file:

Notes print in the file as an advisor draft. The label says "Advisor draft — based on common practice, not confirmed by <Company>" for a best guess, or "Advisor draft — from your words, not confirmed by <Company>". The file stays Inferred until a person at the company confirms it. DutyGraph keeps every version of the Notes.

If the file changed after the Copilot read it, Accept stops with "This file changed. Ask again."

Draft an ask

  1. Select Draft an ask. Write what to ask, or leave the box empty to draft from the conversation.
  2. Or select Draft an ask about this → under an Ask answer. You do not need to type.
  3. Read the draft. Each person shows why the Copilot asks them.
  4. Select Add to Discovery queue. The asks wait as unsent drafts in Discovery › Asks.
  5. Or select Edit in the composer first to open the draft in the Discovery composer.

The Copilot asks only about missing, unconfirmed or disputed items. It writes one question for each item, at most 10 for each person. It quotes the current value and asks the person to confirm or correct it. Questions without a person wait for Choose who to ask.

When the Copilot does not answer

What the Repo does not do

See also From Company Research to confirmed work for the Discovery queue and the composer.