{
  "version": "2026-08-21",
  "subject": "The registry MVP pack, assessed as if built as specified",
  "caveat": "A self-assessment by the party being assessed, which is the weakest kind there is. It is published in that form on purpose: the ratings are arguable, every one carries the artefact it rests on, and a reader who disagrees with a rating has the evidence in front of them to say so.",
  "statuses": {
    "strong":  { "label": "Practised",      "note": "Visible in an artefact somebody can go and read." },
    "partial": { "label": "Partly",         "note": "The mechanism exists and the evidence behind it is thin, or it holds in one place and not another." },
    "weak":    { "label": "Not practised",  "note": "We do not do this, and in most cases we know why." },
    "na":      { "label": "No basis yet",   "note": "Requires an organisation. There is one agent and one project lead, so rating it would be theatre." }
  },
  "categories": {
    "communication": { "label": "Communication", "gist": "Can people talk about the same thing without arguing past each other?" },
    "development":   { "label": "Development",   "gist": "Do you build the right thing, for someone you actually know?" },
    "operations":    { "label": "Operations",    "gist": "Do you know what is happening, and cope when it breaks?" },
    "learning":      { "label": "Learning",      "gist": "Do you find things out, or repeat what you assumed?" },
    "leadership":    { "label": "Leadership",    "gist": "Does somebody decide, own it, and change their mind in public?" },
    "structure":     { "label": "Structure",     "gist": "Is the organisation shaped so that any of the above can happen?" }
  },
  "phases": {
    "1": { "label": "Stop self-destructive behaviour", "gist": "Basic hygiene. Know who you serve, agree what words mean, and stop arguing from assumption." },
    "2": { "label": "Become more context aware",       "gist": "Small, fast, restrained. Cope with failure, act rather than plan, push decisions down." },
    "3": { "label": "Better for less",                 "gist": "Standards, flow, ownership, humility. The doctrines that need somebody to answer for things." },
    "4": { "label": "Continuously evolve",             "gist": "Ecosystem, landscape, no permanent core, more than one culture. These need other people by definition." }
  },
  "doctrines": [
    { "id": "C1", "cat": "communication", "phase": 1, "name": "Use a common language",
      "what": "Everyone involved should be able to describe the same situation with the same words — maps are Wardley's own example of one.",
      "status": "strong",
      "us": "The pack is largely a vocabulary exercise, and its sharpest moments are definitional. <b>Grant</b>, <b>mandate</b> and <b>excess authority</b> are defined, and the definition of <em>grant</em> was corrected in public on the day draft-1 shipped. Six Wardley maps put the argument in a language other strategists already read.",
      "evidence": [ ["Appendix C — C1, the grant redefinition", "change-control.html"], ["09 — Wardley maps", "wardley-maps.html"] ] },
    { "id": "C2", "cat": "communication", "phase": 1, "name": "Be transparent",
      "what": "Bias towards openness. Publish the reasoning, not only the conclusion, and publish what you got wrong.",
      "status": "strong",
      "us": "Corrections are published <em>as corrections</em> rather than edited away — including a factual error of ours that was live for a day. The participant disclosure names the conflict of interest on every page. A third of the decisions register is openly marked unresolved.",
      "evidence": [ ["Where our approach loses", "../../about/participant.html"], ["Release history, v0.1.7", "../../admin/versions.html"] ] },
    { "id": "C3", "cat": "communication", "phase": 1, "name": "Challenge assumptions",
      "what": "Speak up, question, and expect to be questioned — including upwards.",
      "status": "strong",
      "us": "Appendix C is twenty-five entries of assumptions being overturned, several of them ours. <b>C19 declines a proposal from the project lead outright</b> and says why, rather than implementing it and hoping. The PR/FAQ then challenged the pack's own framing and found the honest claim narrower.",
      "evidence": [ ["Appendix C — C19", "change-control.html"], ["Appendix A — the PR/FAQ", "pr-faq.html"] ] },
    { "id": "C4", "cat": "communication", "phase": 2, "name": "Focus on high situational awareness",
      "what": "Understand what is being considered, and where it sits, before deciding about it.",
      "status": "partial",
      "us": "Six maps exist and the positions on them are <b>judgements with no measurement behind them</b>, which the document says in its own tensions. The grant library is the same: mostly <code>derived</code>, with one measured tree.",
      "evidence": [ ["09 — Wardley maps, honest tensions", "wardley-maps.html"], ["The library of trees", "../../assess/library.html"] ] },
    { "id": "C5", "cat": "communication", "phase": 3, "name": "Open by default",
      "what": "Default to publishing — the site, the sources, the working, the tooling.",
      "status": "strong",
      "us": "Every source document, every supporting brief and the reference implementation are public and CC BY 4.0, downloadable as one archive. The build scripts and the validator are in the same repository.",
      "evidence": [ ["The pack, downloadable", "registry-mvp-briefing-pack.zip"], ["The reference implementation", "../../assess/index.html"] ] },
    { "id": "C6", "cat": "communication", "phase": 4, "name": "Listen to your ecosystem",
      "what": "Use what others build on you as a sensing engine — the ecosystem tells you what to do next.",
      "status": "weak",
      "us": "<b>There is no ecosystem.</b> Nobody outside the project has built on this or, as far as we know, read it. Internal FAQ 11 names this as the one question the whole pack cannot answer, and the observability layer is the mechanism that would eventually sense it — unbuilt.",
      "evidence": [ ["Appendix A — internal FAQ 11", "pr-faq.html"], ["11 — Observability", "observability.html"] ] },

    { "id": "D1", "cat": "development", "phase": 1, "name": "Know your users",
      "what": "Know who they are, and know them as people rather than as a segment in a deck.",
      "status": "weak",
      "us": "<b>The sharpest gap in the whole assessment.</b> The only user is the project itself: the site agent that built this is a rented session that needed an identity and had none. Every workflow was written for that user. Internal FAQ 1 puts it plainly — either the strongest dogfooding story available or a market of one, and the PR/FAQ cannot tell which.",
      "evidence": [ ["Appendix A — internal FAQ 1", "pr-faq.html"], ["Decision 39: ask five operators", "change-control.html"] ] },
    { "id": "D2", "cat": "development", "phase": 1, "name": "Focus on user needs",
      "what": "Anchor everything on a need, not on a capability you happen to have.",
      "status": "partial",
      "us": "The design is anchored on one need and says so — <em>a third party who must answer</em> may this agent do this? <b>No user has confirmed that it is a need.</b> Anchoring correctly on an unverified need is half of this doctrine.",
      "evidence": [ ["09 — map W1, the verifier's question", "wardley-maps.html"], ["10 — the six users", "user-stories.html"] ] },
    { "id": "D3", "cat": "development", "phase": 1, "name": "Remove bias and duplication",
      "what": "One source of truth. Find the duplicated effort and the inherited assumption, and remove them.",
      "status": "partial",
      "us": "The pack deliberately keeps superseded text alongside its corrections, which is honest and <b>does produce two readings of the same schema</b>. REP-0001 exists precisely to be the single current source — so the duplication is named and has a fix, rather than being removed.",
      "evidence": [ ["Appendix B — REP-0001", "rep-0001.html"], ["02 — Schemas, superseded in place", "schemas.html"] ] },
    { "id": "D4", "cat": "development", "phase": 1, "name": "Use appropriate methods",
      "what": "Different stages of evolution need different methods. Do not run one process over everything.",
      "status": "strong",
      "us": "Every claim in the grant library carries an <b>evidence class</b> — derived, third-party, measured, tested — so the method is visible per row rather than averaged. The shipped primitives are inherited rather than rebuilt; the unbuilt parts are specified rather than assumed.",
      "evidence": [ ["12 — the three-tier control test", "grant-tree.html"], ["The library of trees", "../../assess/library.html"] ] },
    { "id": "D5", "cat": "development", "phase": 2, "name": "Think FIRE — fast, inexpensive, restrained, elegant",
      "what": "Build small, cheap and disposable at the uncertain end; industrialise at the other.",
      "status": "strong",
      "us": "The reference implementation is roughly twelve hundred lines with <b>no dependencies and no build step</b>, on a static site with no backend. It was rebuilt in a day when its first reader broke its model.",
      "evidence": [ ["14 — the user assessment, v2", "user-assessment.html"], ["The tool", "../../assess/index.html"] ] },
    { "id": "D6", "cat": "development", "phase": 2, "name": "Focus on outcomes, not contracts",
      "what": "Judge by what happens, not by what was specified and signed.",
      "status": "partial",
      "us": "Every phase's definition of done is an <b>outcome test on a fresh session</b>, not a deliverable list. But no phase has been run, so the tests are written and unexecuted.",
      "evidence": [ ["04 — the acceptance tests", "build-order.html"] ] },
    { "id": "D7", "cat": "development", "phase": 3, "name": "Be pragmatic",
      "what": "Do the thing that works. Elegance that costs a month is not pragmatism.",
      "status": "partial",
      "us": "Arguable in both directions, so it is rated as arguable. Hand-writing an SVG renderer rather than importing one <b>kept a claim the page makes about itself</b> — but it is still a hand-written renderer. And the pack is fifteen documents deep with no registry built.",
      "evidence": [ ["14 — why no charting library", "user-assessment.html"], ["Appendix C — C23", "change-control.html"] ] },
    { "id": "D8", "cat": "development", "phase": 4, "name": "Design for constant evolution",
      "what": "Assume every component moves. Build so the structure survives the movement.",
      "status": "partial",
      "us": "<em>Supersede, never rewrite</em> is exactly this doctrine as an editorial rule, and the change-control appendix is the mechanism. The design itself is less ready: the record model already has <b>a queued change that has not been applied</b>.",
      "evidence": [ ["Appendix C — C7, growth moves to the commit graph", "change-control.html"] ] },

    { "id": "O1", "cat": "operations", "phase": 1, "name": "Know the details",
      "what": "Get close enough to the thing to know how it actually behaves.",
      "status": "strong",
      "us": "The hosted container was <b>measured rather than described</b>: root inside, passwordless escalation, and an egress allowlist probed with two requests. The lane's limits are quoted from its reference, and the one CI failure that mattered was root-caused to a SIGPIPE race rather than retried.",
      "evidence": [ ["12 — the measured hosted tree", "grant-tree.html"], ["Release history, v0.1.6", "../../admin/versions.html"] ] },
    { "id": "O2", "cat": "operations", "phase": 2, "name": "Manage failure",
      "what": "Expect it, design for it, and remove blame from it.",
      "status": "strong",
      "us": "Failure modes are named in public rather than discovered later: the 2019 flood the whole design answers, the blind acknowledgement's deliberate indistinguishability, <b>a drain that fails silently</b>, and the local-folder origin that breaks the tool first in a downloadable bundle.",
      "evidence": [ ["11 — draining is an obligation that fails silently", "observability.html"], ["Why they don't exist", "../../failure/index.html"] ] },
    { "id": "O3", "cat": "operations", "phase": 2, "name": "Effectiveness over efficiency",
      "what": "Doing the right thing beats doing the wrong thing cheaply.",
      "status": "partial",
      "us": "The work is thorough and it is <b>not established that it is effective</b> — which is the same finding as D1 and internal FAQ 11 arriving from a different direction. Efficiency is good; effectiveness is unmeasured.",
      "evidence": [ ["Appendix A — internal FAQ 11", "pr-faq.html"] ] },
    { "id": "O4", "cat": "operations", "phase": 2, "name": "Use standards where appropriate",
      "what": "Do not reinvent what already has a settled form.",
      "status": "strong",
      "us": "RFC 2119 for the normative language, RFC 3339 for time, <b>PEP form for the specification and Working Backwards for the PR/FAQ</b>, CC BY 4.0 throughout, plus <code>llms.txt</code>, a sitemap and canonical links enforced in CI.",
      "evidence": [ ["Appendix B — REP-0001", "rep-0001.html"], ["Appendix A — the PR/FAQ", "pr-faq.html"] ] },
    { "id": "O5", "cat": "operations", "phase": 3, "name": "Optimise flow",
      "what": "Find where work queues and remove the constraint.",
      "status": "partial",
      "us": "The release path is automated end to end — validate, tag, publish, with a version check that fails the build rather than shipping a lie. <b>There is no flow of work through people to optimise</b>, which makes half of this doctrine unmeasurable here.",
      "evidence": [ ["Engineering & admin", "../../admin/index.html"] ] },
    { "id": "O6", "cat": "operations", "phase": 3, "name": "Do better with less",
      "what": "Continual improvement in the direction of less: less cost, less code, less ceremony.",
      "status": "strong",
      "us": "A static site with <b>no backend, no dependencies and no build step</b>. The privacy claim is a consequence of that rather than a policy on top of it — there is nothing to send data to.",
      "evidence": [ ["The tool", "../../assess/index.html"] ] },
    { "id": "O7", "cat": "operations", "phase": 3, "name": "Set exceptional standards",
      "what": "Define good, then hold it — including when nobody is checking.",
      "status": "strong",
      "us": "Every claim carries its evidence class and its date. Published documents are never silently edited. And the standard is enforced mechanically: a <b>key-leak tripwire</b> fails the build on a credential-shaped string anywhere in the tree, and every link and version badge is validated before anything publishes.",
      "evidence": [ ["Appendix C — the rule this page implements", "change-control.html"] ] },

    { "id": "L1", "cat": "learning", "phase": 1, "name": "A systematic mechanism of learning (bias towards data)",
      "what": "Decide from evidence, and have a repeatable way of getting it.",
      "status": "partial",
      "us": "The <b>mechanism</b> is real — an evidence class on every node, a re-run method published beside every tree, so anybody can check. The <b>data</b> is thin: one measured container, one third-party audit tool, and thirty-odd rows derived from architecture.",
      "evidence": [ ["The library of trees", "../../assess/library.html"], ["12 — provenance per node", "grant-tree.html"] ] },
    { "id": "L2", "cat": "learning", "phase": 2, "name": "A bias towards action",
      "what": "Try it. You learn more from doing than from another round of analysis.",
      "status": "strong",
      "us": "The assessment shipped, met its first reader, and was <b>rebuilt the same day</b> when that reader broke its model. Mermaid's Wardley support was verified by running the parser rather than by reading about it.",
      "evidence": [ ["Appendix C — C25", "change-control.html"], ["09 — the grammar that works", "wardley-maps.html"] ] },
    { "id": "L3", "cat": "learning", "phase": 3, "name": "Think aptitude and attitude",
      "what": "People differ in skill and in disposition, and both matter when you place them.",
      "status": "na",
      "us": "One agent and one project lead. Rating this would be theatre.",
      "evidence": [] },
    { "id": "L4", "cat": "learning", "phase": 3, "name": "A bias towards the new",
      "what": "Be curious. Take the risk of the unfamiliar rather than defaulting to what you know.",
      "status": "strong",
      "us": "Mermaid's <code>wardley-beta</code> was adopted for the maps — and its grammar established empirically, with the four constraints found the hard way written down for whoever draws the next one. PEP form and the PR/FAQ were both borrowed rather than invented.",
      "evidence": [ ["09 — Wardley maps", "wardley-maps.html"], ["Appendix B — REP-0001", "rep-0001.html"] ] },
    { "id": "L5", "cat": "learning", "phase": 4, "name": "Exploit the landscape",
      "what": "Use where things sit on the map to choose where to act — do not just draw it.",
      "status": "weak",
      "us": "Six maps describe a landscape and <b>no move has been made on the strength of one</b>. The maps say the two absences sit in Genesis at the top of the value chain; nothing in the build order changed as a result.",
      "evidence": [ ["09 — map W3", "wardley-maps.html"] ] },
    { "id": "L6", "cat": "learning", "phase": 4, "name": "There is no core — everything is transient",
      "what": "No component is permanent. Treat today's core as tomorrow's commodity.",
      "status": "partial",
      "us": "The pack states its own status as a design pack with one shipped consumer, and C23 records the uncomfortable version: <b>the first useful thing it produced needed none of the infrastructure the pack is about</b>. That is this doctrine arriving uninvited and being written down rather than argued with.",
      "evidence": [ ["Appendix C — C23", "change-control.html"] ] },

    { "id": "LD1", "cat": "leadership", "phase": 2, "name": "Move fast",
      "what": "An imperfect decision now usually beats a perfect one later.",
      "status": "strong",
      "us": "Nineteen releases in two days, each validated before publishing, each with its reasoning recorded. Corrections shipped within hours of being found.",
      "evidence": [ ["Release history", "../../admin/versions.html"] ] },
    { "id": "LD2", "cat": "leadership", "phase": 2, "name": "Strategy is iterative, not linear",
      "what": "Act, observe, adjust. A plan that survives contact unchanged was not testing anything.",
      "status": "strong",
      "us": "The change-control appendix <em>is</em> the artefact for this doctrine: twenty-five corrections, most of them arriving after the thing they correct had shipped.",
      "evidence": [ ["Appendix C — Change control", "change-control.html"] ] },
    { "id": "LD3", "cat": "leadership", "phase": 2, "name": "Manage inertia",
      "what": "Expect resistance to change, especially where past success came from.",
      "status": "partial",
      "us": "Inertia is <b>marked on the maps</b> — fixtures, and <em>verifiable by nobody</em> — with the reason it will resist: an interface that admits what it cannot check looks worse than one that does not. Marking it is not managing it, and none of it has been overcome.",
      "evidence": [ ["09 — inertia on W4 and W6", "wardley-maps.html"] ] },
    { "id": "LD4", "cat": "leadership", "phase": 3, "name": "Commit to the direction, adapt along the path",
      "what": "Be firm about where you are going and flexible about how you get there.",
      "status": "partial",
      "us": "The direction is committed and published — four rules, held to even when a fifth was proposed rather than renumbering them. <b>A third of the decisions register is still open</b>, several of them blocking phase 3 outright.",
      "evidence": [ ["The four rules", "../../rules/index.html"], ["The decisions register", "change-control.html"] ] },
    { "id": "LD5", "cat": "leadership", "phase": 3, "name": "Be the owner",
      "what": "Take responsibility. Somebody has to be answerable for the thing.",
      "status": "weak",
      "us": "<b>REP-0001's <code>Sponsor</code> field is empty, and that is not an oversight.</b> There is no champion and no accepting authority, so nothing can move past <code>Draft</code>. Every document here has exactly the standing of an agent saying so.",
      "evidence": [ ["Appendix B — the empty Sponsor field", "rep-0001.html"], ["Decision 38: who accepts a REP?", "change-control.html"] ] },
    { "id": "LD6", "cat": "leadership", "phase": 3, "name": "Inspire others",
      "what": "Give people a reason to follow, beyond the org chart.",
      "status": "weak",
      "us": "There are no others. The briefing pack is written to be picked up by somebody, which is a preparation for this doctrine rather than an instance of it.",
      "evidence": [ ["The briefing pack", "registry-mvp-briefing-pack.zip"] ] },
    { "id": "LD7", "cat": "leadership", "phase": 3, "name": "Embrace uncertainty",
      "what": "Say what you do not know. Certainty about the unknown is the expensive failure.",
      "status": "strong",
      "us": "Every document ends in <em>open questions</em> and <em>honest tensions</em>. The tool treats <b>“not sure” as a first-class answer</b> that keeps the branch and marks it. The press release's customer-quote slot is published empty with the reason in it.",
      "evidence": [ ["Appendix A — the empty customer quote", "pr-faq.html"], ["The tool", "../../assess/index.html"] ] },
    { "id": "LD8", "cat": "leadership", "phase": 3, "name": "Be humble",
      "what": "Listen, admit error, and do it in public.",
      "status": "strong",
      "us": "A factual error of ours was live for a day and is <b>recorded on the page rather than quietly edited</b>. When the tool's first reader broke it, the finding published was <em>the model was wrong, not the button</em>. The briefing pack requires a section titled <em>where I think the pack is wrong</em>.",
      "evidence": [ ["Release history, v0.1.7", "../../admin/versions.html"], ["Appendix C — C25", "change-control.html"] ] },

    { "id": "S1", "cat": "structure", "phase": 2, "name": "Think small teams",
      "what": "Nothing larger than can be fed by two pizzas, with clear interfaces between.",
      "status": "na",
      "us": "One agent and one project lead. There is no team to size.",
      "evidence": [] },
    { "id": "S2", "cat": "structure", "phase": 2, "name": "Distribute power and decision making",
      "what": "Push decisions to where the information is.",
      "status": "weak",
      "us": "<b>Every open decision routes to one person</b>, and the register proves it — the <em>made by</em> column has one name in it. That is efficient at this size and it is the opposite of this doctrine, so it is rated as the opposite.",
      "evidence": [ ["The decisions register", "change-control.html"], ["Comms", "../../admin/comms.html"] ] },
    { "id": "S3", "cat": "structure", "phase": 3, "name": "Seek the best",
      "what": "Hire and keep people better than you at the thing.",
      "status": "na",
      "us": "No hiring, no team.",
      "evidence": [] },
    { "id": "S4", "cat": "structure", "phase": 3, "name": "Provide purpose, mastery and autonomy",
      "what": "The three things that actually motivate people doing difficult work.",
      "status": "na",
      "us": "No people to provide it to.",
      "evidence": [] },
    { "id": "S5", "cat": "structure", "phase": 4, "name": "There is no single culture — pioneers, settlers, town planners",
      "what": "Different stages of evolution need different kinds of people, and one culture cannot serve all three.",
      "status": "na",
      "us": "Requires an organisation. Worth noting for whoever builds one: this pack is <b>pioneer output</b> — exploratory, documentation-heavy, unbuilt — and handing it to a settler is exactly what the briefing pack is for.",
      "evidence": [ ["The briefing pack", "registry-mvp-briefing-pack.zip"] ] }
  ]
}
