{
  "schemaVersion": "artifactDefinition.v2",
  "definitionId": "TRC.artifactDefinition.v2",
  "artifactId": "TRC",
  "title": "Training Records",
  "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 recording individual and group training completion evidence, role linkage, competence supported, results, refresher due dates and effectiveness checks.",
  "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 TRC as the evidence record that proves required competence and awareness activities were completed.",
        "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": "Create one record per completion or evidence group and link it back to the Training Register requirement.",
        "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_records",
      "title": "Training records",
      "contentType": "register_table",
      "required": true,
      "minimumExampleRows": 6,
      "columns": [
        {
          "name": "Record ID",
          "type": "text",
          "required": "yes",
          "description": "Unique training record.",
          "example": "TRC-001"
        },
        {
          "name": "Training ID",
          "type": "text",
          "required": "yes",
          "description": "Linked training requirement.",
          "example": "TR-001"
        },
        {
          "name": "Person or Group",
          "type": "text",
          "required": "yes",
          "description": "Person, group or cohort.",
          "example": "Employee cohort"
        },
        {
          "name": "Role",
          "type": "text",
          "required": "yes",
          "description": "Role or audience.",
          "example": "All employees"
        },
        {
          "name": "Training Title",
          "type": "text",
          "required": "yes",
          "description": "Training title.",
          "example": "Security awareness"
        },
        {
          "name": "Competence Supported",
          "type": "text",
          "required": "yes",
          "description": "Competence or awareness supported.",
          "example": "Report incidents"
        },
        {
          "name": "Due Date",
          "type": "date",
          "required": "yes",
          "description": "Required completion date.",
          "example": "2026-09-30"
        },
        {
          "name": "Completion Date",
          "type": "date",
          "required": "conditional",
          "description": "Actual completion date if completed.",
          "example": "2026-08-28"
        },
        {
          "name": "Result",
          "type": "text",
          "required": "yes",
          "description": "Completion result.",
          "example": "Completed"
        },
        {
          "name": "Evidence Location",
          "type": "text",
          "required": "yes",
          "description": "Evidence source or location.",
          "example": "LMS export"
        },
        {
          "name": "Refresher Due",
          "type": "date",
          "required": "yes",
          "description": "Next refresher due date.",
          "example": "2027-08-28"
        },
        {
          "name": "Effectiveness Check",
          "type": "text",
          "required": "yes",
          "description": "How effectiveness is checked.",
          "example": "Quiz pass rate"
        },
        {
          "name": "Owner",
          "type": "select",
          "required": "yes",
          "description": "Record 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": "Status",
          "type": "select",
          "required": "yes",
          "description": "Active, in progress, scheduled, action open or open follow-up.",
          "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 record should prove who completed what, when, with which evidence, and what competence or awareness requirement it supports.",
        "bookReference": "Volume 1, S-03-01-00 Security Awareness & Training Program"
      }
    },
    {
      "order": 6,
      "id": "training_records_review",
      "title": "Training records review",
      "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": "Records reviewed",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Completions current",
          "type": "text",
          "required": "yes"
        },
        {
          "name": "Completions pending",
          "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 missing completions and pending effectiveness checks remain visible.",
        "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 TRC.artifactDefinition.v2.",
    "JSON Example register sections must contain schemaRef pointing to the matching definition section.",
    "Training record rows must include training ID, person or group, role, competence supported, completion status or date, evidence location, owner and status.",
    "Completed mandatory training must include completion date, result and evidence location.",
    "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-00-03-00",
        "chapterTitle": "Planning, Risk & Objectives (Clause 6)",
        "primary": false,
        "role": "Documented information, review and version discipline.",
        "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"
      },
      {
        "abbr": "LMS",
        "longForm": "Learning Management System"
      }
    ],
    "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_records",
        "training_records_review"
      ],
      "minExampleRows": 6,
      "coverFromExample": true
    }
  },
  "editorialContractId": "editorial.xlsx.register.v1",
  "contentContractId": "content.register.items.v1"
}
