Skip to content

[Cycle 2/5] Add a standing test-integrity review lane #28

Open

Description

@teslamint

Goal

Extend the standing tests review lane with a named test-integrity sub-check. The sub-check must audit evidence quality, not only test pass results.

Scope

  • Audit network isolation in tests.
  • Audit shared temporary-directory contention.
  • Audit verifier scripts for fail-open behavior.
  • Audit assertion specificity and hidden environment dependencies.
  • Audit fixture repositories for inherited Git signing and hook configuration.
  • Reuse schemas/lane-findings.schema.json, its P0-P3 definitions, and the existing merge pipeline.
  • Do not introduce a second finding or severity schema.

Dependency

Depends only on released eval-contract/v1. It does not depend on Cycle 1 routing or locking changes.

Dogfooding gate

Run ai-orchestration against an isolated compound-loop checkout. Ask it to produce the lane design, test matrix, and candidate changes.

Use a versioned fixture manifest with at least two seeded defects and one unseeded holdout fixture per audit class. The release gate requires:

  • The lane has 100 percent P0/P1 recall and at least 90 percent overall precision across clean and defective fixtures.
  • The lane produces zero P0/P1 false positives on clean fixtures.
  • Three repeated reviews detect the same seed IDs. Free-text wording is not part of the determinism check.
  • The compound-loop validation suite passes.
  • A dedicated C2-TI dogfood corpus directly exercises all audit classes and the holdouts.

Acceptance criteria

  • The reviewing protocol invokes the lane on every full phase-gate review.
  • The lane persists its raw evidence and normalized findings.
  • A missing, cancelled, or malformed lane result fails closed.
  • The documentation explains how to add a new seeded test-integrity fixture.
  • Repository fixtures can commit without host signing keys or user hooks.

Out of scope

  • Changes to ai-orchestration runtime behavior.
  • Compound-loop embedding inside ai-orchestration.

Activity

  1. self-assigned this
    on Sep 27, 2026
  2. teslamint commented on Nov 6, 2026

    @teslamint
    OwnerAuthor

    Status after #44 (merged as e4f41da): the sub-check, the per-review record, the offline regression evaluator, and the model release gate are on main. The issue's gate is not met yet.

    Best measured result: gpt-6.1-sol, tool-free, temperature 0, 3 runs × 79 fixtures:

    Measure Gate Result
    P0/P1 recall 100% 93–96%
    Precision ≥ 90% 81–86%
    P0/P1 false positives on negatives 0 2
    Cases with different classes across runs 0 10 of 79
    Final out-of-sample set (18) — recall 12/12, precision 12/14

    The remaining errors are mostly environment-dependency cases: three missed and three false alarms. Git fixtures that already isolate themselves were also flagged. The last checklist edit (externally contacted Git remotes count as Network isolation) has not been measured with a model yet. Closing this issue needs either a measured pass on a new blind set, or revised thresholds.

  3. teslamint commented on Nov 6, 2026

    @teslamint
    OwnerAuthor

    Second pass measured. The gate is still not met; this issue stays open.

    Work is in PR #45 (feat/c2ti-gate), currently open: CodeRabbit's review of the first commits requested three changes, all fixed in 1574d9e, but the re-review is rate-limited and the stale review blocks merge.

    Changes: determinism now compares detected seed IDs across repeats (as this issue specifies) and every repeat is scored; three class boundaries were specified; three blind labels were corrected against executed reproductions; two new blind corpora were added, and clean-case file names that announced the answer were neutralised.

    Whole registry, 145 cases × 3 repeats, gpt-6.1-sol, temperature 0, tool-free:

    Repeat P0/P1 recall Precision Clean P0/P1 FP Repeat mismatches
    1 100% 92.5% 1 2
    2 98.8% 95.1% 0 2
    3 100% 94.3% 1 2

    Out-of-sample (test-integrity-blind-gate3.json, 36 cases, scored alone): recall 22–24 of 24, precision 80.0–85.7%, one clean-case P1 false positive in two of three repeats.

    Remaining blockers:

    1. Sampling variance. C2-TI-G3-AST-P2 and C2-TI-G3-GIT-P3 are detected in two of three repeats at temperature 0, so the determinism criterion fails.
    2. Precision below 90% out of sample, and one clean-case P1 false positive: the reviewer demands a fixture-owned empty hooks directory and rejects the equally safe empty-string core.hooksPath.
    3. The measured numbers predate the file-name neutralisation, so gate-3 needs re-measurement before it can be read as the out-of-sample verdict.

    Dogfooding: ai-orchestration ran against an isolated export and produced a 323-line document with a design, a test matrix, and a candidate-change manifest, but the document's own status section records that no implementation files were inspected and lists blockers B-01 to B-12, so it is generic evidence, not checkout-grounded candidate changes. The exercise also exposed two orchestrator defects: a planner that emits file_path: "." is rejected by the executor's path guard, and default stage models (gemini-3.1-pro-low, gpt-5.5) no longer exist in the proxy catalog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions