# Strategy: possible constraints, frameworks and the Strategy Copilot

Strategy is in the main sidebar, after Outcomes. It has 2 tabs: **Summary** (it opens first) and **Frameworks**. Since October 13, 2026 the possible constraints and **Theory of Constraints** are in **Opportunities**, **RACI** is a Work Map tab and **Measures** is an Outcomes tab; their old links open the new places. The Work Map shows how work moves. Strategy helps you test what may limit it. Every claim on a Strategy page cites Company Repo files. Select a number or a file chip to open the file in the Repo.

Status, October 8, 2026: Strategy is built. The pages and the server routes that find possible constraints and run the frameworks (packages S3 to S5 of the [Strategy plan](../specs/STRATEGY.md)) use the company's approved AI connection: Claude first, else OpenAI. The sample company never calls an AI provider. Its pages say **Sample output · no AI call**. When a page cannot read its data, it shows the server's message. It never shows example data in place of your company.

## Read the Summary

**Strategy › Summary** gives the answer first. Code builds every line from the Constraints and Frameworks pages. Nothing on it is typed by hand.

1. The first line counts the possible constraints, for example "2 possible constraints may limit the work of Cobalt Industrial Supply. A test has not supported either one." Each flow then has 1 line.
2. Each possible constraint has a key: **K1**, **K2** and so on, 1 per flow. The same key shows on the Constraints page, on each exhibit and in Present mode. Its card shows the evidence word, whether it is ready to test and the first thing that is missing, the test, the rival explanation and the person to ask.
3. **See it in** opens the Theory of Constraints, RACI or SWOT / TOWS exhibit with that key in focus. **The evidence** opens the flow on the Constraints page.
4. **What the frameworks say** gives the title of each exhibit in 1 sentence. Select **Open exhibit** to open it.
5. **Decisions for the client** lists at most 3 decisions, each with a person and a source file. They come from the Repo. Nobody decided them yet.

## Focus a possible constraint

An exhibit address can end with `?focus=K1`. The focus stays when you move between the exhibits.

- The **Focus** row above the diagram shows 1 chip for each key. Select a chip to put that key in focus. Select **×** to take the focus off.
- The boxes that cite the files of the key keep their full colour and get an outline. The other boxes fade. The row says how many boxes cite the files.
- Select a box. The inspector shows **Used in**: the other exhibits and the possible constraints that cite the same files.
- If your system asks for reduced motion, the change has no animation.

## Present the exhibits

Select **Present**, or press **P**, on a computer screen (760 px wide or more). Present mode fills the screen with 7 slides in the light colours: the Summary, the leading possible constraint against its rival with the test, Theory of Constraints, RACI for the flow of a possible constraint, SWOT, TOWS and the decisions for the client. Each slide has its title, the exhibit and a source line: the Repo date, the number of files, the sample label and how many boxes have a review. The slides read the same data as the pages, so they change when the Repo changes.

| Key | What it does |
| --- | --- |
| → or Space | Next slide |
| ← | Previous slide |
| 1 to 7 | Go to that slide |
| F | Focus on or off |
| T | Light or dark colours |
| Esc | Close Present mode |

## The evidence words

Code sets each word. The AI does not.

| Word | What it means | How it looks |
| --- | --- | --- |
| Client confirmed | A person at the company confirmed the value in DutyGraph. | Thick solid border, filled dot |
| Reported | A source states the value. | Solid border, open dot |
| Inferred | Research suggests the value. Nobody confirmed it. | Dashed border |
| Assumption | Nothing in the Repo supports the point. | Dotted border, diamond |
| Disputed | Sources or people disagree. | Thick amber border |
| Not found | DutyGraph searched and has no usable value. The box names who to ask. | Empty box, dashed |

A box that ends with **· research** rests on web research only. Research alone is never above Medium.

## Find possible constraints

1. Open **Strategy › Constraints**.
2. Select a flow in the list. Each flow shows how many signals it has and the key of its possible constraint (K1). The signals are about the flow, about evidence quality and about test readiness. A signal points to Repo files. It is not a finding. Rules in code find signals with no AI and no cost.
3. Read the signals: the rule that fired (R1 to R11), the exact text it found and the files.
4. Select **Find possible constraints**. Read the consent note. One click starts one AI call for this flow.
5. Read each possible constraint. At most 3 show. At most 1 is marked **Leading**. Each one shows:
   - why DutyGraph suggests it: the file, its evidence word, the exact quote and the rule that fired;
   - what points the other way;
   - other explanations;
   - what would show it is wrong;
   - the test: the measure, the baseline (or Not found) and the window;
   - questions to named people. Select **Send as ask** to make a draft ask for that person and open it in the Discovery composer. Nothing is sent until you send it there. For an open question, choose the person first. The sample company does not send asks.
6. Select **Accept…** to save it as a possible constraint. Choose the accountable owner. You can edit the statement and the test measure. Or select **Reject…** and give the reason.

