@prefix cf: <https://solway.example/carry-forward#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# A deliberately small local RDF interpretation, not OWL inference or BFO
# conformance. The compiler validates record scope and drives the runtime's
# history, acceptance requirements, revision profiles and evidence coverage.
# Physical method semantics remain in the maintained ontology-derived WorkModel.
# All observations, acceptance rules and scope decisions below are supplied.

cf:history-1 a cf:Occurrence ; cf:id "H01" ; cf:order "1" ;
  cf:action "gantry-setup" ; rdfs:label "Shared gantry set up" .
cf:history-2 a cf:Occurrence ; cf:id "H02" ; cf:order "2" ;
  cf:action "gantry-install-a" ; rdfs:label "Unit A installation recorded" .
cf:history-3 a cf:Occurrence ; cf:id "H03" ; cf:order "3" ;
  cf:action "gantry-inspect-a" ; rdfs:label "Unit A successful inspection recorded" .
cf:history-4 a cf:Occurrence ; cf:id "H04" ; cf:order "4" ;
  cf:action "gantry-install-b" ; rdfs:label "Unit B installation recorded" .

cf:installed-a a cf:Requirement ; cf:id "installed-a" ; cf:fact "installed-a" ;
  cf:subject "A" ; cf:version "installation-v1" ; cf:kind "completion" ;
  cf:action "gantry-install-a" ; rdfs:label "Unit A is installed" .
cf:inspection-a a cf:Requirement ; cf:id "inspection-a" ; cf:fact "evidence-a" ;
  cf:subject "A" ; cf:version "inspection-v1" ; cf:kind "inspection" ;
  cf:action "gantry-inspect-a" ; rdfs:label "Unit A has its original inspection evidence" .
cf:seal-a a cf:Requirement ; cf:id "seal-a" ; cf:fact "seal-tested-a" ;
  cf:subject "A" ; cf:version "seal-v2" ; cf:kind "seal" ;
  cf:action "test-seal-a" ; rdfs:label "Unit A has the new seal-test evidence" .
cf:installed-b a cf:Requirement ; cf:id "installed-b" ; cf:fact "installed-b" ;
  cf:subject "B" ; cf:version "installation-v1" ; cf:kind "completion" ;
  cf:action "gantry-install-b" ; rdfs:label "Unit B is installed" .
cf:inspection-b a cf:Requirement ; cf:id "inspection-b" ; cf:fact "evidence-b" ;
  cf:subject "B" ; cf:version "inspection-v1" ; cf:kind "inspection" ;
  cf:action "gantry-inspect-b" ; rdfs:label "Unit B has inspection evidence" .
cf:position-a a cf:Requirement ; cf:id "position-a" ;
  cf:subject "A" ; cf:version "refinement-v2" ; cf:kind "coverage" ;
  cf:action "gantry-install-a" ; rdfs:label "The record covers the newly named positioning activity" .
cf:secure-a a cf:Requirement ; cf:id "secure-a" ;
  cf:subject "A" ; cf:version "refinement-v2" ; cf:kind "coverage" ;
  cf:action "gantry-install-a" ; rdfs:label "The record covers the newly named securing activity" .
cf:gantry-present a cf:Requirement ; cf:id "gantry-present" ; cf:fact "gantry-present" ;
  cf:subject "site" ; cf:version "access-v1" ; cf:kind "completion" ;
  cf:action "gantry-setup" ; rdfs:label "One shared gantry is present" .

cf:acceptance-a-v1 a cf:Criterion ; cf:id "acceptance-a-v1" ;
  cf:requires cf:installed-a, cf:inspection-a .
cf:acceptance-a-v2 a cf:Criterion ; cf:id "acceptance-a-v2" ;
  cf:requires cf:installed-a, cf:inspection-a, cf:seal-a .
cf:acceptance-b-v1 a cf:Criterion ; cf:id "acceptance-b-v1" ;
  cf:requires cf:installed-b, cf:inspection-b .

cf:setup-record a cf:Record ; cf:id "E-setup" ; rdfs:label "Shared access occurrence record" ;
  cf:subject "site" ; cf:version "access-v1" ; cf:kind "completion" ;
  cf:source cf:history-1 ; cf:covers cf:gantry-present .
cf:install-a-record a cf:Record ; cf:id "E-install-a" ; rdfs:label "Unit A installation record" ;
  cf:subject "A" ; cf:version "installation-v1" ; cf:kind "completion" ;
  cf:source cf:history-2 ; cf:covers cf:installed-a .
cf:inspection-a-record a cf:Record ; cf:id "E-inspection-a" ; rdfs:label "Unit A original successful inspection" ;
  cf:subject "A" ; cf:version "inspection-v1" ; cf:kind "inspection" ;
  cf:source cf:history-3 ; cf:covers cf:inspection-a .
cf:install-b-record a cf:Record ; cf:id "E-install-b" ; rdfs:label "Unit B installation record" ;
  cf:subject "B" ; cf:version "installation-v1" ; cf:kind "completion" ;
  cf:source cf:history-4 ; cf:covers cf:installed-b .
# This control is additional supplied evidence, not inferred from the old label.
# It covers retrospective activity descriptions; it does not invent two newly
# observed occurrence IDs or perform the activities again.
cf:refinement-a-record a cf:Record ; cf:id "E-refinement-a" ;
  rdfs:label "Supplied coverage of positioning and securing within H02" ;
  cf:subject "A" ; cf:version "refinement-v2" ; cf:kind "coverage" ;
  cf:source cf:history-2 ; cf:covers cf:position-a, cf:secure-a ; cf:optional "coverage" .

cf:regroup a cf:Revision ; cf:id "regroup" ; cf:scope "both" ;
  cf:acceptanceA cf:acceptance-a-v1 ; cf:acceptanceB cf:acceptance-b-v1 .
cf:refine a cf:Revision ; cf:id "refine" ; cf:scope "both" ;
  cf:acceptanceA cf:acceptance-a-v1 ; cf:acceptanceB cf:acceptance-b-v1 ;
  cf:childRequirement cf:position-a, cf:secure-a .
cf:acceptance a cf:Revision ; cf:id "acceptance" ; cf:scope "both" ;
  cf:acceptanceA cf:acceptance-a-v2 ; cf:acceptanceB cf:acceptance-b-v1 ;
  cf:extraAction cf:seal-action .
cf:withdraw a cf:Revision ; cf:id "withdraw" ; cf:scope "A" ;
  cf:acceptanceA cf:acceptance-a-v1 .

cf:seal-action a cf:Action ; cf:id "test-seal-a" ; rdfs:label "Test Unit A's seal" ;
  cf:positive "gantry-present", "evidence-a" ; cf:negative "seal-tested-a" ;
  cf:add "seal-tested-a" .

cf:clear-site a cf:Clearance ; cf:negative "gantry-present", "trolley-a-present", "trolley-b-present" .
