NOTICE: All information contained herein is, and remains
the property of TechnoCore Automate.
Updated : 2026-03-19
ObjBOP generates ISO 9001 compliant Business Operating
Procedure documents from Axion platform definitions. A BOP
combines multiple interconnected workflows, webhook endpoints,
service integrations, reports, decision trees, and feature
stores into a single auditable document.
ObjBOP
├── Data Collection
│ ├── def_bop → BOP definition + metadata
│ ├── def_bop_revision → Version history
│ ├── def_bop_datatables → Referenced data tables (Expanded flag)
│ ├── def_bop_raci → Responsibility matrix
│ ├── def_workflow → Workflow headers + BopDescription cache
│ ├── def_workflows → Workflow nodes/DAG
│ ├── def_webhook → Webhook endpoints
│ ├── def_service → Service integrations
│ └── def_report → Report definitions
│
├── Diagram Generation (ProcessPiper)
│ ├── ObjWorkflowVisual → Piper flow text with swim lanes
│ ├── processpiper.render → PNG rendering at 1600px width
│ └── ObjPalette → Theme matching (10 piper themes)
│
├── AI Content Generation (ObjAI / Ollama)
│ ├── Purpose & Scope (bop_purpose prompt)
│ ├── Workflow Expansion (bop_expand_description)
│ ├── Procedure Steps (bop_workflow_description) → cached
│ ├── Process Review (bop_ai_review)
│ ├── RACI Matrix (bop_generate_raci) → JSON
│ ├── Table Descriptions (bop_table_review)
│ ├── Report Descriptions (bop_report_review)
│ ├── Webhook Descriptions (bop_webhook_review)
│ └── Service Descriptions (bop_service_review)
│
├── WCAG Accessibility
│ ├── ObjPalette.pick_readable() for heading colours
│ ├── ObjPalette.wcag_ratio() contrast checking
│ └── Description text uses palette secondary colour
│
└── Output
├── HTML email → ObjTemplate.build_email_html()
│ ├── Package logo top-right (CID inline)
│ ├── TechnoCore agent logo in footer
│ └── Palette-themed headings, tables, text
├── Markdown → to_markdown()
└── PDF → (via reportpdf, future)
| # | Section | Icon | Source |
|---|---|---|---|
| - | Cover metadata | - | Package, version, status, date |
| - | Document Control | 📑 | BOP code, department, owner |
| 1 | Purpose and Scope | 📋 | AI-generated from workflows |
| 2 | Process Overview | 🗺 | Workflow/webhook/service listing |
| 3+ | Workflow Details | ⚙ | Piper diagram + node table + AI steps |
| - | Webhook Endpoints | 🌐 | def_webhook + AI descriptions |
| - | Service Integrations | ⚙ | def_service + AI descriptions |
| - | Reports & Dashboards | 📊 | def_report + AI for missing Notes |
| - | Decision Trees | 🌳 | Listing |
| - | Feature Stores | 📦 | Listing |
| - | Expanded Tables | 📃 | Full table content (Expanded='Y') |
| - | Data Tables | 🗄 | Summary with PKs + AI descriptions |
| - | RACI Matrix | 👥 | AI-generated from workflows + contacts |
| - | Final Review | ✅ | AI assessment + recommendations |
Main BOP definition. PK: (BopCode, Package).
Key fields: Title, Description, Version, Status,
Classification, Department, ProcessOwner, Workflows
(CSV), Webhooks (CSV), Services (CSV), Reports (CSV),
DecisionTrees (CSV), FeatureStores (CSV), Purpose,
Scope, AiSummary, AiReview, Module.
Version history. PK: Guid. Fields: BopCode, Package,
Version, Author, ChangeDescription, ApprovedBy, Status.
Data table registry. PK: (BopCode, Package, TableName).
Fields: TableType (data/config/bloom), PrimaryKeys,
AiReview, Description, DataOwner, Retention, Expanded
(Y/N — expanded tables render full content).
RACI matrix. PK: (BopCode, Package, Activity).
Fields: Responsible, Accountable, Consulted, Informed.
Cached AI-generated procedure steps (TEXT field).
Used by generate_ai_workflow_description() — first
call generates + saves, subsequent calls use cache.
Clear to NULL to force regeneration.
Override for processpiper colour theme (VARCHAR(32)).
Values: DEFAULT, GREYWOOF, BLUEMOUNTAIN, ORANGEPEEL,
GREENTURTLE, SUNFLOWER, PURPLERAIN, RUBYRED,
TEALWATERS, SEAFOAMS. If NULL, auto-matched from
palette primary colour via RGB Euclidean distance.
| Prompt | Max Words | Format |
|---|---|---|
| bop_summary_role | - | System role for all calls |
| bop_purpose | 150 | Markdown → HTML |
| bop_workflow_description | - | Markdown numbered list → HTML |
| bop_expand_description | 100 | Markdown → HTML |
| bop_ai_review | 250 | Markdown → HTML |
| bop_generate_raci | - | JSON object |
| bop_table_review | 25 | Plain text |
| bop_report_review | 25 | Plain text |
| bop_webhook_review | 25 | Plain text |
| bop_service_review | 25 | Plain text |
Reads directly from config.yaml smtp section:
mailer._Smtpserver = self.get_ini_value("smtp", "server", "")
mailer._Smtpport = self.get_ini_value("smtp", "port", "587")
mailer._Gmailuser = self.get_ini_value("smtp", "username", "")
mailer._Gmailpass = self.get_ini_value("smtp", "password", "")
mailer._Senderaddress = self.get_ini_value("smtp", "sender", "")
Workflow diagrams use processpiper with palette-matched themes:
ObjWorkflowVisual.visualise_piper() generates flow textObjPalette.get_piper_theme() matches palette → closest themelocal.documents/workflows/package.<pkg>/local.documents/bop/package.<pkg>/ for email CIDObjPalette.pick_readable(*candidates, min_ratio=4.5) scans
palette colours and picks the first with sufficient contrast
against white. Used for headings (accent), body text, and
description rows. Ensures all text passes WCAG AA (4.5:1).
python ObjBOP.py create BOP_LEADS "Lead Processing" \
--workflows "LEAD_INTAKE,LEAD_CLASSIFY" \
--webhooks "WH_LEAD_INBOUND" \
--department "Credit Operations"
python ObjBOP.py generate BOP_LEADS
python ObjBOP.py generate BOP_LEADS --no-ai
python ObjBOP.py send BOP_LEADS
python ObjBOP.py send BOP_LEADS --to "user@example.com"
python ObjBOP.py markdown BOP_LEADS -o output.md
python ObjBOP.py list
ObjData — database access, palette, configObjTemplate — HTML email layout, logo, CID imagesObjWorkflowVisual — Piper workflow diagramsObjPalette — WCAG contrast, piper theme matchingObjAI — AI-generated descriptions (Ollama)ObjWebMail — Email delivery via SMTPprocesspiper — BPMN swim lane diagram renderingshortuuid — Revision GUIDsObjWorkflow.py — Workflow orchestration engineObjDecisionSwitch.py — Decision tree evaluationObjTemplate.py — Email template and layout engineObjPalette.py — Colour palette managementObjChannel.py — Channel-based email deliveryUpdated : 2026-03-19