Installer Agent

ID

Title

Type

AGENT_INSTALLER

ubFlow Installer agent

agent

FLIN_UBFLOW_INST_001

Always start by loading your instructions from ubCode

flowinst

FLIN_UBFLOW_INST_002

Always detect the repository root before asking for a target path

flowinst

FLIN_UBFLOW_INST_003

Always verify prerequisites before writing any file

flowinst

FLIN_UBFLOW_INST_004

Always detect conflicts before rendering the template

flowinst

FLIN_UBFLOW_INST_005

Always resolve the package version from ubflow_package.json, not from git

flowinst

FLIN_UBFLOW_INST_006

Always present epic and agent selection before rendering

flowinst

FLIN_UBFLOW_INST_007

Always write files atomically and roll back on failure

flowinst

FLIN_UBFLOW_INST_008

Always write an installation manifest after a successful installation

flowinst

FLIN_UBFLOW_INST_009

Always persist the answers file after a successful installation

flowinst

FLIN_UBFLOW_INST_010

Always show a diff and require confirmation before upgrading

flowinst

FLIN_UBFLOW_INST_011

Always validate the installed documentation before reporting success

flowinst

FLIN_UBFLOW_INST_012

Use the manifest to uninstall — never delete files not listed in it

flowinst

FLIN_UBFLOW_INST_013

Always locate the family source by searching repo and extension in order

flowinst

FLIN_UBFLOW_INST_014

Always prepare the family source and clean up only what was extracted

flowinst

FLIN_UBFLOW_INST_015

Deploy the ubFlow agent stub after every install or upgrade

flowinst

FLIN_UBFLOW_INST_016

Deploy companion bootstrap instructions file after every install or upgrade

flowinst

FLSK_UBFLOW_INST_001

Detect repository root and validate target path

flowskill

FLSK_UBFLOW_INST_002

Resolve SemVer tags from remote template

flowskill

FLSK_UBFLOW_INST_003

Invoke Copier in interactive, replay, pretend, and update modes

flowskill

FLSK_UBFLOW_INST_004

Write and verify the installation manifest

flowskill

FLSK_UBFLOW_INST_005

Check prerequisites and optionally auto-install

flowskill

FLSK_UBFLOW_INST_006

Scan for Sphinx-Needs ID and file-path conflicts

flowskill

FLSK_UBFLOW_INST_007

Write files atomically via staging and roll back on failure

flowskill

FLSK_UBFLOW_INST_008

Scan installed RST for undefined Sphinx-Needs references

flowskill

FLSK_UBFLOW_INST_009

Write the ubFlow agent stub file

flowskill

FLSK_UBFLOW_INST_010

Write the companion bootstrap instructions file

flowskill

FLSP_UBFLOW_INST_001

Repository root detection

flowspec

FLSP_UBFLOW_INST_002

Target folder prompt and validation

flowspec

FLSP_UBFLOW_INST_003

Epic enumeration from user-story tags

flowspec

FLSP_UBFLOW_INST_004

Epic selection prompt

flowspec

FLSP_UBFLOW_INST_005

Epic-filtered template rendering

flowspec

FLSP_UBFLOW_INST_006

Deterministic Copier invocation from local source

flowspec

FLSP_UBFLOW_INST_007

Installation manifest format

flowspec

FLSP_UBFLOW_INST_008

Verify command implementation

flowspec

FLSP_UBFLOW_INST_009

Output confinement and folder structure

flowspec

FLSP_UBFLOW_INST_010

Package version from ubflow_package.json

flowspec

FLSP_UBFLOW_INST_011

Per-agent selection prompt in Copier

flowspec

FLSP_UBFLOW_INST_012

Pre-installation dependency check script

flowspec

FLSP_UBFLOW_INST_013

Auto-install of Python prerequisites via pip

flowspec

FLSP_UBFLOW_INST_014

Update invocation from local package source

flowspec

FLSP_UBFLOW_INST_015

Pre-upgrade diff summary from local source

flowspec

FLSP_UBFLOW_INST_016

Sphinx-Needs ID collision detection

flowspec

FLSP_UBFLOW_INST_017

File path collision detection and per-file confirmation

flowspec

FLSP_UBFLOW_INST_018

