From 6558ee486af6a0ab799b7b53aa5020c6f378f8e7 Mon Sep 17 00:00:00 2001 From: Matteo Cherubini Date: Fri, 12 Jun 2026 10:49:04 +0200 Subject: [PATCH] feat: Add 'cross_source' property to genome registry --- Makefile | 2 +- README.md | 9 +++++---- registry.sh | 4 +++- scripts/setup-genomes.sh | 2 +- scripts/verify-genomes.sh | 2 +- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index cfd4537..527fd48 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ export $(shell grep -v '^[#[:space:]]' globals.env | sed 's/=.*//') help: @echo "Available commands:" @echo " make setup - Full system initialization" - @echo " make add-genome - Register and scaffold a new genome [LINKED=owner/repo]" + @echo " make add-genome - Register and scaffold a new genome [LINKED=owner/repo] [CROSS=yes|no]" @echo " make status - Check submodule and encryption status" @echo " make lint - Verify schema, privacy flags, and metadata" @echo " make verify-structure - Report directory drift across all genomes" diff --git a/README.md b/README.md index f682de4..d5d16d3 100644 --- a/README.md +++ b/README.md @@ -330,13 +330,14 @@ WORK_DIR="${HOME}/knowledge-genome-orchestrator" KEYS_DIR="${WORK_DIR}/keys" # Genome registry — format: "name|description|linked_repo" -# The third field is OPTIONAL: +# The third and fourth fields are OPTIONAL: # - leave it empty → knowledge-only genome (no linked project) # - owner/repo → genome is linked to that project repository (rendered into AGENTS.md) +# - cross_source → yes|no (default no): whether the cross-genome collector may read this genome as a source GENOMES=( - "genome-dev|Web development, TUI, Angular, software architecture|myorg/my-app" - "genome-finance|Personal finance, investments, market analysis|" - "genome-homelab|Infrastructure, network configs, architecture logs|" + "genome-dev|Web development, TUI, Angular, software architecture|myorg/my-app|no" + "genome-finance|Personal finance, investments, market analysis||no" + "genome-homelab|Infrastructure, network configs, architecture logs||no" ) ``` diff --git a/registry.sh b/registry.sh index 3083cad..1d0df3f 100644 --- a/registry.sh +++ b/registry.sh @@ -29,5 +29,7 @@ PROVIDERS_DIR="${PROJECT_ROOT}/providers" # Example: "genome-work|Work notes and architecture logs||no" # "genome-finance|Personal finance|user/repo-finance|no" GENOMES=( - "genome-example|Template genome description for knowledge management||no" + # Disposable sandbox: exercise the full pipeline (ingest -> PR) end-to-end. + # Created by `make setup`. Replace with real domains once the circle is validated. + "genome-test|Disposable sandbox for pipeline testing||no" ) diff --git a/scripts/setup-genomes.sh b/scripts/setup-genomes.sh index f3aa6cd..1617200 100644 --- a/scripts/setup-genomes.sh +++ b/scripts/setup-genomes.sh @@ -19,7 +19,7 @@ source "providers/${PROVIDER}.sh" step "Processing Genome Registry" for entry in "${GENOMES[@]}"; do - # 3-field format: name|description|linked_repo (linked_repo optional → may be empty) + # 4-field format: name|description|linked_repo|cross_source linked_repo optional (may be empty); cross_source defaults to "no". IFS='|' read -r GENOME_NAME GENOME_DESC GENOME_LINKED GENOME_CROSS_SOURCE <<< "$entry" GENOME_CROSS_SOURCE="${GENOME_CROSS_SOURCE:-no}" export GENOME_NAME GENOME_DESC GENOME_LINKED GENOME_CROSS_SOURCE diff --git a/scripts/verify-genomes.sh b/scripts/verify-genomes.sh index 85a4a62..fc5ed19 100644 --- a/scripts/verify-genomes.sh +++ b/scripts/verify-genomes.sh @@ -22,7 +22,7 @@ step "Genome structure: ${MODE}" TOTAL_MISSING=0 for entry in "${GENOMES[@]}"; do - IFS='|' read -r GENOME_NAME _ _ <<< "$entry" # 3-field registry; ignore desc + linked + IFS='|' read -r GENOME_NAME _ <<< "$entry" # 4-field registry; only GENOME_NAME used here genome_dir="${WORK_DIR}/${MASTER_REPO}/${GENOME_NAME}" if [[ ! -d "$genome_dir" ]]; then