Atlas Forms
Generated Artefacts
The AI generator produces two files: a SQL data file containing the form INSERT, and a readme.txt that describes the form's purpose and lists any screenshots or assets that need to be placed manually. Together these two files are everything needed to deploy the new form.
Artefact 1 — SQL Data File
The primary output. Contains a guarded INSERT into dbo.Atlas_Forms with the full form schema as JSON:
-- Generated file: Atlas_Forms_13008_GuardRail_IpAllowlist_Edit.data.sql
SET IDENTITY_INSERT [dbo].[Atlas_Forms] ON;
IF NOT EXISTS (SELECT 1 FROM [dbo].[Atlas_Forms] WHERE [FormID] = 13008)
BEGIN
INSERT INTO [dbo].[Atlas_Forms]
([FormID], [FormCode], [FormCategoryID], [FormTypeID],
[PrimaryUsage], [NodeUsage], [TenantID], [IsActive], [SchemaJson])
VALUES
(
13008,
'GuardRail_IpAllowlist_Edit',
130,
2,
'guardrails',
'guardrail-ip-allowlist',
NULL,
1,
N'{
"metadata": {
"formId": 13008,
"title": "Edit IP Allowlist Rule"
},
"sections": [
{ "id": "details", "title": "IP Allowlist Details", "order": 1 },
{ "id": "settings", "title": "IP Allowlist Settings", "order": 2, "collapsible": true }
],
"controls": [
{
"id": "ruleName", "type": "text", "sectionId": "details", "order": 1,
"label": "Rule Name",
"binding": { "source": "$json", "path": "ruleName" },
"validation": { "required": true, "maxLength": 100 }
},
{
"id": "ipRange", "type": "text", "sectionId": "details", "order": 2,
"label": "IP Range",
"placeholder": "e.g. 192.168.1.0/24",
"binding": { "source": "$json", "path": "ipRange" },
"validation": { "required": true, "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}\\/[0-9]{1,2}$",
"patternMessage": "Must be valid CIDR notation" }
},
{
"id": "action", "type": "select", "sectionId": "settings", "order": 1,
"label": "Action",
"options": [
{ "value": "Allow", "label": "Allow" },
{ "value": "Block", "label": "Block" }
],
"binding": { "source": "$json", "path": "action" },
"validation": { "required": true }
},
{
"id": "expiryDate", "type": "date-picker", "sectionId": "settings", "order": 2,
"label": "Expiry Date",
"binding": { "source": "$json", "path": "expiryDate" }
},
{
"id": "notes", "type": "textarea", "sectionId": "settings", "order": 3,
"label": "Notes",
"binding": { "source": "$json", "path": "notes" }
}
],
"actions": [
{ "id": "save", "label": "Save", "type": "submit", "config": { "endpoint": "/api/guardrails/ip-allowlist/save", "method": "POST" } },
{ "id": "cancel", "label": "Cancel", "type": "navigate", "config": { "target": "GuardRail_List" } }
]
}'
);
END
SET IDENTITY_INSERT [dbo].[Atlas_Forms] OFF;
Artefact 2 — readme.txt
-- Generated file: Atlas_Forms_13008_readme.txt
FORM: GuardRail_IpAllowlist_Edit (FormID 13008)
GENERATED: 2026-05-25
GROUP: GuardRails (FormCategoryID 130)
PURPOSE: Property form for editing IP allowlist rules in GuardRail policies.
SCREENSHOTS REQUIRED:
Place the following screenshot files alongside this readme before adding to the deploy script:
- GuardRail_IpAllowlist_Edit_Overview.png (full form, edit mode)
- GuardRail_IpAllowlist_Edit_Validation.png (form with validation errors shown)
DEPLOYMENT:
Add to Deploy_GuardRails_Forms.sql:
:r .\Atlas_Forms_13008_GuardRail_IpAllowlist_Edit.data.sql
REVIEW CHECKLIST:
[ ] FormID 13008 is unique in the database
[ ] Binding paths match the API response schema
[ ] CIDR regex pattern verified against test data
[ ] Actions endpoint URLs confirmed with backend team
[ ] Screenshots placed and Deploy script updated
Where the Files Go
BizFirstFiV3DB/dbo/Data/AtlasForms/GuardRails/
...existing files...
Atlas_Forms_13008_GuardRail_IpAllowlist_Edit.data.sql ← new
Atlas_Forms_13008_readme.txt ← new
Add the New File to the Deploy Script
The AI generator creates the SQL file but does not modify
Deploy_GuardRails_Forms.sql. You must add the :r reference manually. The readme.txt reminds you of this with the exact line to add.