The tool's defaults already exclude `vendor`, which covers the submodule at scripts/vendor/jray-project. Setting the key explicitly is a trap worth documenting: it REPLACES the defaults rather than extending them, and matching is on path components rather than prefixes — so ["scripts/vendor"] matches nothing while silently dropping __pycache__, node_modules, build and the rest. Verified: the submodule's source is not scanned, and the only vendored path in the report is the system spec it reads for PR/SR orphan checking. Coverage after the merges: 5/63, 0 orphans. Every tag names a real requirement, and nothing claims a requirement that is still Planned. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
45 lines
2.2 KiB
TOML
45 lines
2.2 KiB
TOML
# 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"]
|
|
|
|
# exclude_dirs is deliberately NOT set. The tool's defaults already exclude
|
|
# `vendor` (among __pycache__, external, build, node_modules and friends), which
|
|
# covers the submodule at scripts/vendor/jray-project — that is not this repo's
|
|
# code, and its parser tests carry literal TRACES: strings that would otherwise
|
|
# be credited here as coverage.
|
|
#
|
|
# Note the key REPLACES the defaults rather than adding to them, and matching is
|
|
# on path components, not prefixes: setting it to ["scripts/vendor"] both fails
|
|
# to match anything and silently drops every default exclusion.
|
|
|
|
# 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"
|