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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ jobs:
- name: Verify checked-in evidence integrity
if: ${{ hashFiles('evidence/v0.1.0-confirmatory.json') != '' }}
run: python scripts/confirmatory_evidence.py verify --integrity-only
- name: Verify evidence-derived README graphic
run: python scripts/generate_readme_assets.py --check
- name: Replay evidence from the implementation commit
if: ${{ matrix.python-version == '3.11' && hashFiles('evidence/v0.1.0-confirmatory.json') != '' }}
run: python scripts/confirmatory_evidence.py verify
Expand Down
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@

**Fail-closed preflight and regression CI for supervised fine-tuning.**

![SFTGuard confirmatory dashboard](docs/assets/sftguard-confirmatory-dashboard.png)
![SFTGuard confirmatory evidence matrix showing every preregistered injected fault detected and no false positives across clean controls](docs/assets/sftguard-confirmatory-evidence.svg)

*Generated from the sealed v0.1 artifact: 270/270 required signals across
nine synthetic fault templates and 30 frozen seeds, with 0/30 clean-control
false positives. This is internal detector regression evidence, not an external
fine-tuning benchmark or safety certification.*

I built SFTGuard to catch a narrow set of expensive-to-discover pipeline
mistakes before an adapter is released: malformed chat records, conflicting or
Expand Down Expand Up @@ -155,6 +160,8 @@ The viewer is a static React application with no analytics, report endpoint,
external font, or server-side storage. An imported report stays in the current
browser tab.

![SFTGuard browser-local report viewer displaying the confirmatory matrix](docs/assets/sftguard-confirmatory-dashboard.png)

```bash
cd web
npm ci
Expand Down Expand Up @@ -244,6 +251,7 @@ python -m pip install -e ".[dev]"
python -m pytest
python -m ruff check src tests/python scripts
python -m ruff format --check src tests/python scripts
python scripts/generate_readme_assets.py --check

cd web
npm ci
Expand Down
Loading