diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index acbd0b9d..29252c43 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -19,5 +19,5 @@ on: jobs: gate: # Pinned to a full commit SHA of the kit repo (sha-pin doctrine; Dependabot bumps it): - uses: BonfireAI/candyfactory-quality/.github/workflows/quality-gate.yml@adaa4ebf429fd9ba49de6520d4636e0f8604c71d + uses: BonfireAI/candyfactory-quality/.github/workflows/quality-gate.yml@86c9e0b5cd0a6c676eaefa05621aed5a6dfcc041 secrets: inherit diff --git a/complexipy-snapshot.json b/complexipy-snapshot.json index 92b85bc5..2ed9b9b1 100644 --- a/complexipy-snapshot.json +++ b/complexipy-snapshot.json @@ -107,6 +107,16 @@ } ] }, + { + "path": "src/bonfire/handlers/wizard.py", + "file_name": "wizard.py", + "functions": [ + { + "name": "WizardHandler::handle", + "complexity": 17 + } + ] + }, { "path": "src/bonfire/knowledge/chunker.py", "file_name": "chunker.py", diff --git a/docs/quality-baselines.md b/docs/quality-baselines.md new file mode 100644 index 00000000..b16548de --- /dev/null +++ b/docs/quality-baselines.md @@ -0,0 +1,112 @@ +# Quality baselines — what the shared gate grades, and every debt it grades against + +The shared quality kit is mounted through `.github/workflows/quality.yml`, pinned to a +full commit SHA of `BonfireAI/candyfactory-quality`. Its runner, `cf-gate`, runs one +twelve-stage battery and exits on the worst verdict. + +Three of those stages are **ratchets**: they compare the tree against a committed +baseline and fail on anything worse. A ratchet is only honest if every entry in its +baseline carries a written reason and can only ever shrink. Two of the three baselines +are machine-generated files with no room for prose — so their reasons live here. + +## The battery, and what it graded on adoption + +Measured from the repository root with the pinned kit, on the commit that introduced +this file: + +| Stage | Verdict | +|---|---| +| `ruff-check` · `ruff-format` | PASS | +| `cf-sticky-check` · `cf-file-budget` · `cf-mirror-check` · `cf-recursion-check` | PASS | +| `cf-exemptions` | PASS | +| `cf-no-bon-ref` | PASS against the registry below | +| `cf-import-contract` | PASS | +| `mypy` | PASS against `mypy-baseline.txt` | +| `complexipy` | PASS against `complexipy-snapshot.json` | +| `pytest` | PASS | + +Before the pin advanced, **`complexipy`, `cf-import-contract` and `cf-no-bon-ref` had +never run against this repository at all** — the pinned kit predated all three. The +three baselines below are therefore adoption baselines: the first honest measurement, +not a concession. + +## 1 · `complexipy-snapshot.json` — cognitive-complexity watermarks + +Threshold 15. The snapshot records every function above it, and the gate fails on a new +offender or on a baselined offender rising above its recorded watermark. + +**One entry added on adoption:** + +| Function | Cognitive complexity | Reason | +|---|---|---| +| `src/bonfire/handlers/wizard.py` · `WizardHandler::handle` | 17 | Pre-existing. Surfaced the first time this gauge ever measured this tree; the previous kit pin never invoked complexipy. Recorded at its measured value so the ratchet has a true floor, and shrink-only from here: `handle` may not exceed 17 again. Splitting it is a change to the wizard dispatch path and is owned by that module, not by mounting the gate. | + +Nothing was removed and no watermark was raised: the regenerated snapshot differs from +the previous one by exactly this one addition (20 entries / 28 functions → 21 / 29). + +**Re-baselining, when a function genuinely improves:** run `complexipy src +--snapshot-create` **from the repository root** (the snapshot path is relative to the +working directory) and commit the shrink. Note the snapshot does not auto-shrink; an +improvement left uncommitted leaves a stale, too-generous watermark. + +## 2 · `mypy-baseline.txt` — the zero-new-type-errors ratchet + +The baseline is a multiset of normalized mypy findings; anything not in it is new and +fails. Line numbers are normalized to `:0` so unrelated drift cannot resurrect a +finding. + +**Change on adoption: four lines rewritten, one dropped. No new type error was +absorbed.** + +| Change | Reason | +|---|---| +| `ollama`, `lancedb`, `pyarrow`, `pydantic_ai` — each `Cannot find implementation or library stub for module named "X" [import-not-found]` became `Library stubs not installed for "X" [import-untyped]` | Same four sites, same condition, different wording. The pinned kit's `cf_quality.mypy_normalize` collapses all three shapes a missing third-party import can take onto ONE canonical `import-untyped` line, precisely so the baseline encodes the code and not the machine it was measured on. The previous baseline was written before that normalizer existed. Zero findings added; four re-spelled. | +| One trailing `note: See https://mypy.readthedocs.io/...#missing-imports` line removed | The normalizer strips mypy's once-per-run global stub notes. They are anchored to whichever missing-import site happens to come first, so they relocate between files as imports shift and were a source of phantom new/fixed deltas. Not an error line; nothing is masked by its absence. | + +The 49 pre-existing unresolved findings are untouched and remain shrink-only. The four +optional-dependency imports resolve when the `knowledge` extra is installed and are +tracked as ordinary typing debt. + +**Re-baselining:** `mypy src --config-file | python -m +cf_quality.mypy_normalize | mypy-baseline sync`, then commit. + +## 3 · `no-bon-ref-exemptions.json` — the ticket-reference registry + +The law bans internal-tracker ids from the code and config tree: a ticket id is a local +index, meaningless to anyone reading the code. Markdown and `docs/` are out of the +gauge's jurisdiction by design — mapping work to tickets is documentation's function. + +On adoption the gauge measured **349 references across 118 files**: 116 test modules, +one developer driver script, and the `reason` prose of the grandfathered entries in +`exemptions.json`. Every one is registered with its own per-file entry and its own +written reason, and `frozen_count` is 118 — adding a 119th requires bumping that number +in the same diff, which is a visible decision. + +The entries are **explicit per-file paths, never a glob.** A pattern like `tests/unit/*` +would bless every test file written from now on, which is exactly the unbounded escape +hatch the kit's own documentation warns against. Each blessing prints its path, its line +and its reason on every run, so a registered exemption is loud, never silent. + +**Why these are registered rather than scrubbed:** `docs/release-gates.md` already +scopes this debt and states why — the references live in test *file names* as well as in +comments, so cleaning them is a rename sweep across the suite, not a comment sweep. That +sweep is tracked separately from mounting the gate. Mounting the gate first is what +stops the 119th reference; the sweep shrinks the 118. + +**Shrinking:** clean a file, delete its entry, lower `frozen_count` by one. The gate +prints ratchet slack whenever `frozen_count` exceeds the live entry count, so a stale +registry announces itself. + +## Every one of these gates was proven able to FAIL + +A gate that has only ever been observed passing is not known to be a gate. Each was fed +a deliberately broken input and observed to go red, by name, on the commit that mounted +it: + +| Gate | Broken input | Result | +|---|---|---| +| `cf-no-bon-ref` | a planted, unregistered tracker reference in a new source file | `FAIL (1 ticket reference(s))`, exit 1, naming file and line | +| `complexipy` | a planted function of cognitive complexity above 15, absent from the snapshot | exit 1: "exceeds 15 but was not part of the snapshot" | +| `complexipy` | a baselined function's watermark lowered below its true value | exit 1: "increased from 16 to 17" | +| `cf-import-contract` | `bonfire.models` importing `bonfire.engine`, which the committed contract forbids | `CONTRACT_BROKEN`, exit 1, naming the forbidden edge | +| `mypy` | a planted `return "str"` from a function declared `-> int` | baseline filter exit 1: "Your changes introduced new violations" | diff --git a/mypy-baseline.txt b/mypy-baseline.txt index 2df54a0c..72207a83 100644 --- a/mypy-baseline.txt +++ b/mypy-baseline.txt @@ -1,4 +1,4 @@ -src/bonfire/knowledge/ollama_embedder.py:0: error: Cannot find implementation or library stub for module named "ollama" [import-not-found] +src/bonfire/knowledge/ollama_embedder.py:0: error: Library stubs not installed for "ollama" [import-untyped] src/bonfire/cli/commands/install_skill.py:0: error: Incompatible types in assignment (expression has type "bytes", variable has type "str") [assignment] src/bonfire/cli/commands/install_skill.py:0: error: Incompatible types in assignment (expression has type "bytes", variable has type "str") [assignment] src/bonfire/models/events.py:0: error: "BonfireEvent" has no attribute "event_type" [attr-defined] @@ -33,10 +33,9 @@ src/bonfire/models/config.py:0: note: Error code "assignment" not covered by "ty src/bonfire/handlers/merge_preflight.py:0: error: Argument "sibling_status" to "_classify_preflight_run" of "MergePreflightHandler" has incompatible type "str"; expected "Literal['ok', 'skipped', 'error']" [arg-type] src/bonfire/dispatch/security_hooks.py:0: error: Unused "type: ignore" comment [unused-ignore] src/bonfire/dispatch/security_hooks.py:0: error: List item 0 has incompatible type "Callable[[dict[Any, Any], str, dict[Any, Any]], Awaitable[dict[str, Any]]]"; expected "Callable[[PreToolUseHookInput | PostToolUseHookInput | PostToolUseFailureHookInput | UserPromptSubmitHookInput | StopHookInput | SubagentStopHookInput | PreCompactHookInput | NotificationHookInput | SubagentStartHookInput | PermissionRequestHookInput, str | None, HookContext], Awaitable[AsyncHookJSONOutput | SyncHookJSONOutput]]" [list-item] -src/bonfire/knowledge/backend.py:0: error: Cannot find implementation or library stub for module named "lancedb" [import-not-found] -src/bonfire/knowledge/backend.py:0: error: Cannot find implementation or library stub for module named "pyarrow" [import-not-found] -src/bonfire/dispatch/pydantic_ai_backend.py:0: error: Cannot find implementation or library stub for module named "pydantic_ai" [import-not-found] -src/bonfire/dispatch/pydantic_ai_backend.py:0: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports +src/bonfire/knowledge/backend.py:0: error: Library stubs not installed for "lancedb" [import-untyped] +src/bonfire/knowledge/backend.py:0: error: Library stubs not installed for "pyarrow" [import-untyped] +src/bonfire/dispatch/pydantic_ai_backend.py:0: error: Library stubs not installed for "pydantic_ai" [import-untyped] src/bonfire/engine/pipeline.py:0: error: Argument "explicit_override" to "resolve_dispatch_model" has incompatible type "str | None"; expected "str" [arg-type] src/bonfire/cli/commands/scan.py:0: error: Unused "type: ignore" comment [unused-ignore] src/bonfire/dispatch/sdk_backend.py:0: error: Unused "type: ignore" comment [unused-ignore] diff --git a/no-bon-ref-exemptions.json b/no-bon-ref-exemptions.json new file mode 100644 index 00000000..ce64be1b --- /dev/null +++ b/no-bon-ref-exemptions.json @@ -0,0 +1,477 @@ +{ + "frozen_count": 118, + "entries": [ + { + "path": "exemptions.json", + "reason": "52 internal-tracker references embedded in the 'reason' prose of grandfathered suppression entries, not in executable code; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. Rewording these reasons is a change to the suppression registry's own provenance text and is owned by the registry, not by the gate mount. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "scripts/petri_conversational_driver.py", + "reason": "1 internal-tracker reference in a developer-facing driver script's provenance comments; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/dispatch/test_trust_project_settings_key.py", + "reason": "6 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/smoke/smoke_test.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_analysis_models.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_analysis_schema.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_architect_handler.py", + "reason": "8 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_architecture_doc_exists.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_bard_handler.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_bon_1072_cost_accounting_close.py", + "reason": "3 internal-tracker references in a test module whose FILENAME also encodes one, so cleaning it is a file rename plus every import and node id that points at it; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_bon_1073_security_polish.py", + "reason": "4 internal-tracker references in a test module whose FILENAME also encodes one, so cleaning it is a file rename plus every import and node id that points at it; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_bon_1074_onboard_polish.py", + "reason": "13 internal-tracker references in a test module whose FILENAME also encodes one, so cleaning it is a file rename plus every import and node id that points at it; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_bon_1075_read_symmetric_hardening.py", + "reason": "4 internal-tracker references in a test module whose FILENAME also encodes one, so cleaning it is a file rename plus every import and node id that points at it; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_bon_1100_install_skill.py", + "reason": "2 internal-tracker references in a test module whose FILENAME also encodes one, so cleaning it is a file rename plus every import and node id that points at it; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_classifier.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_classifier_module_surface.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_claude_memory_scan.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_cli_app_no_dispatch_command.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_cli_conservative.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_config.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_conversation_message_cap.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_cost_analyzer.py", + "reason": "12 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_cost_analyzer_caching.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_cost_cli.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_cost_consumer.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_cost_models.py", + "reason": "6 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_dispatch_options_role.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_dispatch_options_security_hooks.py", + "reason": "5 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_dispatch_package_surface.py", + "reason": "5 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_dispatch_runner.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_engine_factory.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_engine_init.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_engine_pipeline.py", + "reason": "7 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_engine_pipeline_tool_policy.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_envelope.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_event_bus.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_event_consumers.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_events.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_factory_bon1757.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_git.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_git_state_bon1757.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_git_state_sanitize.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_git_workflow.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_github.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_github_client_list_open_prs.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_handlers_package.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_handlers_role_binding.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_init_docstring_quality.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_backend_bon1757.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_backfill.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_chunker.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_consumer.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_embeddings.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_factory.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_ingest.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_memory.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_package.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_knowledge_scanner.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_lancedb_backend_exists.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_memory_vault.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_merge_preflight_bon1757.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_merge_preflight_handler.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_model_tiers.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_no_persona_names_in_public_docs.py", + "reason": "5 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_protocol.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_scanner_claude_memory.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_scanner_cli_toolchain.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_scanner_git_state.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_scanner_mcp_servers.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_scanner_project_structure.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_scanner_vault_seed.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_onboard_server.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_persona_builtins_dynamic_role_coverage.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_persona_cli.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_persona_rename_sweep.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_protocols.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_resolver.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_role_tier_map.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_safe_write.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_sage_correction_bounce_bon1757.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_sage_correction_handler.py", + "reason": "13 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_sage_correction_resolved_gate.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_scan_cli.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_scan_decision_recorder.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_scan_package.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_scan_tech_scanner.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_sdk_backend_hooks_wiring.py", + "reason": "5 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_sdk_backend_setting_sources_gate.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_sdk_backend_tool_presence.py", + "reason": "9 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_denied_event.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_blindspots.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_bon1757.py", + "reason": "4 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_compile_once.py", + "reason": "5 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_config.py", + "reason": "5 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_event.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_factory.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_failsafe.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_matcher.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_normalize.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_runtime.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_hooks_unwrap.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_C1.py", + "reason": "3 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_C2.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_C3.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_C4.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_C5.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_C6.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_C7.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_security_patterns_module.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_steward_handler.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_tool_policy.py", + "reason": "2 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_wave_11_lane_e_stage_executor_deleted.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_wizard_handler.py", + "reason": "5 internal-tracker references in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_xp_calculator.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_xp_consumer.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_xp_display.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_xp_session.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + }, + { + "path": "tests/unit/test_xp_tracker.py", + "reason": "1 internal-tracker reference in this test module's provenance header and/or test names, describing which wave of work the cases came from; recorded when the shared quality kit's pin was advanced 2026-07-28, the run on which this gauge first measured this repository at all. docs/release-gates.md scopes the repo-wide cleanup as a rename sweep, tracked apart from mounting the gate. shrink-only: remove this entry when the file is cleaned, never widen it." + } + ] +}