Skip to content

Schema SSOT. Written once; every strategy in SDC/IP/Strategies/ conforms to it. Per-strategy improvisation is a defect, not a variation.

§8 is the machine-readable vocabulary — the single source of truth for every property’s allowed values. strategy-lint reads that block directly from this file, so there is no second copy to drift.

Acronyms are defined in at the end.


The fundamental unit of the $MART DEBT knowledge layer is a strategy — not an article, video, or chapter. One strategy, one file, in SDC/IP/Strategies/: named with a title, classified with properties, described in the body, analysed by the app where a tool exists.

A published strategy is a non-interactive reference. No comment thread, no contribution mechanism, no reputation system — out of scope.

The rule that outranks every other rule here

Section titled “The rule that outranks every other rule here”

Every claim traces to a named source. A field with no source is written as:

unverified — needs Talbot

Never as a plausible guess. A fabricated financial strategy is worse than a missing one, and this library is intended to be publicly citable. unverified — needs Talbot marks a gap inside an otherwise-sourced strategy — it is not a licence to write a strategy that has no source at all.

A strategy’s name is IP, not a label. Most $MART DEBT strategies have no agreed name anywhere; giving each one a consistent, agreed label so it can be communicated, analysed and argued about is a large part of why this library exists. A named concept is attributable to whoever named it.

So title is held to a standard the rest of the frontmatter is not:

  • Coined, not described. “Debt Swap” is a name. “Converting non-deductible debt to deductible debt” is a description sitting in the title field.
  • As short as it can be without becoming ambiguous.
  • Stable once published. A rename breaks every citation, so it is a CEO decision, and the old name stays in ## Variants as a redirect.
  • The identity. The filename slug derives from it and every wikilink resolves on it. There is no id field — a second identifier would be a second source of truth.

code (§5) is an alias for reference, not the identity.


Risk is the primary sort key of the whole library and the field the product’s behaviour keys off. It is the operational form of Rule 1 of Strategic-Plan: intervention strength is a function of risk.

The vocabulary across SDC documents did not agree with itself, and the structural problem was that “risk-magnifying” is a mechanism label while “moderate/high” is a magnitude label. They are not points on one axis. Mixing them produces a scale that cannot be sorted.

The fix: one signed magnitude scale as the sort key, with the mechanism carried by the level’s own test rather than by a parallel label. v0.2 split the mechanism out into a separate leverage flag; v0.4 folded it back in once it proved to say nothing the scale did not — see §2.3.

risk-levelNameTest that puts a strategy here
-1Negative riskThe holder is strictly better off in every future state. No state of the world leaves them worse off than not acting.
0Zero risk — “Can’t Lose”No new downside exposure, but acting has a state-dependent opportunity cost: capital or capacity committed here is unavailable elsewhere. The strategy’s own return is certain; its relative return is not.
1Low riskRisk position changes, but structurally rather than directionally — existing debt, tax treatment or ownership is re-arranged without increasing net market exposure. Downside is bounded and identifiable in advance.
2Moderate riskNet market exposure increases. Loss beyond the amount invested is possible. Outcome depends on returns exceeding an after-tax borrowing cost over a long horizon.
3High riskAs 2, plus at least one of: the position is callable (margin call, forced liquidation at a market low), the instrument is path-dependent, or the strategy needs timing judgement the evidence does not support most people having.

Assignment rule: any strategy that increases net market exposure is level 2 at minimum, regardless of how favourable its arithmetic looks.

Why -1 and 0 stay apart. Both map to the same Rule 1 row and permit the same intervention, so no product behaviour turns on which side a strategy falls. They are kept apart because negative risk and zero risk are separate things in the CEO’s own standard and in SDC/Risks/JOB_DESCRIPTION.md. The test that separates them is opportunity cost, not liquidity.

v0.3 collapsed the old level 4 into 3 (CEO, 2026-09-21). v0.2 reserved 4 for callable positions specifically. Simpler wins: callability, path-dependency and timing-judgement all land a strategy in the same place operationally — most should NOT act — and a level with no members is cognitive load with no payoff. The callability distinction survives where it actually matters: stated first in the body of every strategy it applies to.

2.3 There is no leverage flag — and the one thing that depends on that

Section titled “2.3 There is no leverage flag — and the one thing that depends on that”