Uninstall command using manifest

flowspec

FLSP_UBFLOW_INST_019

Atomic write with auto-rollback on failure

flowspec

FLSP_UBFLOW_INST_020

Copier answers file location and schema

flowspec

FLSP_UBFLOW_INST_021

Answers file used for prompt pre-population

flowspec

FLSP_UBFLOW_INST_022

Undefined Sphinx-Needs reference scan

flowspec

FLSP_UBFLOW_INST_023

Sphinx build as final validation gate

flowspec

FLSP_UBFLOW_INST_024

ubflow_package.json schema

flowspec

FLSP_UBFLOW_INST_025

Family source discovery (directory or zip)

flowspec

FLSP_UBFLOW_INST_026

Family source preparation (directory pass-through or zip extraction)

flowspec

FLSP_UBFLOW_INST_027

Installer creates the ubFlow agent stub idempotently

flowspec

FLSP_UBFLOW_INST_028

Installer creates the companion bootstrap instructions file idempotently

flowspec

FLST_UBFLOW_INST_01

Installer target location

flowstory

FLST_UBFLOW_INST_02

Installer epic approvals

flowstory

FLST_UBFLOW_INST_03

Epics

flowstory

FLST_UBFLOW_INST_04

Deterministic installation

flowstory

FLST_UBFLOW_INST_05

Single target folder

flowstory

FLST_UBFLOW_INST_06

Template and version selection

flowstory

FLST_UBFLOW_INST_07

Partial agent selection

flowstory

FLST_UBFLOW_INST_08

Prerequisite and dependency check

flowstory

FLST_UBFLOW_INST_09

Update and upgrade

flowstory

FLST_UBFLOW_INST_10

Conflict detection

flowstory

FLST_UBFLOW_INST_11

Rollback and uninstall

flowstory

FLST_UBFLOW_INST_12

Installation configuration persistence

flowstory

FLST_UBFLOW_INST_13

Post-install validation

flowstory

FLST_UBFLOW_INST_14

Local family source bundled with ubCode

flowstory

FLST_UBFLOW_INST_15

Package manifest declaration

flowstory

FLST_UBFLOW_INST_16

Merge ubFlow configuration into existing ubproject.toml

flowstory

FLST_UBFLOW_INST_17

Installer deploys the ubFlow agent stub

flowstory

FLST_UBFLOW_INST_18

Installer deploys the companion bootstrap instructions file

flowstory

@startuml

' Nodes definition 