Each possible constraint names someone to ask: a person on the team list, or a role at the start of an open question ("Warehouse lead: …"). DutyGraph drops a possible constraint with no one to ask.

DutyGraph checks your edits as it checks the AI text. An edit with a word such as "bottleneck" or "root cause" is refused, and the message names the word. An edit with a number that no quote of the possible constraint states is refused too.

When a file that a search cites changes, the search is **Out of date**. You cannot accept from it: select **Find again**. You can still reject it. DutyGraph also hides each quote from a changed or removed file: the row says "The quote is hidden because the file changed."

A search does not read the file of an open possible constraint (findings, the strategy file), so the AI cannot copy it. The search says how many files it left out. In other files, DutyGraph removes only the lines that hold the title of an open possible constraint.

DutyGraph removes the quote from the saved search too, not only from the page. It also removes it when nobody opens the search again.

When you reject a possible constraint, DutyGraph remembers it for that flow. The next search gets its title and your reason. A new hypothesis that cites the same signals is left out, until the flow has a new signal. Do not use a banned word in a reason: DutyGraph does not send such a reason to the AI.

An accepted possible constraint stays a hypothesis until a test supports it. The list under the flows shows what each one needs before it can be tested. **Constraints and gaps register** opens the report for the client. The register lists each possible constraint you accepted from a search, with its flow, its evidence files, its open questions and "Reviewed by advisor · not tested". In **Work Map › Value chain**, the **Possible constraints** lens marks the Task Cards that an accepted possible constraint cites as evidence.

## Run a framework

1. Open **Strategy › Frameworks**. 3 frameworks run on the Repo: **RACI**, **Theory of Constraints** and **SWOT / TOWS**.
2. Read the readiness: **Ready**, **Runs with gaps** or **Not ready**. The card says what is missing and who to ask.
3. Select **Run**, read the consent note and confirm. One run is one AI call. A first run costs about $0.70 to $1 (an estimate).
4. Select **Open the exhibit** to read the diagram:
   - **RACI:** Task Cards are rows, people and roles are columns. A filled disc is Accountable, a ring is Responsible, a plain letter is Consulted, a light letter is Informed. R and A come from each Task Card. A dashed cell marked **AI** is a C or I that the AI added. The Check column says if a row has exactly 1 Accountable person.
   - **Theory of Constraints:** the flow from left to right. The step with the thick border is the step of the leading possible constraint. It is a hypothesis: it may set the pace of the flow. Below it are the 5 focusing steps with a prediction and a stop condition for each. Steps 2 to 5 are recommendations.
   - **SWOT / TOWS:** the 2×2 (internal and external, helpful and harmful) with ids such as S1 and O2. Below it, the TOWS matrix pairs them. Point at a pair chip such as **S1×O2** to mark both items.
5. Select a box to open it in the inspector: its evidence word, confidence, sources, quotes and who to ask. Select **Accept**, or **Reject** with a reason. An accepted box shows **Reviewed by advisor**. That is your review. It is not Client confirmed.
6. Use **Table** for the text version, and **Print** for a PDF on white paper. The table view prints on its own page.

A run goes **Out of date** only when a file it cites changes. The changed boxes say so. You cannot accept a box whose file changed: run the framework again. Its quotes are hidden.

## Limits

- **AI runs:** 30 per company in 24 hours, for constraint searches and framework runs together.
- **Strategy Copilot:** 60 questions per company in 24 hours, in addition to the Copilot's own limit.
- **Sample company:** 20 sample runs in 24 hours, and 1 at a time. A sample run makes no AI call.
- **Cost:** DutyGraph logs the tokens, the model and the estimated cost of each AI call, also of a call that fails. A model with no price in DutyGraph's table shows the cost as Not found.

## Ask the Strategy Copilot

The Strategy Copilot is the Repo Copilot in Ask mode, on the right of each Strategy page (see [The Company Repo and the Copilot](29-company-repo-and-copilot.md)). It is closed when the page opens: select the Copilot button to open it. It reads the Strategy part of the Repo: the company, initiatives, findings, flows, handoffs, measures, departments and Task Cards. Its answer names the files it uses. Its 2 buttons open **Find possible constraints** and **Run a framework**. On the sample company it shows 1 line and no message box, because the sample company does not use AI.

On the sample company, a run makes no AI call, so it starts with no consent step. Its button says **Run (sample · no AI call)**. Output that code wrote says **Proposed by code · sample**, never "AI".

## Measures

**Strategy › Measures** shows the measures, changes to test and outcome reviews. A missing value stays Not found. Zero means a measured zero.

## What is not built

Business Model Canvas, McKinsey 7-S, Industry Map, Five Forces and PESTLE on the Repo are Planned. The earlier strategy brief and its OpenAI copilot, and the 16-framework library, are no longer on the Strategy page.