v0.2 and v0.3 carried a separate leverage: yes|no field. The CEO dropped it on 2026-09-21, on the simplification principle: across all 25 strategies it was perfectly collinear with risk-level — no at every level ≤ 1, yes at every level ≥ 2 — so it predicted nothing the sort key did not already say.

The consequence, written down so it cannot break silently. SDC/Risks/JOB_DESCRIPTION.md’s core constraint used to key on leverage: yes. It now keys on risk-level >= 2, which is equivalent under §2.2’s assignment rule: any strategy that increases net market exposure is level 2 at minimum.

The residual risk was a named test, and v0.5 ran it. It came back positive — the gap is real.

The named candidate was the RRSP Gross-up. It is now in the library as rrsp-gross-up-loan and it landed at level 1, below the filter.

Why not level 2Level 2’s own test has three clauses, and the third fails: “outcome depends on returns exceeding an after-tax borrowing cost over a long horizon.” The borrowing cost here is a few weeks’ interest on a fraction of the contribution, extinguished by a refund the contribution itself creates. There is no long-horizon hurdle rate to clear.
Why level 1The correct counterfactual is Talbot’s own gross-up refund — strategy 3 of the five refund strategies in Dispelling the Myths of Borrowing to Invest — which reaches the identical end state with no loan at all, by reducing tax withheld at source. Measured against that, the loan adds zero net market exposure; it re-arranges the timing of the holder’s own cash. That is level 1’s test verbatim: re-arranged structurally, downside bounded and identifiable in advance.
The counterfactual mattersAgainst the spend-the-refund baseline the strategy plainly adds exposure. But the source treats spending the refund as the worst of the five options, not the neutral one — and market-drop-wins-library-v2’s Harmful list names it outright. A tier assigned against a baseline the library itself calls harmful is a tier assigned against the wrong thing.

The consequence, and it is a live compliance defect. SDC/Risks/JOB_DESCRIPTION.md’s constraint keys on risk-level >= 2. It does not catch rrsp-gross-up-loan, a strategy whose mechanism is borrow money and put it in the market. A second escape exists by a different route: non-callable-first is also level 1 and is entirely about leverage — it governs leverage rather than taking it, so no clause of level 2 applies, yet nothing about leverage should reach a client unreviewed.

Proposed fix — Risks first, then CEO, per the charter. The filter becomes risk-level >= 2 OR the strategy’s mechanism involves borrowing. Whether that second criterion is a restored leverage field or a derived test is the CEO’s call; this schema does not restore the field unilaterally. Until that decision lands, the two strategies named above are flagged here and must be routed to Risks by hand.

What has not changed is the distinction the flag was supposed to encode, which now lives in the definition of net market exposure itself: a classic Debt Swap borrows, but sells nothing and buys nothing — total debt and total assets unchanged, only deductibility changes. That is why debt-swap and cash-damming sit at level 1 rather than 2. A loan being involved has never been what raises the level; new market exposure is.

2.4 Mapping to Rule 1 — the mapping the product enforces

Section titled “2.4 Mapping to Rule 1 — the mapping the product enforces”
risk-levelRule 1 rowPermitted intervention
-1Negative risk — everyone should ACTForced choice permitted — the 2.6% → 26.9% mechanism belongs here
0Negative risk — everyone should ACTForced choice permitted
1Little risk — everyone should considerDecision prompt, framed neutrally
2Modest / high — most should consider, most should not actObjective education only. No forced choice, no default-setting, no coercive framing
3Modest / high — some should consider, most should not actObjective education only, with the callability or path-dependency risk stated first

Wording, set by the CEO 2026-09-22. The rows now separate considering a strategy from acting on it — a distinction the original three-row phrasing could not carry, and the reason most of level 2 and 3 is still worth teaching even though most readers should not act. ACT is capitalised only at -1 and 0, the two levels where the product is permitted to push for action; everywhere else “not act” is lower case, deliberately, because it is a statement rather than an instruction.

Still outstanding: this table is the one the IP charter routes through Risks (Risk-Challenger) before it is final. The CEO has set the wording; the compliance review of it has not run, and is queued in SDC/IP/Projects/Strategies-Library/ROADMAP.md → Waiting on Talbot.

Sources: SDC/Risks/JOB_DESCRIPTION.md, Strategic-Plan Rule 1, Core/Processes/Behavioural-Solutions.md.

Not settled here: sdc-behavioural-solutions-debt has not run, so these ceilings default to the conservative reading SDC/Risks/JOB_DESCRIPTION.md instructs. Any future change to the scale must carry this table across row by row — the v0.1 → v0.2 → v0.3 changes each did.

