fix(infra): always-run schema CI, diagnose row probe, env-var truthy parity (#122, #301, #232)#353
Merged
Merged
Conversation
Contributor
Author
|
Prompt hidden (unlisted session) |
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Group F of
/qor-auto-dev-1orchestration — three independent infrastructure fixes bundled by low complexity and shared "hygiene" theme.#122 — Schema Persistence CI always-run (
.github/workflows/test-schema-persistence.yml):The workflow had
paths:filters that prevented it from running on non-schema PRs, but branch protection required the check — creating a deadlock where unrelated PRs were blocked indefinitely. Fix: remove thepaths:trigger filter so the job always starts (satisfying required-checks), adddorny/paths-filter@v3to conditionally skip the expensive install+test steps when no schema-relevant files changed. The job posts a green status either way.#301 — Diagnose row-level probe (
cli/diagnose.py,cli/_diagnose_gather.py,tests/test_diagnose_allowlist.py):bicameral.diagnoseprobed schema structure (table existence, schema version, row counts) but never tested whether rows could actually be deserialized. A SurrealDB SDK version mismatch manifests asInvalid revision N for type Valueon SELECT — schema looks healthy but operational queries fail. Fix:ledger_syncto_CANONICAL_TABLES(row counts now include it)_probe_row_deserialization(): runsSELECT * LIMIT 1againstledger_syncandsource_cursorto catch deserialization errorsrow_probe_warningsfield inDiagnosisdataclass +_ALLOWED_FIELDSallowlist_compute_suggestions()with actionable "back up + reset" guidance_format_row_probe_section()in the markdown report renderer#232 — Env-var truthy vocabulary parity (
handlers/ingest.py,consent.py):Three
BICAMERAL_*env-var toggles accepted only"1"whileBICAMERAL_INGEST_RATE_LIMIT_DISABLEandBICAMERAL_GUIDED_MODEaccepted the full_GUIDED_MODE_TRUTHYset (1/true/yes/on, case-insensitive). A user settingBICAMERAL_INGEST_CANARY_DISABLE=truewas silently ignored. Fix: all three now use_GUIDED_MODE_TRUTHY:BICAMERAL_INGEST_CANARY_DISABLEBICAMERAL_INGEST_SECRET_DISABLEBICAMERAL_SKIP_CONSENT_NOTICE#272 — Already resolved: All 3 regressions (test-summary SHA pin, M1 eval AttributeError, e2e Flow 1) were previously fixed on dev by PRs #273, #276, #282. No code changes needed.
Review & Testing Checklist for Human
test-schema-persistence.yml: on a PR that doesn't touchledger/schema.pyetc., the job should start but skip install+test with "Schema paths unchanged" messagebicameral-mcp diagnose(orbicameral.diagnosevia MCP) and verify the new "Row-level probe" section appears in the outputBICAMERAL_INGEST_CANARY_DISABLE=trueand verify canary detection is actually disabled (previously only=1worked)Notes
dorny/paths-filter@v3action is widely used (17k+ stars) and runs in ~2s. The workflow checkout step still runs for all PRs, but the expensive Python install + pytest steps are skipped when no schema files changed.Link to Devin session: https://app.devin.ai/sessions/1ce5d923e6d047bb840003f9aa10c812