<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:dai="https://diagram.app/schema/dai/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" name="dai.studio website" targetNamespace="https://diagram.app/workflow">
  <bpmn:process id="Process_1" name="dai.studio website" isExecutable="false">
    <bpmn:extensionElements>
      <dai:workflowMeta description="Build a website for DAI Studio" defaultModel="gpt-4o" targetLanguage="" targetFramework="" version="1.0">
        <dai:taskTypeEntry stepType="dependency" description="An external library, package, service, API, or resource the project relies on. Documents the source, version, type, and license for dependency management and compliance." />
        <dai:taskTypeEntry stepType="rule" description="A constraint, policy, or business rule the AI must respect and enforce throughout the workflow. Scope, priority, and enforcement level determine how strictly it applies." />
        <dai:taskTypeEntry stepType="context" description="Background knowledge, grounding data, or reference material that informs downstream steps. Does not produce output itself — it shapes how the AI reasons." />
        <dai:taskTypeEntry stepType="test" description="A test case or verification condition — documents what is being tested, how to run it, and what constitutes a pass." />
        <dai:taskTypeEntry stepType="story" description="Here story represents blog content" />
      </dai:workflowMeta>
    </bpmn:extensionElements>
    <bpmn:subProcess id="Activity_1gwzpb3" name="System">
      <bpmn:task id="Activity_0e0zp4b" name="HTML" dai:stepType="dependency" dai:notes="Use plain HTML for the website and absolutely no SPA frameworks. " />
      <bpmn:task id="Activity_1uue8oe" name="Daisy UI" dai:stepType="dependency" dai:notes="Use DaisyUI with the dark and light themes set automatically based on OS settings. The css build process should remove all unused CSS from the final style .css file." />
      <bpmn:task id="Activity_107ezu9" name="Responsive" dai:stepType="rule" dai:notes="Support responsive design with the website. Make sure the website works great on mobile, desktop, and everything in-between." />
      <bpmn:task id="Activity_1nj69qa" name="Font" dai:stepType="dependency" dai:notes="Noto Sans is the primary font with valid system fallbacks" />
      <bpmn:task id="Activity_0wxue6p" name="Simple" dai:stepType="context" dai:notes="Keep the website simple, easy to understand, and usable. " />
      <bpmn:task id="Activity_18pc2f1" name="Lighthouse" dai:stepType="test" dai:notes="The site must score 100 across the Lighthouse test suite in every category including mobile and desktop" />
      <bpmn:task id="Activity_0f6f8lu" name="Domain" dai:stepType="context" dai:notes="This website will be hosted on https://dia.studio" />
      <bpmn:task id="Activity_090onk2" name="Footer" dai:stepType="context" dai:notes="Make the footer clean.&#10;&#10;© 2026 Lightly LLC" />
      <bpmn:task id="Activity_01fchk6" name="Images" dai:stepType="context" dai:notes="Use the images in the “public” folder" />
      <bpmn:task id="Activity_0cgjv50" name="AWS CDK" dai:stepType="dependency" dai:notes="Use AWS CDK in typescript to deploy this website. Use the infra folder for the deployment stack. Cloudfront + S3 should work great." />
      <bpmn:task id="Activity_nodejs01" name="Node.js scripts" dai:stepType="dependency" dai:notes="npm scripts for release management live in scripts/. Requires Node 18+ for native fetch support. No additional npm dependencies beyond what is already in package.json." />
      <bpmn:task id="Activity_releaseauto01" name="Release automation" dai:stepType="rule" dai:notes="Running `npm run download-release [tag]` must: fetch release metadata from GitHub API using GITHUB_TOKEN env var; download all assets except Source code archives into public/releases/; rename versionless assets (e.g. DAIStudio_aarch64.app.tar.gz) to include the semver (e.g. DAIStudio_0.2.17_aarch64.app.tar.gz); rewrite all URLs in latest.json to use https://dai.studio/public/releases/{filename}; update href and download attributes on all four platform download cards in index.html; update the version and release date metadata displayed in the download section of index.html. If no tag is passed the script resolves the latest published release automatically." />
    </bpmn:subProcess>
    <bpmn:subProcess id="Activity_18gh0om" name="Content">
      <bpmn:task id="Activity_124jfdf" name="DAI Studio" dai:stepType="story" dai:notes="DAI Studio&#10;A tool for Computer-Aided Context Engineering (CACE) that improves large language model (LLM) output.&#10;&#10;DAI Studio offers a visual platform to organize context for large language models (LLMs). By working with .dai files, you achieve more accurate and predictable results from LLMs. No matter your application, DAI helps structure and refine input context, leading to stronger LLM performance across different models." />
      <bpmn:task id="Activity_03akris" name="Standards" dai:stepType="story" dai:notes="DAI expands on the Business Process Model and Notation (BPMN) standard to support context engineering. Because LLMs are trained on internet data and understand markup languages, DAI leverages this familiarity to organize context and enhance output quality." />
      <bpmn:task id="Activity_1e6nvkh" name="Naming" dai:stepType="story" dai:notes="The name DAI draws its inspiration from the world of die manufacturing — the precision engineering discipline behind products like Lego bricks. In die manufacturing, a die is a specialized tool engineered to extremely tight tolerances, capable of producing identical, high-quality outputs at scale with exceptional consistency. This metaphor is central to what DAI Studio aims to achieve in the realm of AI: just as a physical die ensures that every Lego brick snaps together perfectly, DAI provides a structured mould for context — enabling users to shape LLM inputs with the same kind of precision and repeatability. The result is predictable, high-quality output from language models, regardless of the underlying model being used. The name reflects a core belief that better outputs begin not with the model itself, but with the discipline and craftsmanship applied to the context fed into it.&#10;&#10;In Japanese it often means &#34;big&#34; or &#34;great&#34; (大, dai). It is frequently used as a prefix, such as in daisuki (to really like/love)." />
      <bpmn:task id="Activity_1ht7k8t" name="Download" dai:stepType="story" dai:notes="Download DAI Studio for Mac, Windows, Linux. The download section appears directly after the &#39;What is DAI Studio?&#39; section. Four platform cards: macOS ARM DMG, Windows x64 MSI, Linux Debian/Ubuntu AMD64, Linux RPM x86_64. The section header displays the current version number and release date (e.g. &#39;Version 0.2.17 — Released 28 March 2026&#39;) in semibold text, updated automatically by the release automation script each time a new release is downloaded." />
      <bpmn:task id="Activity_ghrelease01" name="GitHub Releases" dai:stepType="dependency" dai:notes="Release assets are sourced from https://github.com/dai-studio/DAI-Studio. A GITHUB_TOKEN environment variable with Contents: read permission is required. The latest.json Tauri updater file is served from https://dai.studio/public/releases/latest.json. Versionless asset filenames (DAIStudio_aarch64.app.tar.gz and .sig) are renamed to include the semver on download to match the convention of all other release assets." />
      <bpmn:subProcess id="Activity_14d0qwh" name="Blog">
        <bpmn:task id="Activity_0mhwfyg" name="How DAI Started" dai:stepType="story" dai:notes="I have spent six years using BPMN as my primary diagramming toolset, creating hundreds of .bpmn files to describe engineering architectures and workflows. When I decided to test how well LLMs could interpret an uploaded diagram, the accuracy of their understanding genuinely surprised me. The structured format conveyed meaning far better than I expected. While plain .bpmn proved capable, extending the standard yielded even stronger results.&#10;&#10;This website was built from a single .dia file processed through OpenCode. I have not manually edited a single file outside of that .dia file, and the result is exactly what I wanted, nothing more.&#10;&#10;When you give LLMs precise, well-structured input, they produce remarkable output. I believe the quality of context matters as much as, if not more than, the model itself.&#10;&#10;Cheers, Ted" />
        <bpmn:task id="Activity_01vgyx4" name="Generating an authentication app with DAI Studio" dai:stepType="story" dai:notes="I build an authentication app (https://github.com/dai-studio/ex_auth) using DAI Studio and a single .dai file. The .dai file describes an environment, a system, and CICD. The entire build cost $0.81 and what is checked is the exact repo.&#10;&#10;Enjoy,&#10;Ted :)" persona="null" />
        <bpmn:task id="Activity_1tw4elm" name="DAI file generation" dai:stepType="story" dai:notes="What if you could generate .DAI files from any information source? &#10;&#10;The dai.studio/llms.txt file comtains the complete file specification and can we used to generate/edit .dai files. Here are some prompts to get started.&#10;&#10;DAI from a document&#10;&#34;Using https://dai.studio/llms.txt, build a .dai file using the attached document.&#34;&#10;&#10;DAI from codebase&#10;&#34;Using https://dai.studio/llms.txt, build a .dai file from this codebase.&#34;&#10;&#10;&#34;Using https://dai.studio/llms.txt, build a .dai file from this codebase.&#34;&#10;&#10;Here is an example .dai file generated from https://arxiv.org/html/2604.08477v1&#10;&#10;Download(https://dai.studio/blog/supernova.dai)&#10;&#10;[&#10;&#10;Enjoy,&#10;Ted :)" persona="null" />
      </bpmn:subProcess>
    </bpmn:subProcess>
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
      <bpmndi:BPMNShape id="Activity_1gwzpb3_di" bpmnElement="Activity_1gwzpb3" isExpanded="true">
        <dc:Bounds x="-400" y="-560" width="690" height="470" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0e0zp4b_di" bpmnElement="Activity_0e0zp4b">
        <dc:Bounds x="-370" y="-210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1uue8oe_di" bpmnElement="Activity_1uue8oe">
        <dc:Bounds x="-250" y="-210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_107ezu9_di" bpmnElement="Activity_107ezu9">
        <dc:Bounds x="-370" y="-310" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1nj69qa_di" bpmnElement="Activity_1nj69qa">
        <dc:Bounds x="-130" y="-210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0wxue6p_di" bpmnElement="Activity_0wxue6p">
        <dc:Bounds x="-370" y="-510" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_18pc2f1_di" bpmnElement="Activity_18pc2f1">
        <dc:Bounds x="-370" y="-410" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_1q1rtl2" bpmnElement="Activity_0f6f8lu">
        <dc:Bounds x="-250" y="-510" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_090onk2_di" bpmnElement="Activity_090onk2">
        <dc:Bounds x="-130" y="-510" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_1navecs" bpmnElement="Activity_01fchk6">
        <dc:Bounds x="-10" y="-510" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0cgjv50_di" bpmnElement="Activity_0cgjv50">
        <dc:Bounds x="-10" y="-210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_nodejs01_di" bpmnElement="Activity_nodejs01">
        <dc:Bounds x="110" y="-210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_releaseauto01_di" bpmnElement="Activity_releaseauto01">
        <dc:Bounds x="110" y="-310" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_18gh0om_di" bpmnElement="Activity_18gh0om" isExpanded="true">
        <dc:Bounds x="-400" y="-60" width="690" height="320" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_124jfdf_di" bpmnElement="Activity_124jfdf">
        <dc:Bounds x="-360" y="-10" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_03akris_di" bpmnElement="Activity_03akris">
        <dc:Bounds x="-240" y="-10" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1e6nvkh_di" bpmnElement="Activity_1e6nvkh">
        <dc:Bounds x="-120" y="-10" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1ht7k8t_di" bpmnElement="Activity_1ht7k8t">
        <dc:Bounds x="0" y="-10" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_ghrelease01_di" bpmnElement="Activity_ghrelease01">
        <dc:Bounds x="120" y="-10" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_14d0qwh_di" bpmnElement="Activity_14d0qwh" isExpanded="true">
        <dc:Bounds x="-360" y="100" width="610" height="130" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0mhwfyg_di" bpmnElement="Activity_0mhwfyg">
        <dc:Bounds x="-330" y="130" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_1uipoli" bpmnElement="Activity_01vgyx4">
        <dc:Bounds x="-210" y="130" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_1ji97jl" bpmnElement="Activity_1tw4elm">
        <dc:Bounds x="-90" y="130" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>