Every strategy states why it sits at its level, in one line, in the Risk justification field. A level asserted rather than justified is a schema violation. The same applies to benefit.


3. The properties, by how much thought they take

Section titled “3. The properties, by how much thought they take”

There are 23 properties, two of them optional (§8). Only seven require judgement. The rest are mechanical, derived, or maintained by tooling — which is the honest answer to “is this schema too complicated?”: the count is not the cognitive load.

3.1 Judgement — the seven you actually decide

Section titled “3.1 Judgement — the seven you actually decide”
PropertyWhat it asks
titleThe name you are giving this strategy (§1.1).
risk-levelWhich test in §2.2 it passes. Needs a Risk justification line.
domaindebt or not-debt.
worth-ityes, not-worth-it, or harmful (§4).
audienceWho it is for. Multi-valued.
effortHow much work to implement (§3.4).
benefitHow much it is worth. Needs a Benefit justification line.

3.2 Classification — mechanical once the judgement calls are made

Section titled “3.2 Classification — mechanical once the judgement calls are made”

code · group · rank · group-rank · jurisdiction · time-horizon · availability · decline-type — see §5 and §8. strategy-lint enforces uniqueness on the three numbering fields, so none of them has to be remembered.

availability and decline-type are the two optional ones, restored in v0.5. Both are read off the strategy’s own mechanism rather than decided: does this exist because a decline happened, or would it exist anyway, and which decline types does it fail in. Neither is a judgement call in the sense §3.1 means.

3.3 Description — the strategy’s shape

Section titled “3.3 Description — the strategy’s shape”

complexity — how much the holder must understand and maintain to implement it correctly.

It is the only survivor of this group. capital-required, liquidity-impact and reversibility were cut on 2026-09-21: populated and accurate, but no product behaviour keyed off any of them and none was load-bearing for a view that exists. complexity stays because it is the input the effort rubric derives from (§3.4) — and with capital-required gone it is now the only input, so that rubric needs re-stating before it can run.

3.4 Effort and benefit — why they carry no numbers

Section titled “3.4 Effort and benefit — why they carry no numbers”

effort is ordinal — minimal (under an hour, one action) · low (a few hours, self-serve) · moderate (a day, or one professional engagement) · high (ongoing, or a professional throughout).

No hours, deliberately. MDW-review (2026-09-14) measured a comparable strategy set’s own time estimates at 2.0× to 4.2× optimistic, bottom-up. A “Worth It” ranking is benefit ÷ effort; two guessed inputs produce one confident wrong output. Ordinal buckets degrade gracefully; a wrong number does not.

3.5 Trust and bookkeeping — largely automatic

Section titled “3.5 Trust and bookkeeping — largely automatic”

type · evidence-status · status · stale_after · version · last-reviewed · app-url (optional).

evidence-status answers a different question from every other field, and it is what makes the second T in F.A.S.T.T. operable rather than claimed:

FieldThe question it answers
titleWhat do we call this? (ours — §1.1)
risk-levelHow risky is it for the holder?
evidence-statusHas the mechanism been verified, and by what?
statusIs this document finished?
stale_afterIs it still current?

Owning a strategy’s name does not verify its mechanism. evidence-status separates the three strategies modelled and cross-checked in sd-math from the two published as honest unverified stubs, and it is what a reader uses to decide how much weight to put on a claim. It survives the confidence cull because confidence restated risk-level, and this restates nothing.

Independent support: OKF v0.2 arrived at the same need from a completely different direction, adding sources, generated, verified, status and stale_after to answer where did this come from, how much should you trust it, is it still current? Two designs converging on the same axis is evidence it is real.


yes · not-worth-it · harmful.

harmful strategies are actions that look like prudence and function as permanent loss — the library’s highest-trust content and its designated free lead magnet. not-worth-it strategies carry real benefit that the effort exceeds. Both are published rather than omitted: showing what was examined and rejected is what proves the rest was curated rather than padded.

The ranking of yes strategies by benefit-per-effort is derived at display time and never stored. A stored score is a third copy of information already in two fields, stale the moment either changes.

Advisor-practice strategies are not in this library. Help for an advisor growing their business is an offering, not client IP — SDC/Offerings/Advisors/Strategies/.


A short stable reference (DS-2, IL-1) is what internal documents and crowded chart axes want. It works because it is not the identity:

