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().
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_typeat least one row
no duplicate
source_layerno
source_typeoutsiderfp_manifest_types()the AOI layer
whse_basemapping.fwa_watershed_groups_polypresent with a refreshable (non-frozen) type - everyrfp_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)
