Skip to contents

A manifest is the project's INTENT record - which layers it should carry - distinct from the gq registry (the template catalog) and rfp_tracking (provenance). It is a CSV with exactly two columns, source_layer and source_type, living at the project root as rfp_manifest.csv beside the .qgs (so it syncs with the project). Types are validated against rfp_manifest_types().

Usage

rfp_manifest_read(path)

Arguments

path

Character. Path to the manifest CSV.

Value

A tibble with columns source_layer and source_type. The source path is attached as attr(, "path").

Details

Validation is strict and fail-closed:

  • exactly the columns source_layer,source_type

  • at least one row

  • no duplicate source_layer

  • no source_type outside rfp_manifest_types()

  • the AOI layer whse_basemapping.fwa_watershed_groups_poly present with a refreshable (non-frozen) type - every rfp_source() pass rewrites it unconditionally, so frozen or absent is unenforceable intent

Examples

manifest_csv <- file.path(tempdir(), "rfp_manifest.csv")
write.csv(
  data.frame(
    source_layer = c(
      "whse_basemapping.fwa_watershed_groups_poly",
      "whse_basemapping.fwa_lakes_poly",
      "bcgs_20k_grid"
    ),
    source_type = c("bcdata", "bcdata", "frozen")
  ),
  manifest_csv,
  row.names = FALSE, quote = FALSE
)
rfp_manifest_read(manifest_csv)
#> # A tibble: 3 × 2
#>   source_layer                               source_type
#>   <chr>                                      <chr>      
#> 1 whse_basemapping.fwa_watershed_groups_poly bcdata     
#> 2 whse_basemapping.fwa_lakes_poly            bcdata     
#> 3 bcgs_20k_grid                              frozen     
unlink(manifest_csv)