Clarify validation layers and consider “Validate at every level possible”
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- markdown
- Domain
- documentation
Research direction
Start with content/pattern/the-model.md and content/pattern/guiding-principles.md, then compare the Build one pages listed in the issue. Trace how source validation, cast verification, and domain evaluation are currently described, including the Galaxy and statistical-genomics examples. Done means the three levels have clear boundaries, the pattern and examples agree, and shared machinery is distinguished from domain-owned evaluation.
Written by the indexing model from the issue text.
Description
Context
While reviewing the three Build one pages, the treatment of an “external check” turned out to be both more pervasive and less clearly modeled than expected:
- The Model places the external check outside the four structural parts.
- Guiding Principles folds it into “Deterministic Tools Do Deterministic Work.”
- Anatomy of an Instance treats the domain’s external check as a major extension-surface category.
- Setting up a Foundry makes building the external check a discrete implementation phase.
- One Worked Example: the Astro Stack explains why it has no fixed implementation row.
This may be pointing at a stronger and more general principle, tentatively:
Validate at every level possible.
This issue is deliberately a design question, not a settled rewrite.
Three validation levels to distinguish
1. Source validation
Does the knowledge base satisfy its authored contracts?
Examples:
- frontmatter and kind schemas
- resolvable references
- controlled vocabulary and registry membership
- license coherence
- generated catalogs and other self-documentation checks
2. Cast verification
Was the artifact built faithfully and reproducibly from the declared source?
Examples:
- deterministic output
- resolved reference and placement checks
- source and destination hashes
- provenance completeness
- drift detection and reproducible recasting
3. Domain evaluation
Does work performed with the artifact deserve trust in its domain?
Examples:
- Galaxy’s deterministic workflow validator
- statistical genomics’ empirical referee
- human review, proof tools, simulation, calibration, or negative controls
The first two appear intrinsic to the Foundry machinery. The third is domain-specific and may not admit one universal mechanism—but it may still express an important discipline: use the strongest independent validation the domain makes possible.
Questions to resolve
- Should “Validate at every level possible” become a guiding principle?
- Which validation levels are requirements of the pattern, and which are instance-specific?
- Is domain evaluation part of the extension surface, or simply downstream domain machinery?
- How should we preserve “doing does not certify itself” without implying that every domain has a deterministic oracle?
- Is “external check” still useful terminology, or does it obscure the three distinct concerns?
- Where does validation end and evaluation begin?
Likely documentation impact
Review and align:
content/pattern/the-model.mdcontent/pattern/guiding-principles.mdcontent/pattern/principles-in-action.mdcontent/pattern/anatomy-of-an-instance.mdcontent/pattern/setting-up-a-foundry.mdcontent/pattern/standing-up-a-foundry.md- relevant case pages, especially the discussion of the pattern’s durable assets
Possible direction—not yet a decision
- Treat source validation and cast verification as shared Foundry responsibilities.
- Treat domain evaluation as a domain-owned responsibility whose mechanism and attainable strength vary.
- Frame the principle as applying validation at every boundary where a meaningful independent check exists.
- Show the three levels explicitly instead of using “external check” as one catch-all term.
Done when
- The three levels have clear names and boundaries.
- The Model and Guiding Principles agree about which guarantees belong to the pattern.
- The Build one pages distinguish shared validation machinery from domain-specific evaluation.
- Galaxy and statistical-genomics examples demonstrate the distinction without defining the abstraction by either implementation.
- Dominant language
- Astro
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from galaxyproject/foundry-pattern
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 48/100
-
Ecosystem floor: converge the substrate minors, vitest, and foundry's ci.yml across the four repos Open
Difficulty 5/5 Over a week Newbie friendliness 20/100
galaxyproject/foundry-pattern#25 · 1 comment ·
All issues in galaxyproject/foundry-pattern
Similar issues
-
user-reported
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Kong/developer.konghq.com#7316 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
HarperFast/skills#96 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
fullcalendar/fullcalendar#8106 ·