Skip to content

Commit 3ec0bb2

Browse files
turbomamclaude
andcommitted
Document ROBOT default-profile QC, source-DB scope, release-diff workflow, and BioPortal pull mechanics
Add operational mechanics to CLAUDE.md that were only tribal knowledge: the custom ROBOT report profile masks findings the default profile catches (run the default for true dashboard state); METPO harmonizes exactly four source-bound DBs and must not name NMDC/BugSigDB in scope text; the diff targets and the squeaky-clean -> prepare_release -> release_diff pre-PR workflow; and BioPortal's nightly pull (releases propagate in ~24h; query ?display=all to see pull config). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 1dcceef commit 3ec0bb2

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

CLAUDE.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,56 @@ sh run.sh make <target>
501501

502502
---
503503

504+
## QC, release-diff, and BioPortal mechanics
505+
506+
### ROBOT report: run the default profile for the true dashboard state
507+
508+
The repo's custom ROBOT report profile can report "No violations" while the
509+
**default** ROBOT profile still flags thousands of findings. Typing
510+
`owl:deprecated` as `^^xsd:boolean` (issue #467) let ROBOT recognize the
511+
deprecated terms and cleared most of them, but to see the true OBO-dashboard
512+
state run `robot report` with the DEFAULT profile, not the custom one.
513+
514+
### Scope: exactly four source-bound databases
515+
516+
METPO harmonizes exactly four source-bound databases, the only `IAO:0000119`
517+
synonym sources in `metpo.owl`: BacDive, BactoTraits, Madin
518+
(`jmadin/bacteria_archaea_traits`), and MetaTraits. kg-microbe is the downstream
519+
consumer. Do not name NMDC or BugSigDB in any METPO description or scope text
520+
(NMDC was removed from `dcterms:description` in PR #532). BugSigDB and MicroTrait
521+
are broader-landscape context, not source-bound.
522+
523+
### Diff targets and the pre-PR release-diff workflow
524+
525+
- `make release_diff` (generated Makefile): a ROBOT diff of the OWL currently
526+
served at `https://w3id.org/metpo/metpo.owl` (GitHub main via w3id) against the
527+
locally built `metpo.owl`, OWL-level. Output: `reports/release-diff.md`.
528+
- `make diff-sheets` (metpo.Makefile): live Google Sheet vs committed TSV at HEAD.
529+
- `make diff-release`: TSV at the last git tag vs HEAD.
530+
- `make diff-drafts`: saved drafts vs current templates.
531+
532+
Before opening a significant PR, show the OWL-level delta vs main:
533+
534+
sh run.sh make squeaky-clean
535+
sh run.sh make prepare_release # re-fetches the Sheet, rebuilds artifacts
536+
sh run.sh make release_diff # diffs the new build vs current w3id/main
537+
538+
`squeaky-clean` alone is not enough: `release_diff` needs a locally built
539+
`metpo.owl`, so `prepare_release` must run first.
540+
541+
### BioPortal is pull-based
542+
543+
BioPortal is configured with
544+
`pullLocation: https://raw.githubusercontent.com/berkeleybop/metpo/refs/heads/main/metpo.owl`.
545+
Its poller runs nightly and creates a new submission whenever that content
546+
changes, so a tagged release propagates within about 24 hours with no manual
547+
web-UI re-submission. The default
548+
`data.bioontology.org/ontologies/METPO/latest_submission` response omits
549+
`pullLocation` and similar infrastructure fields; query with `?display=all` to
550+
see the pull config.
551+
552+
---
553+
504554
## Quick Reference
505555

506556
| Task | Command |

0 commit comments

Comments
 (0)