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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
*.mp4 binary

# Preserve licensed text and prompt-significant whitespace verbatim.
acidslide-v1/benchmark/fonts/licenses/** -whitespace
acidslide-v1/benchmark/prompts/variants/** -whitespace
gloss-v1/benchmark/fonts/licenses/** -whitespace
gloss-v1/benchmark/prompts/variants/** -whitespace
48 changes: 24 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: CI
on:
push:
branches: [main]
tags: ["acidslide-v*"]
tags: ["gloss-v*"]
pull_request:

permissions:
Expand All @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: acidslide-v1/grader
working-directory: gloss-v1/grader
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
Expand All @@ -24,20 +24,20 @@ jobs:
- run: uv sync --extra dev --locked
- run: uv run ruff check .
- run: uv run ruff format --check .
- run: uv run mypy acidslide tests
- run: uv run pytest --cov=acidslide --cov-report=term-missing --cov-fail-under=85
- run: uv run mypy gloss tests
- run: uv run pytest --cov=gloss --cov-report=term-missing --cov-fail-under=85
- run: uv build
- run: uv run pip-audit
- name: Verify self-contained wheel data
run: |
uv run python -m zipfile -l dist/acidslide-1.0.0a1-py3-none-any.whl | grep 'acidslide/data/benchmark/checklist/deck.yaml'
uv run python -m zipfile -l dist/acidslide-1.0.0a1-py3-none-any.whl | grep 'acidslide/data/schemas/ecma-376/xsd-transitional/pml.xsd'
uv run python -m zipfile -l dist/gloss-1.0.0a1-py3-none-any.whl | grep 'gloss/data/benchmark/checklist/deck.yaml'
uv run python -m zipfile -l dist/gloss-1.0.0a1-py3-none-any.whl | grep 'gloss/data/schemas/ecma-376/xsd-transitional/pml.xsd'

corpus:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: acidslide-v1/grader
working-directory: gloss-v1/grader
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
Expand All @@ -47,9 +47,9 @@ jobs:
- run: uv sync --extra dev --locked
- run: uv run python ../benchmark/validate_corpus.py
- name: Require the complete frozen release on version tags
if: startsWith(github.ref, 'refs/tags/acidslide-v')
if: startsWith(github.ref, 'refs/tags/gloss-v')
run: |
test "$GITHUB_REF_NAME" = "acidslide-v1.0.0"
test "$GITHUB_REF_NAME" = "gloss-v1.0.0"
uv run python ../benchmark/validate_corpus.py --release

launch:
Expand All @@ -69,12 +69,12 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- run: docker build --platform linux/amd64 --tag acidslide-ci acidslide-v1
- run: docker build --platform linux/amd64 --tag gloss-ci gloss-v1
- name: Verify frozen runtime and font inventory
run: |
docker run --rm --platform linux/amd64 --network none acidslide-ci --version
docker run --rm --platform linux/amd64 --network none gloss-ci --version
docker run --rm --platform linux/amd64 --network none \
--entrypoint /bin/sh acidslide-ci -ec '
--entrypoint /bin/sh gloss-ci -ec '
test "$(date -u +%Y-%m-%dT%H:%M:%SZ)" = "2025-01-01T00:00:00Z"
libreoffice --version | grep -F "LibreOffice 7.3.7.2"
pdftoppm -v 2>&1 | grep -F "22.02.0"
Expand All @@ -83,16 +83,16 @@ jobs:
- name: Reference deck passes quarantine and ECMA-376 validation
run: |
output=$(docker run --rm --platform linux/amd64 --network none \
--volume "$PWD/acidslide-v1/benchmark/deck/gold/acidslide-v1-gold.pptx:/input.pptx:ro" \
acidslide-ci validate /input.pptx 2>&1)
--volume "$PWD/gloss-v1/benchmark/deck/gold/gloss-v1-gold.pptx:/input.pptx:ro" \
gloss-ci validate /input.pptx 2>&1)
grep -F "Quarantine passed" <<<"$output"
grep -F "ECMA-376 schema: valid" <<<"$output"

service:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: acidslide-v1/service
working-directory: gloss-v1/service
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
Expand All @@ -102,8 +102,8 @@ jobs:
- run: uv sync --extra dev --locked
- run: uv run ruff check .
- run: uv run ruff format --check .
- run: uv run mypy acidslide_service tests
- run: uv run pytest --cov=acidslide_service --cov-report=term-missing --cov-fail-under=85
- run: uv run mypy gloss_service tests
- run: uv run pytest --cov=gloss_service --cov-report=term-missing --cov-fail-under=85
- run: uv run pip-audit

service-images:
Expand All @@ -113,15 +113,15 @@ jobs:
- name: Build canonical grader base
run: |
docker build --platform linux/amd64 --provenance=false \
--tag acidslide/grader:1.0.0 acidslide-v1
--tag gloss/grader:1.0.0 gloss-v1
- name: Build API, worker, and quarantine images
run: |
docker build --platform linux/amd64 --provenance=false \
--build-context schemas=acidslide-v1/schemas \
--target api --tag acidslide/service-api:1.0.0 acidslide-v1/service
--build-context schemas=gloss-v1/schemas \
--target api --tag gloss/service-api:1.0.0 gloss-v1/service
docker build --platform linux/amd64 --provenance=false \
--build-context schemas=acidslide-v1/schemas \
--target worker --tag acidslide/service-worker:1.0.0 acidslide-v1/service
--build-context schemas=gloss-v1/schemas \
--target worker --tag gloss/service-worker:1.0.0 gloss-v1/service
docker build --platform linux/amd64 --provenance=false \
--build-context schemas=acidslide-v1/schemas \
--target quarantine-job --tag acidslide/quarantine:1.0.0 acidslide-v1/service
--build-context schemas=gloss-v1/schemas \
--target quarantine-job --tag gloss/quarantine:1.0.0 gloss-v1/service
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Start with an [issue](https://github.com/aronchick/gloss/issues/new/choose). Thi

1. Keep public claims traceable to committed evidence.
2. Do not add invented model results, scores, costs, or generation provenance.
3. Keep the public name **Gloss** and the protocol identifier `acidslide-v1` distinct.
3. Keep the public name **Gloss** and the protocol identifier `gloss-v1` distinct.
4. Treat the OpenSpec as Draft until the release validator passes and maintainers freeze it.
5. Add or update tests for grader behavior changes.
6. Never commit private slide decks, credentials, customer data, or proprietary fonts.
Expand All @@ -28,7 +28,7 @@ Install [uv](https://docs.astral.sh/uv/), Python 3.12, LibreOffice Impress, and

```bash
git clone https://github.com/aronchick/gloss.git
cd gloss/acidslide-v1/grader
cd gloss/gloss-v1/grader
uv sync --extra dev --locked
uv run ../benchmark/validate_corpus.py
uv run pytest tests/test_mutation_fixtures.py -q
Expand All @@ -39,8 +39,8 @@ Run the full grader checks before opening a pull request:
```bash
uv run ruff check .
uv run ruff format --check .
uv run mypy acidslide tests
uv run pytest --cov=acidslide --cov-fail-under=85
uv run mypy gloss tests
uv run pytest --cov=gloss --cov-fail-under=85
uv build
uv run pip-audit
```
Expand All @@ -52,8 +52,8 @@ cd ../service
uv sync --extra dev --locked
uv run ruff check .
uv run ruff format --check .
uv run mypy acidslide_service tests
uv run pytest --cov=acidslide_service --cov-fail-under=85
uv run mypy gloss_service tests
uv run pytest --cov=gloss_service --cov-fail-under=85
uv run pip-audit
```

Expand Down Expand Up @@ -87,7 +87,7 @@ CI must pass. Maintainers may ask for a smaller fixture, clearer provenance, or

The static site lives in `site/`. Harness counts come from
`site/evidence/preview-v1.json`; comparative bars come from the byte-equivalent
public copy of `acidslide-v1/benchmark/comparative-v1/summary.json`. Verify both
public copy of `gloss-v1/benchmark/comparative-v1/summary.json`. Verify both
sources, local assets, copy, and media metadata with:

```bash
Expand Down
Loading
Loading