fix: lowercase the GHCR image name

github.repository preserves the owner's casing and GHCR rejects any
uppercase in a repository name, so the image job failed on tag validation
before it built anything.

Also drops the review-quarantine skill's references to evidence spans and the
extraction-evaluator agent, both of which went away with the LLM layer.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Lucas Winther
2026-08-15 01:28:44 +02:00
co-authored by Claude Opus 5
parent 692b5a83d5
commit abaecc13c7
2 changed files with 15 additions and 14 deletions
+7 -12
View File
@@ -39,21 +39,18 @@ through the queue.
## Reviewing one event ## Reviewing one event
For each held event the UI shows the parsed fields, the reason and detail, the source link, and the For each held event the UI shows the parsed fields, the reason and detail, and the source link. Work
cleaned text excerpt the extraction came from. Work in this order: in this order:
1. **Read the evidence span.** Does it actually contain the dates claimed? If the quoted text does 1. **Open the source.** Confirm the dates against the live page.
not support the extracted dates, reject — and note it, because that is a hallucination and the
extraction prompt needs evaluating.
2. **Open the source.** Confirm the dates against the live page, not just the excerpt.
3. **Check the timezone.** Most gacha sources publish in UTC+8. Confirm the conversion. A silently 3. **Check the timezone.** Most gacha sources publish in UTC+8. Confirm the conversion. A silently
wrong timezone is the most common real error here, and it is 8 hours of wrongness that looks wrong timezone is the most common real error here, and it is 8 hours of wrongness that looks
plausible. plausible.
4. **Check `regionScoped`.** Is this a global banner end or a per-region reset? Getting this wrong 3. **Check `regionScoped`.** Is this a global banner end or a per-region reset? Getting this wrong
makes the countdown wrong for two thirds of users. makes the countdown wrong for two thirds of users.
5. **Check for a guessed end date.** If the source says TBD or gives no end and the candidate has a 4. **Check for a guessed end date.** If the source says TBD or gives no end and the candidate has a
concrete `endsAt`, that is a fabrication. Correct it to `null` with `endPrecision: "unknown"` concrete `endsAt`, that is a parser bug. Correct it to `null` with `endPrecision: "unknown"`
before approving, and flag the extraction. before approving, and open the adapter.
For `date_conflict` specifically: the UI shows the published event beside the candidate. Determine For `date_conflict` specifically: the UI shows the published event beside the candidate. Determine
which is right by going to the source. If the source genuinely changed, approve the correction. If which is right by going to the source. If the source genuinely changed, approve the correction. If
@@ -77,8 +74,6 @@ The queue is a signal. After working it, report what caused it:
- Repeated `sanity_failed` from one source → the adapter needs repair. Use the **adapter-author** - Repeated `sanity_failed` from one source → the adapter needs repair. Use the **adapter-author**
agent. agent.
- Hallucinated dates or fabricated evidence → the prompt regressed. Use the **extraction-evaluator**
agent before changing anything.
- Many `low_confidence` items that all turn out correct → the threshold may be too high, or the - Many `low_confidence` items that all turn out correct → the threshold may be too high, or the
source needs a second corroborating source. Do not just lower `CONFIDENCE_THRESHOLD` to make the source needs a second corroborating source. Do not just lower `CONFIDENCE_THRESHOLD` to make the
queue shorter; that trades a visible queue for invisible wrong dates. queue shorter; that trades a visible queue for invisible wrong dates.
+8 -2
View File
@@ -92,6 +92,12 @@ jobs:
- uses: docker/setup-buildx-action@v3 - uses: docker/setup-buildx-action@v3
- name: Lowercase image name
id: img
# GHCR rejects any uppercase in a repository name, and
# github.repository preserves the owner's casing verbatim.
run: echo "name=ghcr.io/${GITHUB_REPOSITORY,,}" >> "$GITHUB_OUTPUT"
- uses: docker/login-action@v3 - uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
@@ -103,8 +109,8 @@ jobs:
context: . context: .
push: true push: true
tags: | tags: |
ghcr.io/${{ github.repository }}:latest ${{ steps.img.outputs.name }}:latest
ghcr.io/${{ github.repository }}:${{ github.sha }} ${{ steps.img.outputs.name }}:${{ github.sha }}
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max