{
  "schema": "apg.specifier-product-data.v1",
  "id": "RB-1200",
  "revision": "ROUNDBAR-BALCONY-SPEC-R6",
  "geometryRevision": "GUARDS-RANGE-R3",
  "asOf": "2026-10-25T23:55:11.745458+00:00",
  "releaseStatus": "CHECKED_DRAFT_FOR_TECHNICAL_REVIEW_NOT_FOR_CONSTRUCTION",
  "NBSReady": false,
  "NBSStatus": "APG-owned structured draft; gaps prevent submission/use readiness. No NBS approval, listing or Chorus integration.",
  "fields": [
    {
      "field": "manufacturer",
      "status": "supported",
      "value": "Architectural Products Group Ltd (published business identity);exact manufacturing entity/factory address to confirm.",
      "sources": [
        "../SOURCE-CATALOG.json"
      ],
      "owner": "APG guard family owner",
      "claimType": "published business identity only"
    },
    {
      "field": "technicalContact",
      "status": "missing",
      "value": null,
      "sources": [
        "No verified named technical contact in inspected variant sources"
      ],
      "owner": "APG business owner",
      "claimType": "product data"
    },
    {
      "field": "productCode",
      "status": "supported",
      "value": "RB-1200",
      "sources": [
        "SOURCE-TRACE.json"
      ],
      "owner": "APG guard family owner",
      "claimType": "product data"
    },
    {
      "field": "description",
      "status": "supported",
      "value": "Steel roundbar infill balcony development assembly:flat posts,drilled top/carrier rails,solid round spindles,INSIDE fascia strips and top wall ties at BOTH ends.",
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG guard family owner",
      "claimType": "product data"
    },
    {
      "field": "intendedUse",
      "status": "provisional",
      "value": "External straight balcony guarding development candidate;actual jurisdiction/use/occupancy/exposure and supporting structure must be confirmed.",
      "sources": [
        "evidence/GEOMETRY.json",
        "../OFFICIAL-SOURCE-RESEARCH.json#ENGLAND-K"
      ],
      "owner": "Project designer",
      "claimType": "design target"
    },
    {
      "field": "exclusions",
      "status": "supported",
      "value": "No freestanding, Juliet, stair, vehicle barrier, fall-arrest anchorage or verified load rating; no order/manufacture release.",
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG guard family owner",
      "claimType": "product data"
    },
    {
      "field": "jurisdiction",
      "status": "missing",
      "value": "No actual project jurisdiction selected. England guidance researched only; Wales/Scotland/NI and overseas need their own review.",
      "sources": [
        "../OFFICIAL-SOURCE-RESEARCH.json#ENGLAND-K"
      ],
      "owner": "Project designer",
      "claimType": "product data"
    },
    {
      "field": "classification",
      "status": "supported",
      "value": {
        "systemCode": "Ss_25_60_05_05",
        "label": "Balustrade and guarding systems",
        "tableVersion": "Systems v1.43 July 2026",
        "productCode": null
      },
      "sources": [
        "../OFFICIAL-SOURCE-RESEARCH.json#UNICLASS"
      ],
      "owner": "APG guard family owner",
      "claimType": "product data"
    },
    {
      "field": "dimensions",
      "status": "supported",
      "value": {
        "nominalOverallWidthMm": 1200,
        "datum": "Overall kit width including endplates",
        "topAboveProposedFloorMm": 1100,
        "carrierZmm": 50,
        "bottomInfillMm": 40,
        "fasciaRowsZmm": [
          -140,
          -320
        ],
        "lowerStripNormalRangeMm": [
          60,
          70
        ],
        "reportedMeshBoundsXYZmm": [
          1200.0174033029357,
          70.00870175146794,
          1460.0127417575063
        ],
        "boundsNote": "Reported approximate exported bounds are not fabrication tolerances or exact nominal datums."
      },
      "sources": [
        "evidence/BOM.json"
      ],
      "owner": "APG CAD owner",
      "claimType": "checked source geometry"
    },
    {
      "field": "sections",
      "status": "supported",
      "value": {
        "topRailMm": [
          60,
          10
        ],
        "flatPostsMm": [
          60,
          12
        ],
        "roundSpindlesDiameterMm": 20,
        "spindleCarrierMm": [
          60,
          10
        ],
        "insideFasciaStripHeightThicknessMm": [
          80,
          10
        ]
      },
      "sources": [
        "evidence/BOM.json"
      ],
      "owner": "APG CAD owner",
      "claimType": "checked source geometry"
    },
    {
      "field": "variants",
      "status": "supported",
      "value": "RB900/1200/1500/1800 are nominal overall widths including endplates. This record applies only toRB-1200;not a verified safe span.",
      "sources": [
        "SOURCE-TRACE.json"
      ],
      "owner": "APG guard family owner",
      "claimType": "product data"
    },
    {
      "field": "material",
      "status": "provisional",
      "value": "S275JR candidate; mill certificates required",
      "sources": [
        "evidence/BOM.json"
      ],
      "owner": "APG manufacturing owner",
      "claimType": "candidate steel;grade/form/certificates/weldability unverified"
    },
    {
      "field": "finishAndColour",
      "status": "missing",
      "value": "Project-specific steel corrosion protection/pretreatment/coating/thickness/colour/gloss/repair and exposure schedule remains unselected. Generic stainless wording in inherited family literature does not make RB stainless.",
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG manufacturing owner",
      "claimType": "product data"
    },
    {
      "field": "construction",
      "status": "supported",
      "value": "All joints welded; face welds across flat posts at INSIDE60mmface; round rods in drilled carriers with annular fillets. Weld envelopes not a qualified resistance approval. Solid20mm round spindles remain round through20.5mm drilled top/carrier holes. Source3mm-leg underside annular fillet envelopes and top annular gap fill/flush detail require WPS/resistance qualification. Flat post face welds use twin4mm-leg72mm balcony envelopes. No midrun rail splices.",
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG guard family owner",
      "claimType": "product data"
    },
    {
      "field": "interfaces",
      "status": "supported",
      "value": {
        "postsXmm": [
          100.0,
          600.0,
          1100.0
        ],
        "spindlesXmm": [
          197.6,
          299.2,
          400.79999999999995,
          502.4,
          697.6,
          799.2,
          900.8,
          1002.4
        ],
        "fasciaAnchorStationsXmm": [
          60,
          276,
          492,
          708,
          924,
          1140
        ],
        "fasciaRowsZmm": [
          -140,
          -320
        ],
        "topEndplate": {
          "blankMm": [
            120,
            60,
            12
          ],
          "holeDiameterProxyMm": 14,
          "holeYmm": 30,
          "holeZmm": [
            1000,
            1060
          ]
        },
        "support": "Internal fascia strips atZ-140/-320 plus BOTH top wall end ties",
        "cutBlanks": [
          {
            "part": "Top rail",
            "qty": 1,
            "blankMm": [
              1176,
              60,
              10
            ],
            "holesDiaMm": 20.5,
            "holesXmm": [
              197.6,
              299.2,
              400.79999999999995,
              502.4,
              697.6,
              799.2,
              900.8,
              1002.4
            ]
          },
          {
            "part": "INSIDE lower face strip",
            "qty": 1,
            "blankMm": [
              1176,
              80,
              10
            ],
            "holesXmm": [
              60,
              276,
              492,
              708,
              924,
              1140
            ],
            "holesDiaMm": 14,
            "centreZmm": -140
          },
          {
            "part": "INSIDE lower face strip",
            "qty": 1,
            "blankMm": [
              1176,
              80,
              10
            ],
            "holesXmm": [
              60,
              276,
              492,
              708,
              924,
              1140
            ],
            "holesDiaMm": 14,
            "centreZmm": -320
          },
          {
            "part": "Spindle carrier",
            "qty": 1,
            "blankMm": [
              488.0,
              60,
              10
            ],
            "startXmm": 106.0,
            "holesDiaMm": 20.5
          },
          {
            "part": "Spindle carrier",
            "qty": 1,
            "blankMm": [
              488.0,
              60,
              10
            ],
            "startXmm": 606.0,
            "holesDiaMm": 20.5
          },
          {
            "part": "60x12 flat post",
            "qty": 1,
            "blankMm": [
              1450,
              60,
              12
            ],
            "centreXmm": 100.0
          },
          {
            "part": "60x12 flat post",
            "qty": 1,
            "blankMm": [
              1450,
              60,
              12
            ],
            "centreXmm": 600.0
          },
          {
            "part": "60x12 flat post",
            "qty": 1,
            "blankMm": [
              1450,
              60,
              12
            ],
            "centreXmm": 1100.0
          },
          {
            "part": "Round infill",
            "qty": 8,
            "diameterMm": 20,
            "cutLengthMm": 1060,
            "centreXmm": [
              197.6,
              299.2,
              400.79999999999995,
              502.4,
              697.6,
              799.2,
              900.8,
              1002.4
            ],
            "weld": "3mm LEG annular underside fillet,20.5mm drilledhole; top annular gap fill/flush finish and qualified WPS required"
          },
          {
            "part": "Left top endplate",
            "qty": 1,
            "blankMm": [
              120,
              60,
              12
            ],
            "holesDiaMm": 14,
            "holesZmm": [
              1000,
              1060
            ],
            "holeYmm": 30
          },
          {
            "part": "Right top endplate",
            "qty": 1,
            "blankMm": [
              120,
              60,
              12
            ],
            "holesDiaMm": 14,
            "holesZmm": [
              1000,
              1060
            ],
            "holeYmm": 30
          }
        ]
      },
      "sources": [
        "evidence/BOM.json"
      ],
      "owner": "APG CAD owner",
      "claimType": "checked source geometry"
    },
    {
      "field": "nominalMass",
      "status": "supported",
      "value": {
        "netSourceModelMassKg": 70.78411930025644,
        "densityKgM3": 7800,
        "basis": "Sum of source component net volumes at nominal density;includes modelled weld envelopes. Actual site anchors/finish/packaging excluded;not measured packed mass."
      },
      "sources": [
        "evidence/BOM.json",
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG CAD owner",
      "claimType": "calculated prediction"
    },
    {
      "field": "performanceCriteria",
      "status": "missing",
      "value": "Adopt project occupancy, actions/combinations, point/infill/wind/vertical actions, serviceability and durability schedule; current numerical cases are analyst sensitivities.",
      "sources": [
        "evidence/CALCULATIONS.json",
        "evidence/CALCULATIONS.json"
      ],
      "owner": "Responsible engineer",
      "claimType": "product data"
    },
    {
      "field": "performanceEvidence",
      "status": "provisional",
      "value": {
        "analysis": "Linear elastic3D Euler Bernoulli sensitivities. No adopted code action combination/resistance schedule. No physical validation.",
        "baselineMode": "Gross sections and rigid welds",
        "baselineCases": [
          "normal_top_0.74Nmm",
          "normal_top_1.5Nmm",
          "vertical_1kN_at_300.0",
          "vertical_1kN_plus_memberweight_at_300.0",
          "vertical_1kN_at_600.0",
          "vertical_1kN_plus_memberweight_at_600.0",
          "vertical_1kN_at_900.0",
          "vertical_1kN_plus_memberweight_at_900.0",
          "infill_500N_x197.6",
          "infill_500N_x299.2",
          "infill_500N_x400.8",
          "infill_500N_x502.4",
          "infill_500N_x697.6",
          "infill_500N_x799.2",
          "infill_500N_x900.8",
          "infill_500N_x1002.4",
          "member_selfweight"
        ],
        "sensitivityMode": "Uniform-net-section and rotation-released infill bound",
        "meshRefinementStatus": "PASS under5percent",
        "limitations": [
          "Ideal rigid welded joints/supports; actual anchors, plate prying, weld resistance/qualifications and local bearing/tube shell effects unverified.",
          "Saint-Venant torsion only; no warping, buckling or fatigue proof. Gross/net normal stresses are not a regulatory approval.",
          "Selfweight covers beam members only; no automatic corrosion/temperature/wind certification."
        ],
        "fixingBasis": "Unfactored separate sensitivity cases; reactions at ideal restraints. Retain each correlated force/moment vector. Do not combine component maxima as a real load case.",
        "meaning": "Existing preliminary sensitivities and inherited numerical checks;no safe load,rated movement,physical result or independent approval."
      },
      "sources": [
        "evidence/CALCULATIONS.json",
        "evidence/FIXING-DEMANDS.json"
      ],
      "owner": "Responsible engineer",
      "claimType": "calculated prediction"
    },
    {
      "field": "geometryChecks",
      "status": "supported",
      "value": {
        "validSolids": 46,
        "volumeErrorMm3": 2.3283064365386963e-07,
        "collisions": [],
        "toolChecks": [
          {
            "name": "Fascia_0_60",
            "hits": []
          },
          {
            "name": "Fascia_0_276",
            "hits": []
          },
          {
            "name": "Fascia_0_492",
            "hits": []
          },
          {
            "name": "Fascia_0_708",
            "hits": []
          },
          {
            "name": "Fascia_0_924",
            "hits": []
          },
          {
            "name": "Fascia_0_1140",
            "hits": []
          },
          {
            "name": "Fascia_1_60",
            "hits": []
          },
          {
            "name": "Fascia_1_276",
            "hits": []
          },
          {
            "name": "Fascia_1_492",
            "hits": []
          },
          {
            "name": "Fascia_1_708",
            "hits": []
          },
          {
            "name": "Fascia_1_924",
            "hits": []
          },
          {
            "name": "Fascia_1_1140",
            "hits": []
          },
          {
            "name": "LeftTop_1000",
            "hits": []
          },
          {
            "name": "LeftTop_1060",
            "hits": []
          },
          {
            "name": "RightTop_1000",
            "hits": []
          },
          {
            "name": "RightTop_1060",
            "hits": []
          }
        ],
        "nominalGapMaximumMm": 88,
        "boundsXYZmm": [
          1200.0174033029357,
          70.00870175146794,
          1460.0127417575063
        ]
      },
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG CAD owner",
      "claimType": "inherited source geometry checks;not rerun in R6"
    },
    {
      "field": "testedResults",
      "status": "missing",
      "value": null,
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "Authorised test provider",
      "claimType": "tested result"
    },
    {
      "field": "independentVerification",
      "status": "missing",
      "value": null,
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "Competent independent checker",
      "claimType": "independently verified claim"
    },
    {
      "field": "tolerances",
      "status": "missing",
      "value": "No fabrication/installation/coating/fit tolerances accepted; model nominal dimensions only.",
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG manufacturing owner",
      "claimType": "product data"
    },
    {
      "field": "substrateAndFixings",
      "status": "missing",
      "value": "Two INSIDE fascia strip fixing rows plus BOTH handrail-height wall end ties. Actual substrate/geometry/edge distances/embedment/cure/torque and anchor selection unverified. Retain each correlated force AND moment vector by its real load case;do not assemble independent maxima into a fictional case.",
      "sources": [
        "evidence/GEOMETRY.json",
        "evidence/FIXING-DEMANDS.json"
      ],
      "owner": "Project engineer and anchor designer",
      "claimType": "product data"
    },
    {
      "field": "installation",
      "status": "provisional",
      "value": "Draft hold-point sequence supplied separately; competent installation method and temporary edge protection/lifting plan required.",
      "sources": [
        "evidence/GEOMETRY.json",
        "INSTALLATION-MAINTENANCE-DRAFT.txt"
      ],
      "owner": "APG installation owner",
      "claimType": "design target"
    },
    {
      "field": "maintenanceAndCleaning",
      "status": "provisional",
      "value": "Inspect welds, corrosion, coating damage and fixings; isolate unsafe guard after impact/movement. Cleaning chemistry, intervals and repair system depend on selected coating and exposure; no interval or chemical compatibility claimed.",
      "sources": [
        "INSTALLATION-MAINTENANCE-DRAFT.txt"
      ],
      "owner": "APG technical owner",
      "claimType": "design target"
    },
    {
      "field": "durabilityAndWarranty",
      "status": "missing",
      "value": "No verified service life, exposure category, warranty terms or exclusions supplied.",
      "sources": [
        "evidence/GEOMETRY.json"
      ],
      "owner": "APG business/manufacturing owner",
      "claimType": "product data"
    },
    {
      "field": "environmental",
      "status": "missing",
      "value": "No product-specific EPD, recycled-content percentage, embodied-carbon assessment or end-of-life route verified. Steel recovery potential is not a quantified product claim.",
      "sources": [
        "No evidence in inspected source pack"
      ],
      "owner": "APG sustainability owner",
      "claimType": "product data"
    },
    {
      "field": "CAD",
      "status": "supported",
      "value": {
        "format": "STEP",
        "revision": "GUARDS-RANGE-R3",
        "filename": "evidence/RB-1200.step",
        "sha256": "21d381ae773904323e8dbff538903961153a93b97234d67f41cdbb4b740cda71"
      },
      "sources": [
        "SOURCE-TRACE.json"
      ],
      "owner": "APG guard family owner",
      "claimType": "product data"
    },
    {
      "field": "drawings",
      "status": "missing",
      "value": "Nominal source STEP and cut-blank data supplied;no accepted production/installation drawing set or manufacturing tolerances.",
      "sources": [
        "evidence/BOM.json"
      ],
      "owner": "APG drawing owner",
      "claimType": "product data"
    },
    {
      "field": "BIM",
      "status": "missing",
      "value": "No native Revit/IFC object supplied or validated. STEP does not establish BIM delivery.",
      "sources": [
        "../SOURCE-CATALOG.json",
        "source pack inspection"
      ],
      "owner": "APG BIM owner",
      "claimType": "product data"
    },
    {
      "field": "literatureAndDownloads",
      "status": "provisional",
      "value": "R6local data/clause/method/CAD/source studies provided;public roundbar draft download publication not yet performed.",
      "sources": [
        "SOURCE-TRACE.json"
      ],
      "owner": "Existing website owner",
      "claimType": "product data"
    },
    {
      "field": "origin",
      "status": "missing",
      "value": "Manufacturing country not established for this kit; do not infer from site badge.",
      "sources": [
        "No matching origin evidence inspected"
      ],
      "owner": "APG manufacturing owner",
      "claimType": "product data"
    },
    {
      "field": "commercial",
      "status": "provisional",
      "value": "Finished assembly price,availability and lead time require APG confirmation.",
      "sources": [
        "SOURCE-TRACE.json"
      ],
      "owner": "APG pricing owner",
      "claimType": "product data"
    },
    {
      "field": "generalEnquiryRoute",
      "status": "supported",
      "value": "enquiries@architecturalproducts.uk;general enquiry route,named technical engineer remains unconfirmed.",
      "sources": [
        "../SOURCE-CATALOG.json"
      ],
      "owner": "APG business owner",
      "claimType": "published contact data"
    },
    {
      "field": "correlatedFixingVectors",
      "status": "supported",
      "value": {
        "cases": 17,
        "vectors": 238,
        "schedule": "evidence/FIXING-DEMANDS.json",
        "basis": "Unfactored separate sensitivity cases; reactions at ideal restraints. Retain each correlated force/moment vector. Do not combine component maxima as a real load case."
      },
      "sources": [
        "evidence/CALCULATIONS.json",
        "evidence/FIXING-DEMANDS.json"
      ],
      "owner": "Responsible engineer",
      "claimType": "calculated demand only"
    },
    {
      "field": "massAndHandlingReview",
      "status": "provisional",
      "value": {
        "reportedKg": 70.78411930025644,
        "reviewFlag": "Whole-unit handling/transport/finishing to be reviewed;not a lifting plan.",
        "designChanged": false
      },
      "sources": [
        "evidence/BOM.json",
        "../SOURCE-CATALOG.json"
      ],
      "owner": "APG manufacturing/handling owner",
      "claimType": "calculated mass / review flag"
    }
  ],
  "scope": "Exact steel roundbar balcony only;no flatbar/aluminium/Juliet capacity transfer."
}