An id that encodes meaningcode as specified
Encodes risk levelstale when a level is re-assessedno
Encodes rankstale on every reorderno
Encodes audienceimpossible — multi-valuedno
Encodes groupsingle-valued, rarely changesyes, once
If the group later changesthe identifier is wronggrandfathered — never changes

Exactly how a Chart of Accounts works: numbers assigned in blocks by category, never renumbered when the business reorganizes. The number is a permanent handle; the name carries the meaning.

Format: two-letter group prefix, hyphen, next unused sequence in that prefix. Assigned once, never reused, never reassigned. Uniqueness enforced by strategy-lint.

rank is global and unique library-wide. group-rank is unique within its group. Two fields because a suite’s teaching order — simplest case first, building to the general one — is usually not the global order restricted to that suite. One number cannot say both.

Both are assigned in multiples of 10, so inserting a strategy between two others costs one number instead of a renumber.


---
title: <Strategy name>
type: strategy
code: <GG-n>
domain: debt | not-debt
worth-it: yes | not-worth-it | harmful
risk-level: -1 | 0 | 1 | 2 | 3
group: <suite>
rank: <int, multiple of 10>
group-rank: <int, multiple of 10>
audience: [consumer, investor, business-owner, hnw, retiree, equity-comp]
jurisdiction: Canada | US | neutral
availability: always | amplified-by-decline | drop-dependent # optional; omitted means `always`
decline-type: [A, B, C, D] # optional; only meaningful when availability is not `always`
complexity: low | moderate | high
effort: minimal | low | moderate | high
benefit: low | moderate | high | very-high
time-horizon: immediate | short | medium | long
evidence-status: implemented-and-verified | documented | design-note | external-sourced | unverified
status: draft | stable | deprecated
stale_after: YYYY-MM-DD
app-url: <sd-app route> # omit when no tool exists
version: "0.5"
last-reviewed: YYYY-MM-DD
---
# <Strategy name>
**Objective** — one sentence: what the holder is trying to achieve.
**Risk level** — `<n> — <name>`.
**Risk justification** — one line, stating the test from §2.2 that puts it here.
**Benefit justification** — one line, stating what the `benefit` value rests on.
**Jurisdiction** — and what is unverified outside it.
**Decline type** — required whenever `availability` is not `always`. Names the decline types the strategy works in **and the ones it fails in**.
## Prerequisites
## Mechanism
## Benefits
## Risks
## Failure modes
## Costs
## Tax considerations
## Who it may suit
## Who should avoid it
## Implementation outline
## Evidence status
## Counterarguments
## Variants
## Related strategies
## Sources
## Open questions

Jurisdiction is a required field, not a footnote. Never present a Canadian strategy as applicable to a U.S. client: U.S. applicability is unverified until sdc-risks-us-compliance-research runs.

Who should avoid it is not optional and is not a disclaimer. For every level-2-and-above strategy it carries the most weight, because most should NOT act is the honest output for most readers.

decline-type is a permanent caveat, not a footnote. “Fails in an inflationary decline” must travel with the strategy wherever it is read, which is why it has a line in the header block rather than a sentence buried in ## Risks. Marketing “market drops help borrowers” without the qualifier would have been actively wrong in 2022, and any system that does not handle 2022 explicitly will be tested against it by the first sceptical advisor. Source: market-drop-wins-master-log-v2 §2.8.

Version / last-reviewed. Any substantive change bumps version; any review, changed or not, updates last-reviewed. Read the file’s own history before bumping — a stale header version is a claim, not a source.


7. What was removed, and why it can come back

Section titled “7. What was removed, and why it can come back”

Adding a property later is cheap; carrying an unused one is not. Every unused field is cognitive friction for every reader, which is the opposite of F.A.S.T.T.

Two came back in v0.5, exactly as this section predicted. availability and decline-type were dropped in v0.3 because 24 of 25 strategies were always. The Market Drop Wins fold-in is the batch that makes them load-bearing — roughly 30 of its strategies exist only because a decline occurred, and a library that cannot say so cannot hold them. They return as optional fields (§8), so the 25 records written before v0.5 stay valid untouched: an omitted availability means always.

