build: consume the shared traceability tooling via submodule
jray-project is added at scripts/vendor/jray-project and the extractor is used from there. Only two files are repo-local: traceability.toml, which carries everything repo-specific, and the CI workflow that invokes the vendored gate. The extractor is deliberately NOT copied in. One implementation, parameterised by config — a second copy would drift from the first, and the tool already proves it works unchanged against all three registers. Enables system_spec so PR/SR orphan checking runs: previously uncheckable, because the system spec lived outside every component's checkout. Gate is green at 0.0% of 63 requirements, which is correct — nothing is tagged yet. Eleven are flagged unverifiable on this CI host and excluded from the numerator rather than counted. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Traceability configuration for scene-actor-extraction.
|
||||
#
|
||||
# Read by the shared extractor (scripts/traceability/extract_traces.py), which
|
||||
# is the same implementation every JRay component uses. Everything repo-specific
|
||||
# lives here rather than in the tool; run `extract_traces.py
|
||||
# --print-example-config` for the annotated schema.
|
||||
#
|
||||
# This file's directory is taken as the repo root, so the gate works from any
|
||||
# subdirectory.
|
||||
|
||||
# The prefixes this repo's register defines. Nothing else enters the fraction:
|
||||
# UT/IT are evidence for requirements, PR/SR belong to the system spec.
|
||||
requirement_types = ["AR", "DP", "IR", "GR", "VR"]
|
||||
|
||||
# C++ pipeline plus the Python tooling, optimizer and validation scripts.
|
||||
languages = ["cpp", "python"]
|
||||
|
||||
source_roots = ["src", "tests", "scripts", "experiments", "eval"]
|
||||
|
||||
# CI is an Intel N100 with no discrete GPU. T4 is deliberately absent: a
|
||||
# requirement verifiable only on GPU hardware is reported as tagged but
|
||||
# unexecuted and never counted as covered, because counting a test that cannot
|
||||
# run is the same failure mode as JellyTau's 158% coverage bug.
|
||||
ci_executable_tiers = ["T1", "T2", "T3", "static"]
|
||||
|
||||
# Threshold policy. 0 today because almost nothing is tagged yet - tags land as
|
||||
# the pipeline is built. This is not a gate that cannot fail: orphan tags, a
|
||||
# >100% ratio, a register that parses to nothing and an empty source scan are
|
||||
# all hard failures already. Ratchet this up as tags land; never reset it down.
|
||||
min_coverage = 0.0
|
||||
|
||||
# The system spec owning PR/SR is vendored per-component as a submodule. Point
|
||||
# at it once that lands to turn on PR/SR orphan checking:
|
||||
system_spec = "scripts/vendor/jray-project/SPEC.md"
|
||||
Reference in New Issue
Block a user