mirror of
https://github.com/Imbad0202/academic-research-skills.git
synced 2026-09-14 13:51:17 +08:00
f1a57bbcab
* fix: shared file-lock helper with msvcrt backend for the six fcntl sites (#845) scripts/file_lock.py owns the backend choice (fcntl.flock on POSIX, msvcrt.locking on byte 0 on Windows) and routes adjudication_activity, inquiry_branch_ledger, review_criteria_binding, and ars_mark_read through acquire()/release(). POSIX lock sequences are unchanged. Per-site Windows decisions: adjudication reads degrade to exclusive with a 5 s bounded wait; the review-criteria manifest lock is capped at 30 s on Windows only; the inquiry ledger alpha keeps refusing non-POSIX hosts. Two finally blocks that released an unacquired lock now release only what they acquired. SETUP docs state the best-effort Windows posture; no Windows CI job is added. Refs #845, #843, #844. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0131cZMWBPPeEFiqgEPFZ3X2 * fix(file_lock): interrupted attempts honour the deadline; pin adjudication wait policy (#845) Cross-model review round 1 (gpt-6-astra, xhigh): a persistent InterruptedError could retry past the bound; the Windows-shape test did not exercise adjudication's reader-waits / writer-does-not-wait policy; the adjudication contention message now names LockTimeout instead of BlockingIOError, recorded in the CHANGELOG rather than masked. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0131cZMWBPPeEFiqgEPFZ3X2 * refactor(file_lock): held() context manager, single BACKEND source, one fake msvcrt (#845) /simplify pass (four cleanup reviewers): the release-only-if-acquired invariant moves into file_lock.held() and review_criteria_binding / inquiry_branch_ledger use it; runtime branches key off BACKEND and SHARED_LOCKS_SUPPORTED is dropped; EINTR joins the retryable errno set and the unreachable EDEADLK entry goes; backend calls are deduplicated; all four consumers try the sibling import first so one module instance is shared; the Windows fake lives once in tests/fake_msvcrt.py; test scaffolding is folded into a lock_pair fixture and a parametrized wait test. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0131cZMWBPPeEFiqgEPFZ3X2 * fix(file_lock): keep lock acquisition and the guarded body in separate try blocks (#845) Cross-model review round 3 (gpt-6-astra, xhigh): wrapping the body in the same handler that translates LockTimeout meant a contended inner lock inside the body was reported as the outer manifest/passport lock failing. Both consumers now acquire in their own try block and release only after a successful acquire; held() is dropped from the helper. The subprocess test pins that a LockTimeout raised inside the binding body surfaces as itself. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0131cZMWBPPeEFiqgEPFZ3X2 * test(file_lock): let the body LockTimeout leave _locked() so the attribution check bites (#845) Cross-model review round 4: the inner LockTimeout was caught inside the binding body, so the erroneous outer translation would still have passed. Verified by mutation: restoring the outer translation fails this test. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0131cZMWBPPeEFiqgEPFZ3X2 * ci(673): whitelist scripts/test_file_lock.py as a non-consumer importer of the activity runtime (#845) The shared file-lock test imports adjudication_activity in a subprocess to exercise its lock backend under a fake msvcrt; it never reads or writes an activity store. The exact-owner whitelist is the lint's route for that. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0131cZMWBPPeEFiqgEPFZ3X2 --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
686 lines
18 KiB
TOML
686 lines
18 KiB
TOML
# CI pytest invocation manifest (issue #156)
|
|
#
|
|
# Single source of truth for the pytest invocations spec-consistency.yml runs
|
|
# file-by-file. The workflow consumes this via `python scripts/run_ci_pytest_manifest.py`.
|
|
#
|
|
# Drift guard: scripts/check_ci_pytest_manifest.py validates:
|
|
# - every `path` exists on disk
|
|
# - `id` values unique
|
|
# - (path, args) tuples unique (so the manifest stays a single source, not a
|
|
# parallel list)
|
|
# - `args` is a list of strings
|
|
# - spec-consistency.yml has no direct `pytest scripts/test_*.py` outside the runner
|
|
#
|
|
# Out of scope (deliberate):
|
|
# - whether every `scripts/test_*.py` on disk is listed here (41 currently
|
|
# unlisted; that's a separate policy decision, see #156 follow-up)
|
|
# - `python3 -m unittest scripts.test_*` invocations (different runner family;
|
|
# stays inline in spec-consistency.yml)
|
|
#
|
|
# Adding a new entry:
|
|
# 1. add a [[pytest]] block with a unique `id`, the test file `path`, and
|
|
# optional `args` (list of strings, passed to pytest verbatim).
|
|
# 2. run `python scripts/check_ci_pytest_manifest.py` to validate.
|
|
# 3. run `python scripts/run_ci_pytest_manifest.py --id <id>` to smoke-test
|
|
# locally before opening a PR.
|
|
|
|
[[pytest]]
|
|
id = "v3.7.1-sha-gate"
|
|
path = "scripts/test_check_v3_6_8_pattern_protection.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.7.1-trust-chain-frontmatter"
|
|
path = "scripts/test_check_v3_6_8_frontmatter_trust_schema.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.7.1-audit-scope-block"
|
|
path = "scripts/test_check_v3_6_8_audit_scope_block.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.7.1-cite-time-provenance"
|
|
path = "scripts/test_check_v3_6_8_cite_provenance_pipeline.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.7.3-three-layer-citation"
|
|
path = "scripts/test_check_v3_7_3_three_layer_citation.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.9.0-triangulation"
|
|
path = "scripts/test_check_v3_9_0_triangulation.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-firm-rules-sync"
|
|
path = "scripts/test_check_firm_rules_sync.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-policy-layer"
|
|
path = "scripts/test_check_v3_10_policy.py"
|
|
|
|
[[pytest]]
|
|
id = "268-nested-commitment-ledger"
|
|
path = "scripts/test_check_268_nested_commitment_ledger.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.9.2-phase-boundary"
|
|
path = "scripts/test_check_v3_9_2_phase_boundary.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.9.2-pipeline-integrity"
|
|
path = "scripts/test_check_pipeline_integrity.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.7.1-audit-snapshot-section-0"
|
|
path = "scripts/test_audit_snapshot_render_section_0.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.6.7-phase-6.3-lint"
|
|
path = "scripts/test_check_audit_artifact_consistency.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.6.7-pattern-eval-manifest"
|
|
path = "scripts/test_check_pattern_eval_manifest.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.6.7-pattern-eval-unit"
|
|
path = "scripts/test_pattern_eval_runtime.py"
|
|
args = ["-k", "micro or run_id or coverage or phase_inventory or fixture_phase or (synthetic and not supersession)"]
|
|
|
|
[[pytest]]
|
|
id = "v3.6.7-pattern-eval-integration"
|
|
path = "scripts/test_pattern_eval_runtime.py"
|
|
args = ["-k", "integration or (synthetic and supersession)"]
|
|
|
|
[[pytest]]
|
|
id = "v3.6.7-wrapper-e2e"
|
|
path = "scripts/test_run_codex_audit_e2e.py"
|
|
|
|
[[pytest]]
|
|
id = "kong-259-domain-evidence-profile"
|
|
path = "scripts/test_check_domain_evidence_profile.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-184-evals-gold-set"
|
|
path = "scripts/test_check_evals_gold_set.py"
|
|
|
|
[[pytest]]
|
|
id = "kong-257-rq-framing-patterns"
|
|
path = "scripts/test_check_rq_framing_patterns.py"
|
|
|
|
[[pytest]]
|
|
id = "issue-215-field-norm-severity"
|
|
path = "scripts/test_check_field_norm_severity.py"
|
|
|
|
[[pytest]]
|
|
id = "issue-215-field-norm-coverage"
|
|
path = "scripts/test_check_215_field_norm.py"
|
|
|
|
[[pytest]]
|
|
id = "issue-216-surface-form-parity-gold"
|
|
path = "scripts/test_check_surface_form_parity.py"
|
|
|
|
[[pytest]]
|
|
id = "issue-216-surface-form-coverage"
|
|
path = "scripts/test_check_216_surface_form.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-184-run-evals"
|
|
path = "scripts/test_run_evals.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-184-check-ranking-lift"
|
|
path = "scripts/test_check_ranking_lift.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-184-eval-threshold-gate"
|
|
path = "scripts/test__eval_threshold_gate.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-184-evals-citation-extraction"
|
|
path = "scripts/test_evals_citation_extraction.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-184-evals-lift-report-schema"
|
|
path = "scripts/test_evals_lift_report_schema.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-184-eval-harness-workflow"
|
|
path = "scripts/test_eval_harness_workflow.py"
|
|
|
|
[[pytest]]
|
|
id = "184-render-eval-comment"
|
|
path = "scripts/test_render_eval_comment.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-134-write-scope-guard"
|
|
path = "scripts/test_ars_write_scope_guard.py"
|
|
|
|
[[pytest]]
|
|
id = "454-write-scope-guard-launcher"
|
|
path = "scripts/test_run_guard_launcher.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-134-write-scope-lint-mutation"
|
|
path = "scripts/test_check_v3_10_134_write_scope.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.11-citation-existence-policy"
|
|
path = "scripts/test_citation_existence_policy.py"
|
|
|
|
# #182 Delta 4+5 data-layer tests (shipped via #313/#315 but not wired into the
|
|
# manifest at the time; backfilled here so the runner actually executes them).
|
|
[[pytest]]
|
|
id = "v3.10-182-citation-verification-summary"
|
|
path = "scripts/test_citation_verification_summary.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-182-verification-gate"
|
|
path = "scripts/test_verification_gate.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-182-arxiv-client"
|
|
path = "scripts/test_arxiv_client.py"
|
|
|
|
[[pytest]]
|
|
id = "511-transport-fixture-citation-gate"
|
|
path = "scripts/test_transport_fixture_citation_gate.py"
|
|
|
|
[[pytest]]
|
|
id = "511-degradation-registry"
|
|
path = "scripts/test_check_degradation_registry.py"
|
|
|
|
[[pytest]]
|
|
id = "758-data-flows-map"
|
|
path = "scripts/test_check_data_flows.py"
|
|
|
|
[[pytest]]
|
|
id = "771-markdown-lint-util"
|
|
path = "scripts/test__markdown_lint_util.py"
|
|
|
|
[[pytest]]
|
|
id = "759-risk-register"
|
|
path = "scripts/test_check_risk_register.py"
|
|
|
|
[[pytest]]
|
|
id = "756-data-access-level-pins"
|
|
path = "scripts/test_check_data_access_level.py"
|
|
|
|
[[pytest]]
|
|
id = "809-skill-inventory-parity"
|
|
path = "scripts/test_check_skill_inventory_parity.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-182-verification-cache"
|
|
path = "scripts/test_verification_cache.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.10-182-verify-passport-cli"
|
|
path = "scripts/test_verify_passport_cli.py"
|
|
|
|
[[pytest]]
|
|
id = "346-349-cross-model-grounding-guards"
|
|
path = "scripts/test_cross_model_verification_guards.py"
|
|
|
|
[[pytest]]
|
|
id = "346-349-cross-model-sync-lint"
|
|
path = "scripts/test_check_cross_model_verification_sync.py"
|
|
|
|
[[pytest]]
|
|
id = "453-compat-verdict-normalization"
|
|
path = "scripts/test_normalize_compat_verdict.py"
|
|
|
|
[[pytest]]
|
|
id = "361-judge-prompt-version-drift"
|
|
path = "scripts/test_check_judge_prompt_version.py"
|
|
|
|
[[pytest]]
|
|
id = "272-instruction-data-boundary-mutation"
|
|
path = "scripts/test_check_instruction_data_boundary.py"
|
|
|
|
[[pytest]]
|
|
id = "675-indirect-injection-behavior-probe"
|
|
path = "scripts/test_indirect_prompt_injection_behavior_probe.py"
|
|
|
|
[[pytest]]
|
|
id = "675-indirect-injection-no-call-envelope"
|
|
path = "scripts/test_run_indirect_prompt_injection_no_call.py"
|
|
|
|
[[pytest]]
|
|
id = "659-within-session-ideation-diversity-assets"
|
|
path = "scripts/test_validate_ideation_diversity_assets.py"
|
|
|
|
[[pytest]]
|
|
id = "582-role-topology-utility-dry-run"
|
|
path = "scripts/test_run_role_topology_utility_dry_run.py"
|
|
|
|
[[pytest]]
|
|
id = "659-within-session-ideation-diversity-no-call-envelope"
|
|
path = "scripts/test_run_ideation_diversity_no_call.py"
|
|
|
|
[[pytest]]
|
|
id = "659-within-session-ideation-diversity-assignment-gate"
|
|
path = "scripts/test_ideation_diversity_assignment_gate.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-stance-seed-assets"
|
|
path = "scripts/test_claim_standing_stance_assets.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-discovery-adapters"
|
|
path = "scripts/test_claim_standing_discovery.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-stance-contracts"
|
|
path = "scripts/test_claim_standing_stance_contracts.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-stance-runner"
|
|
path = "scripts/test_claim_standing_stance_runner.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-query-plan-builder"
|
|
path = "scripts/test_build_claim_standing_query_plan.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-freshness"
|
|
path = "scripts/test_check_claim_standing_freshness.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-transmissions"
|
|
path = "scripts/test_claim_standing_transmissions.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-pipeline-wiring"
|
|
path = "scripts/test_claim_standing_pipeline_wiring.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-view-renderer"
|
|
path = "scripts/test_render_claim_standing_view.py"
|
|
|
|
[[pytest]]
|
|
id = "250-title-fuzzy-false-positive-pin"
|
|
path = "scripts/test_title_fuzzy_false_positive.py"
|
|
|
|
[[pytest]]
|
|
id = "396-rubric-weight-consistency"
|
|
path = "scripts/test_check_rubric_weight_consistency.py"
|
|
|
|
[[pytest]]
|
|
id = "reviewer-scoring-honesty"
|
|
path = "scripts/test_check_reviewer_scoring_honesty.py"
|
|
|
|
[[pytest]]
|
|
id = "735-socratic-rq-non-generation"
|
|
path = "scripts/test_socratic_rq_non_generation_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "736-claim-strength-drift-disposition"
|
|
path = "scripts/test_claim_strength_drift_disposition.py"
|
|
|
|
[[pytest]]
|
|
id = "737-claim-registry-coverage"
|
|
path = "scripts/test_claim_registry_coverage.py"
|
|
|
|
[[pytest]]
|
|
id = "737-claim-verification-coverage-contract"
|
|
path = "scripts/test_claim_verification_coverage_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "738-human-read-attestation-resolver"
|
|
path = "scripts/test_human_read_attestation_resolver.py"
|
|
|
|
[[pytest]]
|
|
id = "740-review-panel-provenance"
|
|
path = "scripts/test_review_panel_provenance.py"
|
|
|
|
[[pytest]]
|
|
id = "392-citation-verification-intake"
|
|
path = "scripts/test_check_392_citation_verification_intake.py"
|
|
|
|
[[pytest]]
|
|
id = "394-submission-package-verifier"
|
|
path = "scripts/test_verify_submission_package.py"
|
|
|
|
[[pytest]]
|
|
id = "394-submission-policy-lint"
|
|
path = "scripts/test_check_394_submission_policy.py"
|
|
|
|
[[pytest]]
|
|
id = "439-format-profile-lint"
|
|
path = "scripts/test_check_439_format_profile.py"
|
|
|
|
[[pytest]]
|
|
id = "413-agents-mirror-sync"
|
|
path = "scripts/test_check_agents_mirror_sync.py"
|
|
|
|
[[pytest]]
|
|
id = "390-block-parser"
|
|
path = "scripts/test_block_parser.py"
|
|
|
|
[[pytest]]
|
|
id = "390-anchorize-draft"
|
|
path = "scripts/test_ars_anchorize_draft.py"
|
|
|
|
[[pytest]]
|
|
id = "390-apply-revision-patch"
|
|
path = "scripts/test_ars_apply_revision_patch.py"
|
|
|
|
[[pytest]]
|
|
id = "390-revision-patch-discipline-lint"
|
|
path = "scripts/test_check_390_revision_patch_discipline.py"
|
|
|
|
[[pytest]]
|
|
id = "release-gate-changelog-covers-merges"
|
|
path = "scripts/test_check_changelog_covers_merges.py"
|
|
|
|
[[pytest]]
|
|
id = "v3.9.4-temporal-verification"
|
|
path = "scripts/test_check_v3_9_4_temporal_verification.py"
|
|
|
|
[[pytest]]
|
|
id = "491-setup-cross-model-parity"
|
|
path = "scripts/test_check_setup_cross_model_parity.py"
|
|
|
|
[[pytest]]
|
|
id = "517-model-tiering-classification"
|
|
path = "scripts/test_check_model_tiering.py"
|
|
|
|
[[pytest]]
|
|
id = "524-tools-allowlist-lock"
|
|
path = "scripts/test_check_tools_allowlist.py"
|
|
|
|
[[pytest]]
|
|
id = "510-panel-synthesis-checker"
|
|
path = "scripts/test_check_panel_synthesis.py"
|
|
|
|
[[pytest]]
|
|
id = "574-schema-13-2-validator"
|
|
path = "scripts/test_check_sprint_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "574-phase-conformance-checker"
|
|
path = "scripts/test_check_phase_conformance.py"
|
|
|
|
[[pytest]]
|
|
id = "574-role-scoped-contract-lint"
|
|
path = "scripts/test_check_role_scoped_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "574-decision-contract-lint"
|
|
path = "scripts/test_check_decision_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "528-pipeline-boundary-semantics"
|
|
path = "scripts/test_check_pipeline_boundary_semantics.py"
|
|
|
|
[[pytest]]
|
|
id = "527-handoff-envelope-fixtures"
|
|
path = "scripts/test_cross_model_handoff.py"
|
|
|
|
[[pytest]]
|
|
id = "527-handoff-contract-lint"
|
|
path = "scripts/test_check_cross_model_handoff_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "544-update-reminder"
|
|
path = "scripts/test_ars_update_check.py"
|
|
|
|
[[pytest]]
|
|
id = "570-revision-token-conservation"
|
|
path = "scripts/test_check_revision_token_conservation.py"
|
|
|
|
[[pytest]]
|
|
id = "574-seeded-defect-fixtures"
|
|
path = "scripts/test_check_seeded_defect_fixtures.py"
|
|
|
|
[[pytest]]
|
|
id = "574-reviewer-data-fences"
|
|
path = "scripts/test_check_reviewer_data_fences.py"
|
|
|
|
[[pytest]]
|
|
id = "574-reviewer-finding-contract"
|
|
path = "scripts/test_check_reviewer_finding_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "576-re-review-synthesis-checker"
|
|
path = "scripts/test_check_re_review_synthesis.py"
|
|
|
|
[[pytest]]
|
|
id = "670-non-ranking-revision-roadmap"
|
|
path = "scripts/test_revision_roadmap.py"
|
|
|
|
[[pytest]]
|
|
id = "670-revision-roadmap-integration"
|
|
path = "scripts/test_check_670_revision_roadmap_integration.py"
|
|
|
|
[[pytest]]
|
|
id = "576-persuasion-invariance-fixtures"
|
|
path = "scripts/test_check_persuasion_invariance_fixtures.py"
|
|
|
|
[[pytest]]
|
|
id = "608-e4-dispatch-harness"
|
|
path = "scripts/test_dispatch_e4_panel.py"
|
|
|
|
[[pytest]]
|
|
id = "616-e4-promotion-integrity"
|
|
path = "scripts/test_check_e4_promotion.py"
|
|
|
|
[[pytest]]
|
|
id = "616-e4-resume-record"
|
|
path = "scripts/test_resume_e4_record.py"
|
|
|
|
[[pytest]]
|
|
id = "611-reviewer-sprint-prompt-sync"
|
|
path = "scripts/test_check_reviewer_sprint_prompt_sync.py"
|
|
|
|
[[pytest]]
|
|
id = "610-receipt-enum-sync"
|
|
path = "scripts/test_check_receipt_enum_sync.py"
|
|
|
|
[[pytest]]
|
|
id = "610-step5-recompute-calculator"
|
|
path = "scripts/test_recompute_receipts.py"
|
|
|
|
[[pytest]]
|
|
id = "611-reviewer-role-label"
|
|
path = "scripts/test_check_reviewer_role_label.py"
|
|
|
|
[[pytest]]
|
|
id = "611-calibration-tiers"
|
|
path = "scripts/test_check_calibration_tiers.py"
|
|
|
|
[[pytest]]
|
|
id = "619-disclosure-closeout"
|
|
path = "scripts/test_check_619_disclosure_closeout.py"
|
|
|
|
[[pytest]]
|
|
id = "615-venue-disclosure-contract"
|
|
path = "scripts/test_venue_disclosure_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "595-chinese-literature-client"
|
|
path = "scripts/test_chinese_literature_client.py"
|
|
|
|
[[pytest]]
|
|
id = "617-harness-retirement-generator"
|
|
path = "scripts/test_render_harness_retirement_issue.py"
|
|
|
|
[[pytest]]
|
|
id = "633-command-frontmatter-name"
|
|
path = "scripts/test_check_command_frontmatter_name.py"
|
|
|
|
[[pytest]]
|
|
id = "654-heldout-measurement-contract"
|
|
path = "scripts/test_check_heldout_measurement_report.py"
|
|
|
|
[[pytest]]
|
|
id = "679-revision-claim-drift-suite-v2"
|
|
path = "scripts/test_check_revision_claim_drift_suite_v2.py"
|
|
|
|
[[pytest]]
|
|
id = "665-human-subjects-output-contract"
|
|
path = "scripts/test_check_human_subjects_output_contract.py"
|
|
|
|
[[pytest]]
|
|
id = "666-human-subjects-authority"
|
|
path = "scripts/test_resolve_human_subjects_authority.py"
|
|
|
|
[[pytest]]
|
|
id = "669-review-pathway-rule-trace"
|
|
path = "scripts/test_review_pathway_rule_trace.py"
|
|
|
|
[[pytest]]
|
|
id = "669-review-pathway-integration"
|
|
path = "scripts/test_check_669_review_pathway_rule_trace.py"
|
|
|
|
[[pytest]]
|
|
id = "667-submission-packet-manifest"
|
|
path = "scripts/test_build_submission_packet_manifest.py"
|
|
|
|
[[pytest]]
|
|
id = "667-submission-packet-integration"
|
|
path = "scripts/test_check_submission_packet_manifest_integration.py"
|
|
|
|
[[pytest]]
|
|
id = "681-content-coverage-advisory"
|
|
path = "scripts/test_content_coverage_advisory.py"
|
|
|
|
[[pytest]]
|
|
id = "681-content-coverage-integration"
|
|
path = "scripts/test_check_content_coverage_advisory_integration.py"
|
|
|
|
[[pytest]]
|
|
id = "672-cross-document-consistency-advisory"
|
|
path = "scripts/test_cross_document_consistency_advisory.py"
|
|
|
|
[[pytest]]
|
|
id = "672-cross-document-consistency-integration"
|
|
path = "scripts/test_check_cross_document_consistency_advisory_integration.py"
|
|
|
|
[[pytest]]
|
|
id = "673-adjudication-activity-runtime"
|
|
path = "scripts/test_adjudication_activity.py"
|
|
|
|
[[pytest]]
|
|
id = "673-adjudication-activity-integration"
|
|
path = "scripts/test_check_673_adjudication_activity.py"
|
|
|
|
[[pytest]]
|
|
id = "680-human-subjects-reference-migration"
|
|
path = "scripts/test_check_human_subjects_reference_migration.py"
|
|
|
|
[[pytest]]
|
|
id = "678-bibliographic-integrity-signals"
|
|
path = "scripts/test_check_bibliographic_integrity_signals.py"
|
|
|
|
[[pytest]]
|
|
id = "660-tortured-phrase-screening"
|
|
path = "scripts/test_tortured_phrase_screening.py"
|
|
|
|
[[pytest]]
|
|
id = "660-tortured-phrase-integration"
|
|
path = "scripts/test_check_tortured_phrase_screening_integration.py"
|
|
|
|
[[pytest]]
|
|
id = "651-retraction-status"
|
|
path = "scripts/test_retraction_status.py"
|
|
|
|
[[pytest]]
|
|
id = "668-committee-correspondence"
|
|
path = "scripts/test_check_committee_correspondence.py"
|
|
|
|
[[pytest]]
|
|
id = "683-review-target-context"
|
|
path = "scripts/test_resolve_review_target_context.py"
|
|
|
|
[[pytest]]
|
|
id = "684-review-criteria-binding-runtime"
|
|
path = "scripts/test_review_criteria_binding.py"
|
|
|
|
[[pytest]]
|
|
id = "684-review-criteria-binding-integration"
|
|
path = "scripts/test_check_684_review_criteria_binding.py"
|
|
|
|
[[pytest]]
|
|
id = "684-review-criteria-constructive-value-scorer"
|
|
path = "scripts/test_score_review_criteria_constructive_value.py"
|
|
|
|
[[pytest]]
|
|
id = "684-review-criteria-constructive-value-runner"
|
|
path = "scripts/test_run_review_criteria_constructive_value.py"
|
|
|
|
[[pytest]]
|
|
id = "656-shared-evidence-row-contract"
|
|
path = "scripts/test_evidence_rows.py"
|
|
|
|
[[pytest]]
|
|
id = "656-evidence-row-integration"
|
|
path = "scripts/test_check_evidence_row_integration.py"
|
|
|
|
[[pytest]]
|
|
id = "630-codex-subscription-transport"
|
|
path = "scripts/test_cross_model_codex_transport.py"
|
|
|
|
[[pytest]]
|
|
id = "630-codex-subscription-integration"
|
|
path = "scripts/test_check_630_codex_subscription_transport.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-candidate-ledger"
|
|
path = "scripts/test_build_claim_standing_candidate_ledger.py"
|
|
|
|
[[pytest]]
|
|
id = "655-claim-standing-candidate-ledger-integration"
|
|
path = "scripts/test_check_claim_standing_candidate_ledger_integration.py"
|
|
|
|
[[pytest]]
|
|
id = "512-pdf-read-preflight-and-content-sandbox"
|
|
path = "scripts/test_pdf_read_preflight.py"
|
|
|
|
[[pytest]]
|
|
id = "745-stage-capability-matrix"
|
|
path = "scripts/test_check_stage_capability_matrix.py"
|
|
|
|
[[pytest]]
|
|
id = "755-workflow-classification"
|
|
path = "scripts/test_check_workflow_classification.py"
|
|
|
|
[[pytest]]
|
|
id = "753-distribution-surface-claims"
|
|
path = "scripts/test_check_distribution_surface_claims.py"
|
|
|
|
[[pytest]]
|
|
id = "757-control-availability-map"
|
|
path = "scripts/test_check_control_availability.py"
|
|
|
|
[[pytest]]
|
|
id = "742-research-workflow-profile"
|
|
path = "scripts/test_research_workflow_profile.py"
|
|
|
|
[[pytest]]
|
|
id = "743-inquiry-branch-ledger"
|
|
path = "scripts/test_inquiry_branch_ledger.py"
|
|
|
|
[[pytest]]
|
|
id = "789-sealed-promotion-bakeoff"
|
|
path = "scripts/test_check_promotion_bakeoff_preregistration.py"
|
|
|
|
[[pytest]]
|
|
id = "653-calibration-corpus-assembler"
|
|
path = "scripts/test_assemble_calibration_corpus.py"
|
|
|
|
[[pytest]]
|
|
id = "653-calibration-dispatcher"
|
|
path = "scripts/test_dispatch_calibration_panel.py"
|
|
|
|
[[pytest]]
|
|
id = "653-calibration-scorer"
|
|
path = "scripts/test_score_calibration_run.py"
|
|
|
|
[[pytest]]
|
|
id = "653-calibration-measurement-row"
|
|
path = "scripts/test_build_calibration_measurement_row.py"
|
|
|
|
[[pytest]]
|
|
id = "845-shared-file-lock"
|
|
path = "scripts/test_file_lock.py"
|