DroppedWhyWhen it returns
mechanism-familyIts one real job is completeness auditing — only three mechanisms produce certainty in a decline, and all three are swept is checkable only if every strategy declares its mechanism. Nothing in the current library needs that claim.With the not-debt half of the fold-in, where the completeness argument is what makes the “Can’t Lose” set defensible.
businessAlways SDC, and derivable from the file’s own path.Never, unless a second business publishes strategies.
leverage (v0.4)Perfectly collinear with risk-level across all 25 strategies, so it predicted nothing the sort key did not.The condition has now been met. §2.3’s named test ran in v0.5 and came back positive: rrsp-gross-up-loan borrows to invest and sits at level 1. The compliance filter needs a second criterion. Whether that is this field restored or a derived test is a CEO decision routed through Risks, and v0.5 does not pre-empt it.
capital-required, liquidity-impact, reversibility (v0.4)Populated and accurate, but no product behaviour keyed off any of them and no view used them. complexity survives because the effort rubric derives from it.When a UI exists that actually filters on them.

Dropped earlier and staying dropped: id (the filename slug is the identity), confidence and confidence-outcome (restate risk-level), record-class (worth-it says it semantically), short-name, description (the body’s **Objective** line serves it).

Still out of scope: community pull requests, contributor reputation, maintainers, red teams, bug bounties, outcome data feeding back into confidence, and any tamper-evident provenance layer.


8. Property vocabulary — the machine-readable SSOT

Section titled “8. Property vocabulary — the machine-readable SSOT”

This block is the single source of truth for every property’s allowed values. strategy-lint parses it out of this file, so there is no second copy in code to drift. Adding a value or a group means editing here and nowhere else.

required:
- title
- type
- code
- domain
- worth-it
- risk-level
- group
- rank
- group-rank
- audience
- jurisdiction
- complexity
- effort
- benefit
- time-horizon
- evidence-status
- status
- version
- last-reviewed
vocabulary:
type: [strategy]
domain: [debt, not-debt]
worth-it: ["yes", not-worth-it, harmful]
risk-level: ["-1", "0", "1", "2", "3"]
jurisdiction: [Canada, US, neutral]
availability: [always, amplified-by-decline, drop-dependent]
complexity: [low, moderate, high]
effort: [minimal, low, moderate, high]
benefit: [low, moderate, high, very-high]
time-horizon: [immediate, short, medium, long]
evidence-status: [implemented-and-verified, documented, design-note, external-sourced, unverified]
status: [draft, stable, deprecated]
list_vocabulary:
audience: [consumer, investor, business-owner, hnw, retiree, equity-comp]
decline-type: [A, B, C, D]
groups:
better-rates: BR
deduction: DD
debt-swap: DS
investment-loan: IL
leverage-structure: LS
repayment: RP
estate: ES
corporate: CO
buy-more-low: BM
mortgage: MG
loss-harvesting: LH
registered-accounts: RA
market-timing: MT

RA was populated by the v0.5 debt fold-in (hbp-llp-early-repayment). MT (market-timing) was added 2026-09-24 on the CEO’s suggestion for rules that change stock exposure based on market conditions, starting with valuation-trend-rule. More are expected to follow. MG and LH stay declared-but-unused until the not-debt half lands — LH is where the loss-harvesting suite goes.

availability and decline-type are deliberately absent from required. They returned in v0.5 (§7) and an omitted availability means always — the value 24 of the original 25 carried. Making them required would have invalidated every record written before v0.5 for no gain, since the default is the common case. decline-type is meaningful only when availability is not always; where it applies, §6 requires it in the header block as well, because a decline-type caveat is permanent and must travel with the strategy.

Decline types: A deflationary (2008–09, 2020, 1987) · B inflationary (2022) · C valuation unwind (2000–02) · D liquidity shock (Mar 2020, Oct 1987). Defined in market-drop-wins-master-log-v2 §2.8, which is the source. Any borrower strategy depending on falling rates is A/D only — that qualifier is why the field exists.

worth-it’s "yes" is quoted on purpose. YAML 1.1 parses a bare yes as a boolean, so an unquoted entry would make the validator compare the string "yes" against True and reject every strategy in the library. Any future boolean-looking value (no, on, off, y, n, true, false) needs quoting for the same reason.

Evidence-status values:

ValueMeaning
implemented-and-verifiedModelled in sd-math, tests green, cross-checked against the LevPro VB6 source
documentedWritten up in a KB or repo document, not modelled in code
design-noteA repo strategy note exists; explicitly not implemented
external-sourcedSourced to a named external authority (CRA, CIRO, a published book or paper)
unverifiedNamed in an SDC document, mechanism not yet sourced — the file says so plainly

This library is a conformant OKF bundle. OKF is an Apache-2.0 format from Google Cloud for knowledge that humans and agents read without special tools — markdown with YAML frontmatter, and three rules:

  1. Every non-reserved .md has parseable YAML frontmatter.
  2. Every frontmatter has a non-empty type.
  3. Reserved filenames (index.md, log.md) follow the defined structure when present.

What v0.3 changed to actually meet them: the index moved from Library.md to index.md, which is OKF-reserved and therefore conformant by construction; this file gained type: Reference; and type: strategy-record became type: strategy.

Adopted from OKF v0.2’s trust layer: status and stale_after. Both are trust signals, never validation errors — a deprecated status or an expired stale_after is information for the reader, not a reason to reject the file.

Deliberately not adopted: OKF’s permissive conformance model as a validation standard. It requires consumers to tolerate missing fields, unknown types and broken links; strategy-lint is far stricter and stays the gate. The value of OKF here is interoperability — an outside agent can read this library with no instructions — and that value is realised at publication.


SDC/IP/Strategies/<group>/<slug>.md. Folders are presentation, not meaning — a strategy’s group field is the source of truth and the validator checks the two agree. Nothing about a property changes because of where the file sits, and every tool recurses.

Why group is the folder axis and nothing else is. A folder can encode exactly one axis. domain and provenance (“came from Market Drop Wins”) are already properties you can filter on, and putting either in the path would duplicate a field — the SSOT problem again, in a form that is painful to undo. group is the one axis that is single-valued, stable, and matches how a reader actually browses.

Wikilinks are unaffected — Obsidian resolves slug by filename regardless of folder.

Each group folder carries its own generated index.md, listing that suite in teaching order. That is OKF progressive disclosure (§9): an agent reads the one suite it needs instead of the whole library.

The root index.md, every group index.md, and library-view.html are generated and then chmod 444. On WSL that also sets the Windows read-only attribute, so Obsidian refuses to save over them — verified 2026-09-21. A banner asks; the file attribute refuses. Edit a strategy and regenerate.

~/utils/strategy-lint/strategy-lint lint # exit 1 on any error
~/utils/strategy-lint/strategy-lint index # regenerate index.md (root + per group)
~/utils/strategy-lint/strategy-lint artifact # regenerate library-view.html

Registered at Core/IT/Utils/Custom/strategy-lint.md. It reads §8 for its vocabulary and checks:

  1. Parseable frontmatter; every required field present.
  2. Every value in its declared vocabulary (unverified — needs Talbot always allowed).
  3. code unique library-wide and matching its group’s prefix.
  4. rank unique library-wide; group-rank unique within its group.
  5. Every bare wikilink resolves somewhere in the vault.
  6. A **Risk justification** line on every strategy; a **Benefit justification** line wherever benefit is set.
  7. The group subfolder a strategy sits in matches its group field.

A clean run says the structure is right. It says nothing about whether the content is true — that is what evidence-status and human review are for.


  • CIRO — Canadian Investment Regulatory Organization, the amalgamation of the MFDA and IIROC.
  • CRA — Canada Revenue Agency.
  • F.A.S.T.T. — SDC’s product-design standard: Focused, Adaptable, Simple, Tailored, Trustworthy. Defined in Core/Misc/Glossary.md.
  • IP — Intellectual Property.
  • ITA — Income Tax Act (Canada).
  • OKF — Open Knowledge Format, an Apache-2.0 markdown-plus-frontmatter convention from Google Cloud (canonical repo GoogleCloudPlatform/open-knowledge-format). §9.
  • Rule 1 — Strategic-Plan’s first hard rule: intervention strength is a function of risk.
  • SSOT — Single Source of Truth. One home, zero duplicates.
  • SDC/IP/Strategies/index.md — the index of every strategy, generated and read-only
  • SDC/IP/Strategies/library-view.html — the three-view browser, generated and read-only
  • SDC/IP/JOB_DESCRIPTION.md — the charter that owns this schema, and the Risks gate it inherited
  • Strategic-Plan — Phase 1b, and Rule 1 which §2.4 maps onto
  • SDC/Risks/JOB_DESCRIPTION.md — the constraint that now keys on risk-level >= 2 (§2.3)
  • sdc-behavioural-solutions-debt — the task that will settle §2.4’s intervention ceilings