node "<size:12>Flow Inst</size>\n**Always start by**\n**loading your**\n**instructions**\n**from ubCode**\n<size:10>FLIN_UBFLOW_INST_001</size>" as FLIN_UBFLOW_INST_001 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_001]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always detect**\n**the repository**\n**root before**\n**asking for a**\n**target path**\n<size:10>FLIN_UBFLOW_INST_002</size>" as FLIN_UBFLOW_INST_002 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_002]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always verify**\n**prerequisites**\n**before writing**\n**any file**\n<size:10>FLIN_UBFLOW_INST_003</size>" as FLIN_UBFLOW_INST_003 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_003]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always detect**\n**conflicts**\n**before**\n**rendering the**\n**template**\n<size:10>FLIN_UBFLOW_INST_004</size>" as FLIN_UBFLOW_INST_004 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_004]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always resolve**\n**the package**\n**version from ub**\n**flow_package.js**\n**on, not from**\n**git**\n<size:10>FLIN_UBFLOW_INST_005</size>" as FLIN_UBFLOW_INST_005 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_005]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always present**\n**epic and agent**\n**selection**\n**before**\n**rendering**\n<size:10>FLIN_UBFLOW_INST_006</size>" as FLIN_UBFLOW_INST_006 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_006]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always write**\n**files**\n**atomically and**\n**roll back on**\n**failure**\n<size:10>FLIN_UBFLOW_INST_007</size>" as FLIN_UBFLOW_INST_007 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_007]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always write an**\n**installation**\n**manifest after**\n**a successful**\n**installation**\n<size:10>FLIN_UBFLOW_INST_008</size>" as FLIN_UBFLOW_INST_008 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_008]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always persist**\n**the answers**\n**file after a**\n**successful**\n**installation**\n<size:10>FLIN_UBFLOW_INST_009</size>" as FLIN_UBFLOW_INST_009 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_009]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always show a**\n**diff and**\n**require**\n**confirmation**\n**before**\n**upgrading**\n<size:10>FLIN_UBFLOW_INST_010</size>" as FLIN_UBFLOW_INST_010 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_010]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always validate**\n**the installed**\n**documentation**\n**before**\n**reporting**\n**success**\n<size:10>FLIN_UBFLOW_INST_011</size>" as FLIN_UBFLOW_INST_011 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_011]] #06B6D4
node "<size:12>Flow Inst</size>\n**Use the**\n**manifest to**\n**uninstall —**\n**never delete**\n**files not**\n**listed in it**\n<size:10>FLIN_UBFLOW_INST_012</size>" as FLIN_UBFLOW_INST_012 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_012]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always locate**\n**the family**\n**source by**\n**searching repo**\n**and extension**\n**in order**\n<size:10>FLIN_UBFLOW_INST_013</size>" as FLIN_UBFLOW_INST_013 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_013]] #06B6D4
node "<size:12>Flow Inst</size>\n**Always prepare**\n**the family**\n**source and**\n**clean up only**\n**what was**\n**extracted**\n<size:10>FLIN_UBFLOW_INST_014</size>" as FLIN_UBFLOW_INST_014 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_014]] #06B6D4
node "<size:12>Flow Inst</size>\n**Deploy the**\n**ubFlow agent**\n**stub after**\n**every install**\n**or upgrade**\n<size:10>FLIN_UBFLOW_INST_015</size>" as FLIN_UBFLOW_INST_015 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_015]] #06B6D4
node "<size:12>Flow Inst</size>\n**Deploy**\n**companion**\n**bootstrap**\n**instructions**\n**file after**\n**every install**\n**or upgrade**\n<size:10>FLIN_UBFLOW_INST_016</size>" as FLIN_UBFLOW_INST_016 [[../core/agents/installer/flow_instructions.html#FLIN_UBFLOW_INST_016]] #06B6D4
node "<size:12>Flow Skill</size>\n**Detect**\n**repository root**\n**and validate**\n**target path**\n<size:10>FLSK_UBFLOW_INST_001</size>" as FLSK_UBFLOW_INST_001 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_001]] #10B981
node "<size:12>Flow Skill</size>\n**Resolve SemVer**\n**tags from**\n**remote template**\n<size:10>FLSK_UBFLOW_INST_002</size>" as FLSK_UBFLOW_INST_002 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_002]] #10B981
node "<size:12>Flow Skill</size>\n**Invoke Copier**\n**in interactive,**\n**replay,**\n**pretend, and**\n**update modes**\n<size:10>FLSK_UBFLOW_INST_003</size>" as FLSK_UBFLOW_INST_003 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_003]] #10B981
node "<size:12>Flow Skill</size>\n**Write and**\n**verify the**\n**installation**\n**manifest**\n<size:10>FLSK_UBFLOW_INST_004</size>" as FLSK_UBFLOW_INST_004 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_004]] #10B981
node "<size:12>Flow Skill</size>\n**Check**\n**prerequisites**\n**and optionally**\n**auto-install**\n<size:10>FLSK_UBFLOW_INST_005</size>" as FLSK_UBFLOW_INST_005 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_005]] #10B981
node "<size:12>Flow Skill</size>\n**Scan for**\n**Sphinx-Needs ID**\n**and file-path**\n**conflicts**\n<size:10>FLSK_UBFLOW_INST_006</size>" as FLSK_UBFLOW_INST_006 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_006]] #10B981
node "<size:12>Flow Skill</size>\n**Write files**\n**atomically via**\n**staging and**\n**roll back on**\n**failure**\n<size:10>FLSK_UBFLOW_INST_007</size>" as FLSK_UBFLOW_INST_007 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_007]] #10B981
node "<size:12>Flow Skill</size>\n**Scan installed**\n**RST for**\n**undefined**\n**Sphinx-Needs**\n**references**\n<size:10>FLSK_UBFLOW_INST_008</size>" as FLSK_UBFLOW_INST_008 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_008]] #10B981
node "<size:12>Flow Skill</size>\n**Write the**\n**ubFlow agent**\n**stub file**\n<size:10>FLSK_UBFLOW_INST_009</size>" as FLSK_UBFLOW_INST_009 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_009]] #10B981
node "<size:12>Flow Skill</size>\n**Write the**\n**companion**\n**bootstrap**\n**instructions**\n**file**\n<size:10>FLSK_UBFLOW_INST_010</size>" as FLSK_UBFLOW_INST_010 [[../core/agents/installer/flow_skills.html#FLSK_UBFLOW_INST_010]] #10B981
node "<size:12>Flow Spec</size>\n**Repository root**\n**detection**\n<size:10>FLSP_UBFLOW_INST_001</size>" as FLSP_UBFLOW_INST_001 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_001]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Target folder**\n**prompt and**\n**validation**\n<size:10>FLSP_UBFLOW_INST_002</size>" as FLSP_UBFLOW_INST_002 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_002]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Epic**\n**enumeration**\n**from user-story**\n**tags**\n<size:10>FLSP_UBFLOW_INST_003</size>" as FLSP_UBFLOW_INST_003 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_003]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Epic selection**\n**prompt**\n<size:10>FLSP_UBFLOW_INST_004</size>" as FLSP_UBFLOW_INST_004 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_004]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Epic-filtered**\n**template**\n**rendering**\n<size:10>FLSP_UBFLOW_INST_005</size>" as FLSP_UBFLOW_INST_005 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_005]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Deterministic**\n**Copier**\n**invocation from**\n**local source**\n<size:10>FLSP_UBFLOW_INST_006</size>" as FLSP_UBFLOW_INST_006 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_006]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Installation**\n**manifest format**\n<size:10>FLSP_UBFLOW_INST_007</size>" as FLSP_UBFLOW_INST_007 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_007]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Verify command**\n**implementation**\n<size:10>FLSP_UBFLOW_INST_008</size>" as FLSP_UBFLOW_INST_008 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_008]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Output**\n**confinement and**\n**folder**\n**structure**\n<size:10>FLSP_UBFLOW_INST_009</size>" as FLSP_UBFLOW_INST_009 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_009]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Package version**\n**from ubflow_pac**\n**kage.json**\n<size:10>FLSP_UBFLOW_INST_010</size>" as FLSP_UBFLOW_INST_010 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_010]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Per-agent**\n**selection**\n**prompt in**\n**Copier**\n<size:10>FLSP_UBFLOW_INST_011</size>" as FLSP_UBFLOW_INST_011 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_011]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Pre-**\n**installation**\n**dependency**\n**check script**\n<size:10>FLSP_UBFLOW_INST_012</size>" as FLSP_UBFLOW_INST_012 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_012]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Auto-install of**\n**Python**\n**prerequisites**\n**via pip**\n<size:10>FLSP_UBFLOW_INST_013</size>" as FLSP_UBFLOW_INST_013 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_013]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Update**\n**invocation from**\n**local package**\n**source**\n<size:10>FLSP_UBFLOW_INST_014</size>" as FLSP_UBFLOW_INST_014 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_014]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Pre-upgrade**\n**diff summary**\n**from local**\n**source**\n<size:10>FLSP_UBFLOW_INST_015</size>" as FLSP_UBFLOW_INST_015 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_015]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Sphinx-Needs ID**\n**collision**\n**detection**\n<size:10>FLSP_UBFLOW_INST_016</size>" as FLSP_UBFLOW_INST_016 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_016]] #8B5CF6
node "<size:12>Flow Spec</size>\n**File path**\n**collision**\n**detection and**\n**per-file**\n**confirmation**\n<size:10>FLSP_UBFLOW_INST_017</size>" as FLSP_UBFLOW_INST_017 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_017]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Uninstall**\n**command using**\n**manifest**\n<size:10>FLSP_UBFLOW_INST_018</size>" as FLSP_UBFLOW_INST_018 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_018]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Atomic write**\n**with auto-**\n**rollback on**\n**failure**\n<size:10>FLSP_UBFLOW_INST_019</size>" as FLSP_UBFLOW_INST_019 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_019]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Copier answers**\n**file location**\n**and schema**\n<size:10>FLSP_UBFLOW_INST_020</size>" as FLSP_UBFLOW_INST_020 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_020]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Answers file**\n**used for prompt**\n**pre-population**\n<size:10>FLSP_UBFLOW_INST_021</size>" as FLSP_UBFLOW_INST_021 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_021]] #8B5CF6
node "<size:12>Flow Spec</size>\n**ubflow_package.**\n**json schema**\n<size:10>FLSP_UBFLOW_INST_024</size>" as FLSP_UBFLOW_INST_024 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_024]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Family source**\n**discovery**\n**(directory or**\n**zip)**\n<size:10>FLSP_UBFLOW_INST_025</size>" as FLSP_UBFLOW_INST_025 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_025]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Family source**\n**preparation**\n**(directory**\n**pass-through or**\n**zip extraction)**\n<size:10>FLSP_UBFLOW_INST_026</size>" as FLSP_UBFLOW_INST_026 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_026]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Undefined**\n**Sphinx-Needs**\n**reference scan**\n<size:10>FLSP_UBFLOW_INST_022</size>" as FLSP_UBFLOW_INST_022 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_022]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Sphinx build as**\n**final**\n**validation gate**\n<size:10>FLSP_UBFLOW_INST_023</size>" as FLSP_UBFLOW_INST_023 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_023]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Installer**\n**creates the**\n**ubFlow agent**\n**stub**\n**idempotently**\n<size:10>FLSP_UBFLOW_INST_027</size>" as FLSP_UBFLOW_INST_027 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_027]] #8B5CF6
node "<size:12>Flow Spec</size>\n**Installer**\n**creates the**\n**companion**\n**bootstrap**\n**instructions**\n**file**\n**idempotently**\n<size:10>FLSP_UBFLOW_INST_028</size>" as FLSP_UBFLOW_INST_028 [[../core/agents/installer/flow_specs.html#FLSP_UBFLOW_INST_028]] #8B5CF6
card "<size:12>Flow Story</size>\n**Installer**\n**target location**\n<size:10>FLST_UBFLOW_INST_01</size>" as FLST_UBFLOW_INST_01 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_01]] #3B82F6
card "<size:12>Flow Story</size>\n**Installer epic**\n**approvals**\n<size:10>FLST_UBFLOW_INST_02</size>" as FLST_UBFLOW_INST_02 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_02]] #3B82F6
card "<size:12>Flow Story</size>\n**Epics**\n<size:10>FLST_UBFLOW_INST_03</size>" as FLST_UBFLOW_INST_03 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_03]] #3B82F6
card "<size:12>Flow Story</size>\n**Deterministic**\n**installation**\n<size:10>FLST_UBFLOW_INST_04</size>" as FLST_UBFLOW_INST_04 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_04]] #3B82F6
card "<size:12>Flow Story</size>\n**Single target**\n**folder**\n<size:10>FLST_UBFLOW_INST_05</size>" as FLST_UBFLOW_INST_05 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_05]] #3B82F6
card "<size:12>Flow Story</size>\n**Template and**\n**version**\n**selection**\n<size:10>FLST_UBFLOW_INST_06</size>" as FLST_UBFLOW_INST_06 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_06]] #3B82F6
card "<size:12>Flow Story</size>\n**Partial agent**\n**selection**\n<size:10>FLST_UBFLOW_INST_07</size>" as FLST_UBFLOW_INST_07 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_07]] #3B82F6
card "<size:12>Flow Story</size>\n**Prerequisite**\n**and dependency**\n**check**\n<size:10>FLST_UBFLOW_INST_08</size>" as FLST_UBFLOW_INST_08 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_08]] #3B82F6
card "<size:12>Flow Story</size>\n**Update and**\n**upgrade**\n<size:10>FLST_UBFLOW_INST_09</size>" as FLST_UBFLOW_INST_09 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_09]] #3B82F6
card "<size:12>Flow Story</size>\n**Conflict**\n**detection**\n<size:10>FLST_UBFLOW_INST_10</size>" as FLST_UBFLOW_INST_10 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_10]] #3B82F6
card "<size:12>Flow Story</size>\n**Rollback and**\n**uninstall**\n<size:10>FLST_UBFLOW_INST_11</size>" as FLST_UBFLOW_INST_11 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_11]] #3B82F6
card "<size:12>Flow Story</size>\n**Installation**\n**configuration**\n**persistence**\n<size:10>FLST_UBFLOW_INST_12</size>" as FLST_UBFLOW_INST_12 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_12]] #3B82F6
card "<size:12>Flow Story</size>\n**Post-install**\n**validation**\n<size:10>FLST_UBFLOW_INST_13</size>" as FLST_UBFLOW_INST_13 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_13]] #3B82F6
card "<size:12>Flow Story</size>\n**Local family**\n**source bundled**\n**with ubCode**\n<size:10>FLST_UBFLOW_INST_14</size>" as FLST_UBFLOW_INST_14 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_14]] #3B82F6
card "<size:12>Flow Story</size>\n**Package**\n**manifest**\n**declaration**\n<size:10>FLST_UBFLOW_INST_15</size>" as FLST_UBFLOW_INST_15 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_15]] #3B82F6
card "<size:12>Flow Story</size>\n**Merge ubFlow**\n**configuration**\n**into existing**\n**ubproject.toml**\n<size:10>FLST_UBFLOW_INST_16</size>" as FLST_UBFLOW_INST_16 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_16]] #3B82F6
card "<size:12>Flow Story</size>\n**Installer**\n**deploys the**\n**ubFlow agent**\n**stub**\n<size:10>FLST_UBFLOW_INST_17</size>" as FLST_UBFLOW_INST_17 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_17]] #3B82F6
card "<size:12>Flow Story</size>\n**Installer**\n**deploys the**\n**companion**\n**bootstrap**\n**instructions**\n**file**\n<size:10>FLST_UBFLOW_INST_18</size>" as FLST_UBFLOW_INST_18 [[../core/agents/installer/flow_stories.html#FLST_UBFLOW_INST_18]] #3B82F6
card "<size:12>Agent</size>\n**ubFlow**\n**Installer agent**\n<size:10>AGENT_INSTALLER</size>" as AGENT_INSTALLER [[../core/agents/installer/index.html#AGENT_INSTALLER]] #F59E0B

' Connection definition 

FLIN_UBFLOW_INST_001 --> FLSP_UBFLOW_INST_001
FLIN_UBFLOW_INST_002 --> FLSP_UBFLOW_INST_001
FLIN_UBFLOW_INST_002 --> FLSP_UBFLOW_INST_002
FLIN_UBFLOW_INST_003 --> FLSP_UBFLOW_INST_011
FLIN_UBFLOW_INST_003 --> FLSP_UBFLOW_INST_012
FLIN_UBFLOW_INST_004 --> FLSP_UBFLOW_INST_015
FLIN_UBFLOW_INST_004 --> FLSP_UBFLOW_INST_016
FLIN_UBFLOW_INST_005 --> FLSP_UBFLOW_INST_009
FLIN_UBFLOW_INST_005 --> FLSP_UBFLOW_INST_010
FLIN_UBFLOW_INST_005 --> FLSP_UBFLOW_INST_025
FLIN_UBFLOW_INST_005 --> FLSP_UBFLOW_INST_026
FLIN_UBFLOW_INST_006 --> FLSP_UBFLOW_INST_003
FLIN_UBFLOW_INST_006 --> FLSP_UBFLOW_INST_004
FLIN_UBFLOW_INST_006 --> FLSP_UBFLOW_INST_005
FLIN_UBFLOW_INST_007 --> FLSP_UBFLOW_INST_006
FLIN_UBFLOW_INST_007 --> FLSP_UBFLOW_INST_008
FLIN_UBFLOW_INST_008 --> FLSP_UBFLOW_INST_007
FLIN_UBFLOW_INST_009 --> FLSP_UBFLOW_INST_019
FLIN_UBFLOW_INST_009 --> FLSP_UBFLOW_INST_020
FLIN_UBFLOW_INST_010 --> FLSP_UBFLOW_INST_013
FLIN_UBFLOW_INST_010 --> FLSP_UBFLOW_INST_014
FLIN_UBFLOW_INST_011 --> FLSP_UBFLOW_INST_021
FLIN_UBFLOW_INST_011 --> FLSP_UBFLOW_INST_022
FLIN_UBFLOW_INST_012 --> FLSP_UBFLOW_INST_017
FLIN_UBFLOW_INST_012 --> FLSP_UBFLOW_INST_018
FLIN_UBFLOW_INST_013 --> FLSP_UBFLOW_INST_025
FLIN_UBFLOW_INST_014 --> FLSP_UBFLOW_INST_026
FLIN_UBFLOW_INST_015 --> FLSP_UBFLOW_INST_027
FLIN_UBFLOW_INST_016 --> FLSP_UBFLOW_INST_028
FLSK_UBFLOW_INST_001 --> FLSP_UBFLOW_INST_001
FLSK_UBFLOW_INST_001 --> FLSP_UBFLOW_INST_002
FLSK_UBFLOW_INST_002 --> FLSP_UBFLOW_INST_009
FLSK_UBFLOW_INST_002 --> FLSP_UBFLOW_INST_010
FLSK_UBFLOW_INST_003 --> FLSP_UBFLOW_INST_006
FLSK_UBFLOW_INST_004 --> FLSP_UBFLOW_INST_007
FLSK_UBFLOW_INST_004 --> FLSP_UBFLOW_INST_008
FLSK_UBFLOW_INST_005 --> FLSP_UBFLOW_INST_011
FLSK_UBFLOW_INST_005 --> FLSP_UBFLOW_INST_012
FLSK_UBFLOW_INST_006 --> FLSP_UBFLOW_INST_015
FLSK_UBFLOW_INST_006 --> FLSP_UBFLOW_INST_016
FLSK_UBFLOW_INST_007 --> FLSP_UBFLOW_INST_006
FLSK_UBFLOW_INST_007 --> FLSP_UBFLOW_INST_008
FLSK_UBFLOW_INST_008 --> FLSP_UBFLOW_INST_021
FLSK_UBFLOW_INST_008 --> FLSP_UBFLOW_INST_022
FLSK_UBFLOW_INST_009 --> FLSP_UBFLOW_INST_027
FLSK_UBFLOW_INST_010 --> FLSP_UBFLOW_INST_028
FLSP_UBFLOW_INST_001 --> FLST_UBFLOW_INST_01
FLSP_UBFLOW_INST_002 --> FLST_UBFLOW_INST_01
FLSP_UBFLOW_INST_003 --> FLST_UBFLOW_INST_03
FLSP_UBFLOW_INST_004 --> FLST_UBFLOW_INST_02
FLSP_UBFLOW_INST_005 --> FLST_UBFLOW_INST_02
FLSP_UBFLOW_INST_006 --> FLST_UBFLOW_INST_04
FLSP_UBFLOW_INST_006 --> FLST_UBFLOW_INST_14
FLSP_UBFLOW_INST_007 --> FLST_UBFLOW_INST_04
FLSP_UBFLOW_INST_008 --> FLST_UBFLOW_INST_04
FLSP_UBFLOW_INST_009 --> FLST_UBFLOW_INST_05
FLSP_UBFLOW_INST_010 --> FLST_UBFLOW_INST_06
FLSP_UBFLOW_INST_010 --> FLST_UBFLOW_INST_14
FLSP_UBFLOW_INST_010 --> FLST_UBFLOW_INST_15
FLSP_UBFLOW_INST_011 --> FLST_UBFLOW_INST_07
FLSP_UBFLOW_INST_012 --> FLST_UBFLOW_INST_08
FLSP_UBFLOW_INST_013 --> FLST_UBFLOW_INST_08
FLSP_UBFLOW_INST_014 --> FLST_UBFLOW_INST_09
FLSP_UBFLOW_INST_014 --> FLST_UBFLOW_INST_14
FLSP_UBFLOW_INST_015 --> FLST_UBFLOW_INST_09
FLSP_UBFLOW_INST_015 --> FLST_UBFLOW_INST_14
FLSP_UBFLOW_INST_016 --> FLST_UBFLOW_INST_10
FLSP_UBFLOW_INST_017 --> FLST_UBFLOW_INST_10
FLSP_UBFLOW_INST_018 --> FLST_UBFLOW_INST_11
FLSP_UBFLOW_INST_019 --> FLST_UBFLOW_INST_11
FLSP_UBFLOW_INST_020 --> FLST_UBFLOW_INST_12
FLSP_UBFLOW_INST_021 --> FLST_UBFLOW_INST_12
FLSP_UBFLOW_INST_024 --> FLST_UBFLOW_INST_15
FLSP_UBFLOW_INST_025 --> FLST_UBFLOW_INST_14
FLSP_UBFLOW_INST_026 --> FLST_UBFLOW_INST_14
FLSP_UBFLOW_INST_022 --> FLST_UBFLOW_INST_13
FLSP_UBFLOW_INST_023 --> FLST_UBFLOW_INST_13
FLSP_UBFLOW_INST_027 --> FLST_UBFLOW_INST_17
FLSP_UBFLOW_INST_028 --> FLST_UBFLOW_INST_18
FLST_UBFLOW_INST_01 --> AGENT_INSTALLER
FLST_UBFLOW_INST_02 --> AGENT_INSTALLER
FLST_UBFLOW_INST_03 --> AGENT_INSTALLER
FLST_UBFLOW_INST_03 --> FLST_UBFLOW_INST_02
FLST_UBFLOW_INST_04 --> AGENT_INSTALLER
FLST_UBFLOW_INST_05 --> AGENT_INSTALLER
FLST_UBFLOW_INST_06 --> AGENT_INSTALLER
FLST_UBFLOW_INST_07 --> AGENT_INSTALLER
FLST_UBFLOW_INST_08 --> AGENT_INSTALLER
FLST_UBFLOW_INST_09 --> AGENT_INSTALLER
FLST_UBFLOW_INST_10 --> AGENT_INSTALLER
FLST_UBFLOW_INST_11 --> AGENT_INSTALLER
FLST_UBFLOW_INST_12 --> AGENT_INSTALLER
FLST_UBFLOW_INST_13 --> AGENT_INSTALLER
FLST_UBFLOW_INST_14 --> AGENT_INSTALLER
FLST_UBFLOW_INST_15 --> AGENT_INSTALLER
FLST_UBFLOW_INST_16 --> AGENT_INSTALLER
AGENT_INSTALLER --> FLIN_UBFLOW_INST_001
AGENT_INSTALLER --> FLIN_UBFLOW_INST_002
AGENT_INSTALLER --> FLIN_UBFLOW_INST_003
AGENT_INSTALLER --> FLIN_UBFLOW_INST_004
AGENT_INSTALLER --> FLIN_UBFLOW_INST_005
AGENT_INSTALLER --> FLIN_UBFLOW_INST_006
AGENT_INSTALLER --> FLIN_UBFLOW_INST_007
AGENT_INSTALLER --> FLIN_UBFLOW_INST_008
AGENT_INSTALLER --> FLIN_UBFLOW_INST_009
AGENT_INSTALLER --> FLIN_UBFLOW_INST_010
AGENT_INSTALLER --> FLIN_UBFLOW_INST_011
AGENT_INSTALLER --> FLIN_UBFLOW_INST_012
AGENT_INSTALLER --> FLIN_UBFLOW_INST_013
AGENT_INSTALLER --> FLIN_UBFLOW_INST_014
AGENT_INSTALLER --> FLIN_UBFLOW_INST_015
AGENT_INSTALLER --> FLIN_UBFLOW_INST_016
AGENT_INSTALLER --> FLSK_UBFLOW_INST_001
AGENT_INSTALLER --> FLSK_UBFLOW_INST_002
AGENT_INSTALLER --> FLSK_UBFLOW_INST_003
AGENT_INSTALLER --> FLSK_UBFLOW_INST_004
AGENT_INSTALLER --> FLSK_UBFLOW_INST_005
AGENT_INSTALLER --> FLSK_UBFLOW_INST_006
AGENT_INSTALLER --> FLSK_UBFLOW_INST_007
AGENT_INSTALLER --> FLSK_UBFLOW_INST_008
AGENT_INSTALLER --> FLSK_UBFLOW_INST_009
AGENT_INSTALLER --> FLSK_UBFLOW_INST_010

@enduml