Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file removed .coverage
Binary file not shown.
78 changes: 0 additions & 78 deletions .github/workflows/ba-merge-check.yml

This file was deleted.

61 changes: 0 additions & 61 deletions .github/workflows/ba-pr-validate.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/cleanroom-install.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Cleanroom Install Smoke

# INIT-2026-549 — added after the b2/b3 fastapi regression (F-B3-007).
# [internal-tracker] — added after the b2/b3 fastapi regression (F-B3-007).
#
# The `simdrive-ci.yml` job installs `[dev]` extras to run the test suite. That
# means every CI run has fastapi + sqlalchemy + the full cloud-side dep graph
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: CodeQL (Python)

# INIT-2026-549 cleanup: salvaged — switched to build-mode: none and scoped
# [internal-tracker] cleanup: salvaged — switched to build-mode: none and scoped
# analysis to simdrive/src/. Original failure cause: autobuild ran `pip install`
# from repo root where no pyproject.toml exists (metadata lives at
# simdrive/pyproject.toml). Python doesn't need a build for CodeQL extraction,
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Security baseline (pip-audit)

# INIT-2026-549 W1: security CI baseline.
# [internal-tracker]: security CI baseline.
# - pip-audit: blocks on HIGH-severity vulns in the resolved dep graph.
# CodeQL lives in .github/workflows/codeql.yml (separate workflow for the
# distinct GitHub Code Scanning permissions model).
Expand All @@ -17,7 +17,7 @@ name: Security baseline (pip-audit)
# wire up gitleaks with a license — see docs/security/secret-scanning.md
# if/when that's added.
#
# INIT-2026-549 cleanup (review): paths verified post repo restructure.
# [internal-tracker] cleanup (review): paths verified post repo restructure.
# pip-audit consumes simdrive/requirements.lock (exists; pinned in PR #113).
# If this workflow is red on main, the cause is a real CVE finding in
# simdrive/requirements.lock — investigate and bump pin, do not mask.
Expand All @@ -38,7 +38,7 @@ permissions:
jobs:
pip-audit:
name: pip-audit (HIGH blocks)
# INIT-2026-549 cleanup: must be macOS — requirements.lock pins pyobjc-core,
# [internal-tracker] cleanup: must be macOS — requirements.lock pins pyobjc-core,
# which has a source-build dep on macOS frameworks (Quartz/Vision). On
# ubuntu-latest the audit step fails at the install phase with "PyObjC
# requires macOS to build" before pip-audit can even read the lock.
Expand All @@ -64,15 +64,15 @@ jobs:
# responsibility, not the library's). No fix version available.
# simdrive does not use pyjwt directly — it's a transitive dep
# of `mcp` for its own auth surface, which is not in our control.
# [INIT-2026-549]
#
# PYSEC-2026-161 / GHSA-86qp-5c8j-p5mr — starlette Host header path
# injection advisory (published 2026-05-22). Fix version is 1.0.1
# which is not yet available on PyPI as of 2026-05-22. Awaiting
# upstream release. simdrive runs as an MCP stdio server — it is
# not exposed to external HTTP requests, so exploitability is
# effectively zero in our threat model. Re-enable the block once
# starlette>=1.0.1 is published and requirements.lock is updated.
# Tracked: [INIT-2026-549]
# Tracked:
run: |
pip-audit -r simdrive/requirements.lock \
--vulnerability-service osv \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/simdrive-ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: simdrive CI

# INIT-2026-549 W1: expanded test gate.
# [internal-tracker]: expanded test gate.
# - Runs `pytest simdrive/tests -m "not live"` (was: tests/test_unit.py only).
# - Enforces a coverage ratchet floor on the hot-path modules (see simdrive/docs/COVERAGE_RATCHET.md).
# - Installs simdrive[dev] (which already pins pytest-cov, moto[s3], hypothesis).
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
--cov=simdrive.device \
--cov-report=xml \
--cov-report=term-missing \
--cov-fail-under=90 # Ratchet floor — INIT-2026-549 W4 push to 85% reached 92% on hot-path modules (server.py 70%->94%); floor set 2pp below measured per flake-safety policy.
--cov-fail-under=90 # Ratchet floor — [internal-tracker] push to 85% reached 92% on hot-path modules (server.py 70%->94%); floor set 2pp below measured per flake-safety policy.

- name: Upload coverage artifact
if: always()
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/specterqa-ios-publish.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: simdrive Publish to PyPI

# INIT-2026-549 W1: tag scheme migrated from `specterqa-ios-v*` to `simdrive-v*`.
# [internal-tracker]: tag scheme migrated from `specterqa-ios-v*` to `simdrive-v*`.
# Three pre-publish gates run before the build, in order:
# 1. version-match — git tag == simdrive-v<pyproject.version>
# 2. CHANGELOG head — first `## [X.Y.Z]` heading == pyproject version
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ venv/
.mypy_cache/
.pytest_cache/
.ruff_cache/
.hypothesis/
.coverage
coverage.xml
*.ips

# LapsApp — Xcode user-specific state (project.pbxproj IS committed)
Expand Down
4 changes: 0 additions & 4 deletions .hypothesis/constants/02570021c68fcd20

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/0281062a24aa6724

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/02f6e1d4984e19a3

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/043d863f84e06096

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/075a4b5b4ee059d7

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/0fb8be2e26406269

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/1009759aed581c2e

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/109f607f44d61338

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/10c17a0af179e228

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/10e546164e67d0e4

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/12aa14e099ddb4d1

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/13f1ae2012612e40

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/14a6af3593242d6b

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/167948095805dd43

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/16ff52bd8d9a2863

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/196b22e20f5e8b16

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/19dc7bb8054baa6c

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/1b6703a3f5aac0a8

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/1c003d066e512803

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/1dc607b436d40921

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/1e5328fceff4cc23

This file was deleted.

4 changes: 0 additions & 4 deletions .hypothesis/constants/2119d2c527806756

This file was deleted.

Loading
Loading