Repository navigation
test: scope GKS-ONT-002 to pipeline facts and prove it end to end - #26
Merged
Merged
Conversation
GKS-ONT-002 was an open owner decision in the P1 report. The owner scoped it to GenesisRAG17 facts, which is how the SRS states it: fact acceptance is checked against an exact ontology artifact version. Legacy API-010 relations stay out of scope. Their vocabulary (FEAT/API ... with DEPENDS_ON/IMPLEMENTS ...) has no ontology artifact version and no endpoint table, and their payload is frozen by ADR-GKS-C0-QUALIFICATION D2. The pipeline already held invalid endpoints, but only buildPipelineDecision unit tests showed it. A new contract test and new golden-corpus steps now demonstrate AT-GKS-ONT-002 through the real service. A "Carol works_for Atlas" fact, where Atlas is a Product: - is held as invalid_endpoint; - is neither a fact nor a graph edge; - makes the gate answer WARN with allowPublication false; - causes publication to be refused. C0.4-GENESISRAG17-RECEIPTS is the only transcript that changes. No product code changes. Docs updated: ADR-GKS-GENESISRAG17 0.5.4b records the scope, and the P1 report row is closed as scoped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR closes owner decision GKS-ONT-002 from the P1 report. No product code changes.
Decision: scope GKS-ONT-002 to GenesisRAG17 facts
The P1 report proposed applying the ontology endpoint table to legacy promote relations. That cannot be done as written:
PIPELINE_ONTOLOGY_ENDPOINTS) covers only the pipeline vocabulary:Person,Organization,Product,PACKAGE,PRICE_TIERandCATEGORY, withWORKS_FOR,PURCHASED,HAS_COMPONENT,PRICED_ATandIN_CATEGORY.FEAT,APIandALGO, and 12 relation types such asDEPENDS_ONandIMPLEMENTS. That vocabulary has no ontology artifact version, and no endpoint table exists for it in this repository, the SRS, or spec 03.The owner chose to scope ONT-002 to GenesisRAG17 facts.
ADR-GKS-GENESISRAG170.5.4b records this. A legacy endpoint table would need its own versioned decision.Evidence for AT-GKS-ONT-002 ("invalid endpoint held/rejected and cannot materialize verified edge")
Until now, the pipeline's endpoint behaviour was covered only by
buildPipelineDecisionunit tests (pipeline-ontology-v2.test.mjs). This PR shows the same behaviour through the real service, using one valid fact (Alice works for Acme Ltd.) and one invalid-endpoint fact ({"subject":"Carol","predicate":"works_for","object":"Atlas"}, where Atlas is aProduct):decision.held[{ reason: "invalid_endpoint", predicate: "works_for", … }]decision.facts,decision.graph.edgesWORKS_FOR; no fact or edge touches Carolverdict: "WARN",allowPublication: false, knowledge reason1 fact(s) remain held for review.gks_conflict:pipeline execution does not allow publication.tests/contract/pipeline-genesisrag17.test.mjs.C0.4-GENESISRAG17-RECEIPTSgains a third batch with the same steps, including a second (non-destructive) claim that shows the held fact. Each step's expected result and message are annotated. That case is the only transcript that changes.Test plan
npm test: vitest 299 passed and 2 skipped (the MSP suites needMSP_REPO_ROOT); security 12/12npm run check:c0(PASS 24 / NOT_RUN 1),check:baselineandcheck:corpuspass🤖 Generated with Claude Code