{
  "schemaVersion": "artifactDefinition.v2",
  "definitionId": "TR.artifactDefinition.v2",
  "artifactId": "TR",
  "title": "Training Register",
  "artifactType": "Register",
  "format": "xlsx",
  "productTier": "Premium",
  "definitionRole": "contract",
  "sourceModel": {
    "body": "canonical human-readable register maintained in the Artifact Candidate page",
    "jsonDefinition": "machine-readable contract and validation model",
    "jsonExample": "curated realistic example data fixture"
  },
  "purpose": "Define the required structure for tracking mandatory and role-specific training requirements, competence needs, assignments, due dates, completion, effectiveness checks and evidence.",
  "sections": [
    {
      "order": 1,
      "id": "title_page",
      "title": "Title Page",
      "contentType": "metadata",
      "required": true,
      "hint": null
    },
    {
      "order": 2,
      "id": "abstract",
      "title": "Abstract",
      "contentType": "narrative",
      "required": true,
      "hint": {
        "text": "Use TR to connect training requirements to roles, competence expectations and audit evidence.",
        "bookReference": "Volume 1, S-03-01-00 Security Awareness & Training Program"
      }
    },
    {
      "order": 3,
      "id": "document_control",
      "title": "Document Control",
      "contentType": "control_table",
      "required": true,
      "hint": null
    },
    {
      "order": 4,
      "id": "instructions",
      "title": "Instructions",
      "contentType": "ordered_list",
      "required": true,
      "hint": {
        "text": "Define training before tracking completions; TR is the training catalogue and assignment plan, while TRC holds individual completion records.",
        "bookReference": "Volume 1, S-03-01-00 Security Awareness & Training Program"
      },
      "intro": "Complete the Working sheets using the example tabs as a model. Follow the workbook usage rules below."
    },
    {
      "order": 5,
      "id": "training_register",
      "title": "Training register",
      "contentType": "register_table",
      "required": true,
      "minimumExampleRows": 6,
      "columns": [
        {
          "name": "Training ID",
          "type": "text",
          "required": "yes",
          "description": "Unique training requirement.",
          "example": "TR-001"
        },
        {
          "name": "Training Title",
          "type": "text",
          "required": "yes",
          "description": "Training title.",
          "example": "Security awareness"
        },
        {
          "name": "Role or Audience",
          "type": "text",
          "required": "yes",
          "description": "Target role or audience.",
          "example": "All employees"
        },
        {
          "name": "Competence Requirement",
          "type": "text",
          "required": "yes",
          "description": "Competence or awareness requirement.",
          "example": "Report incidents"
        },
        {
          "name": "Required",
          "type": "text",
          "required": "yes",
          "description": "Whether mandatory.",
          "example": "Yes"
        },
        {
          "name": "Frequency",
          "type": "text",
          "required": "yes",
          "description": "Required frequency.",
          "example": "Annual"
        },
        {
          "name": "Owner",
          "type": "select",
          "required": "yes",
          "description": "Training owner.",
          "example": "HR Manager",
          "valueSet": "domain.owner",
          "options": [
            "ISMS Manager",
            "Control Owner",
            "Risk Owner",
            "Process Owner",
            "Asset Owner",
            "IT Security",
            "HR",
            "Legal",
            "Executive Management",
            "Internal Audit"
          ],
          "validation": {
            "allowBlank": false,
            "errorTitle": "Invalid value",
            "error": "Select a value from the list."
          }
        },
        {
          "name": "Due Date",
          "type": "date",
          "required": "yes",
          "description": "Due date for current cycle.",
          "example": "2026-09-30"
        },
        {
          "name": "Completion Status",
          "type": "select",
          "required": "yes",
          "description": "Assigned, planned, in progress, completed or overdue.",
          "example": "In progress"
        },
        {
          "name": "Evidence Required",
          "type": "text",
          "required": "yes",
          "description": "Required completion evidence.",
          "example": "Completion report"
        },
        {
          "name": "Effectiveness Check",
          "type": "text",
          "required": "yes",
          "description": "How effectiveness is checked.",
          "example": "Quiz result"
        },
        {
          "name": "Evidence Reference",
          "type": "text",
          "required": "yes",
          "description": "Evidence record.",
          "example": "TRC-2026-Q3"
        },
        {
          "name": "Status",
          "type": "select",
          "required": "yes",
          "description": "Active, scheduled, action open or retired.",
          "example": "Active",
          "valueSet": "domain.status.generic",
          "options": [
            "Draft",
            "In Progress",
            "Under Review",
            "Approved",
            "Closed",
            "Deferred"
          ],
          "validation": {
            "allowBlank": false,
            "errorTitle": "Invalid value",
            "error": "Select a value from the list."
          }
        },
        {
          "name": "Notes",
          "type": "text",
          "required": "no",
          "description": "Additional context.",
          "example": "Contractor completions pending."
        }
      ],
      "hint": {
        "text": "Each training row should show who needs the training, why, by when, what evidence proves completion and how effectiveness is checked.",
        "bookReference": "Volume 1, S-03-01-00 Security Awareness & Training Program"
      }
    },
    {
      "order": 6,
      "id": "training_review_decision",
      "title": "Training review decision",
      "contentType": "decision_table",
      "required": true,
      "fields": [
        {
          "name": "Review result",
          "type": "select",
          "required": "yes",
          "valueSet": "domain.reviewResult",
          "options": [
            "Pass",
            "Pass with observations",
            "Fail",
            "Deferred"
          ],
          "validation": {
            "allowBlank": false,
            "errorTitle": "Invalid value",
            "error": "Select a value from the list."
          }
        },
        {
          "name": "Training items reviewed",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Mandatory trainings",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Items overdue",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Effectiveness checks pending",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Reviewed by",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Decision date",
          "type": "date",
          "required": "yes"
        },
        {
          "name": "Evidence reference",
          "type": "text",
          "required": "yes"
        }
      ],
      "hint": {
        "text": "Close with a review decision so overdue training and unverified effectiveness become visible before audit.",
        "bookReference": "Volume 1, S-03-01-00 Security Awareness & Training Program"
      }
    },
    {
      "order": 7,
      "id": "external_references",
      "title": "References",
      "contentType": "reference_table",
      "required": true
    }
  ],
  "validationRules": [
    "JSON Example must contain definitionRef pointing to TR.artifactDefinition.v2.",
    "JSON Example register sections must contain schemaRef pointing to the matching definition section.",
    "Training rows must include role or audience, competence requirement, required flag, owner, due date, evidence required and status.",
    "Body must render the contract schema and the example data.",
    "No standalone Book reference section and no generic Sample placeholders are allowed."
  ],
  "enrichment": {
    "source": "Contract.json",
    "method": "curated-json",
    "note": "Completes Contract JSON from MD-only schema/sections, removes duplicate alias sections, and normalizes string columns into structured column objects."
  },
  "editorialStandard": {
    "isoAnchors": [
      {
        "label": "ISO/IEC 27001:2022 7.2",
        "href": "https://www.iso.org/standard/82875.html",
        "role": "Normative source this artifact implements or cites."
      },
      {
        "label": "ISO/IEC 27001:2022 7.5",
        "href": "https://www.iso.org/standard/82875.html",
        "role": "Documented information: identify, review and cite this workbook by version."
      }
    ],
    "bookSources": [
      {
        "series": "ISO 27001 for Software Companies",
        "volume": 1,
        "volumeTitle": "Building the ISMS",
        "chapterId": "S-03-01-00",
        "chapterTitle": "Security Awareness & Training Program",
        "primary": true,
        "role": "Primary operating chapter for this companion artifact.",
        "href": "https://www.amazon.com/dp/9789908983448"
      },
      {
        "series": "ISO 27001 for Software Companies",
        "volume": 1,
        "volumeTitle": "Building the ISMS",
        "chapterId": "S-02-04-00",
        "chapterTitle": "Legal, Regulatory & Contractual Requirements",
        "primary": false,
        "role": "Primary operating chapter for this companion artifact.",
        "href": "https://www.amazon.com/dp/9789908983448"
      }
    ],
    "acronyms": [
      {
        "abbr": "ISMS",
        "longForm": "Information Security Management System"
      },
      {
        "abbr": "SaaS",
        "longForm": "Software as a Service"
      },
      {
        "abbr": "CIA",
        "longForm": "Confidentiality, Integrity, and Availability"
      },
      {
        "abbr": "CI/CD",
        "longForm": "Continuous Integration / Continuous Delivery"
      },
      {
        "abbr": "CI",
        "longForm": "Continuous Integration"
      },
      {
        "abbr": "CD",
        "longForm": "Continuous Delivery"
      },
      {
        "abbr": "HR",
        "longForm": "Human Resources"
      },
      {
        "abbr": "JSON",
        "longForm": "JavaScript Object Notation"
      }
    ],
    "must": [
      "Keep one live row per record on Working sheets. Do not merge several cases into one row.",
      "Example sheets must contain realistic Arcfield rows for every required sheet. Empty required cells are not an example."
    ],
    "mustNot": [
      "Do not invent live rows in the renderer. Example data lives in the Example JSON.",
      "Do not treat Ex example tabs as working sheets. Do not put live data on system sheets."
    ],
    "softwareCompanyAdaptations": [
      "Use Arcfield as the worked example (cover variant A).",
      "Name SaaS, CI/CD, privileged access or supplier interfaces in example rows where they affect this register."
    ],
    "exampleWorkbook": {
      "workedExampleOrg": "Arcfield",
      "requiredSheets": [
        "training_register",
        "training_review_decision"
      ],
      "minExampleRows": 6,
      "coverFromExample": true
    }
  },
  "editorialContractId": "editorial.xlsx.register.v1",
  "contentContractId": "content.register.items.v1"
}
