Native reader labs + Brain v4: exhaustive device evidence and repair loop #512
Workflow file for this run
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
| name: Canonical media type, playback core and native evidence gate | |
| on: | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "provider_catalog.json" | |
| - "manifest.json" | |
| - "vf/manifest.json" | |
| - "package.json" | |
| - "package-lock.json" | |
| - ".github/triggers/nuvio-client-lab.json" | |
| - "automation/native-human-ux-policy.json" | |
| - "automation/nuvio-client-compatibility-matrix.json" | |
| - "assets/**" | |
| - "engine_v2/config/global-repair-skills.json" | |
| - "engine_v2/src/**" | |
| - "engine_v2/tests/**" | |
| - "engine_v2/scripts/plan-repairs.mjs" | |
| - "engine_v2/scripts/diagnose-native-reader.mjs" | |
| - "engine_v2/scripts/diagnose-native-media-capabilities.mjs" | |
| - "engine_v2/scripts/learning-lab.mjs" | |
| - "engine_v2/scripts/watch-upstream-providers.mjs" | |
| - "scripts/check_nuvio_client_upstreams.py" | |
| - "scripts/nuvio_runtime_compatibility.py" | |
| - "scripts/resolve_nuvio_lab_heads.py" | |
| - "scripts/scope_native_reader_learning_runtime.py" | |
| - "scripts/prepare_native_corpus_validation.py" | |
| - "scripts/native_player_diagnostics_codegen.py" | |
| - "scripts/augment_native_corpus_request_contract.py" | |
| - "scripts/augment_native_provider_loading.py" | |
| - "scripts/prepare_native_candidate_repository.py" | |
| - "scripts/resolve_native_repository.sh" | |
| - "scripts/native_evidence_completeness.cjs" | |
| - "scripts/analyze_native_corpus_collection.cjs" | |
| - "scripts/analyze_native_corpus_results.cjs" | |
| - "scripts/analyze_native_media_type_capabilities.cjs" | |
| - "scripts/gate_native_reader_result.cjs" | |
| - "scripts/gate_native_reader_coverage.cjs" | |
| - "scripts/instrument_native_client_evidence.py" | |
| - "scripts/instrument_native_repository_http_evidence.py" | |
| - "scripts/instrument_native_desktop_evidence.py" | |
| - "scripts/capture_native_device_frontend.sh" | |
| - "scripts/watch_native_device_frontend.sh" | |
| - "scripts/augment_native_desktop_player.py" | |
| - "scripts/complete_native_desktop_frontend_phases.py" | |
| - "scripts/run_native_corpus_tv_suite.sh" | |
| - "scripts/run_native_corpus_mobile_suite.sh" | |
| - "scripts/run_native_corpus_desktop_suite.sh" | |
| - "scripts/merge_native_reader_repair_learning.py" | |
| - "scripts/merge_native_reader_backlog.py" | |
| - "scripts/adaptive_runtime/runtime_repair.py" | |
| - "scripts/provider_patches/safe_structured_parse_v1.py" | |
| - "scripts/provider_patches/global_stream_facts_v1.py" | |
| - "scripts/provider_patches/global_stream_identity_v1.py" | |
| - "scripts/provider_patches/global_stream_presentation_v1.py" | |
| - ".github/workflows/native-android-route-reader.yml" | |
| - ".github/workflows/native-desktop-reader-acceptance.yml" | |
| - ".github/workflows/native-reader-learning-sync.yml" | |
| - ".github/workflows/brain-learning-lab.yml" | |
| - "tests/canonical_media_types_test.py" | |
| - "tests/global_stream_identity_test.py" | |
| - "tests/global_stream_presentation_test.py" | |
| - "tests/global_stream_presentation_pipeline_test.py" | |
| - "tests/badge_asset_contract_test.py" | |
| - "tests/brain_cron_full_coverage_test.py" | |
| - "tests/safe_structured_parse_skill_test.py" | |
| - "tests/adaptive_safe_structured_parse_profile_test.py" | |
| - "tests/native_evidence_contract_test.py" | |
| - "tests/native_evidence_completeness_test.cjs" | |
| - "tests/native_evidence_codegen_pipeline_test.py" | |
| - "tests/native_player_diagnostics_codegen_test.py" | |
| - "tests/native_lab_observational_purity_test.py" | |
| - "tests/native_human_ux_policy_lock_test.py" | |
| - "tests/native_repository_cache_contract_test.py" | |
| - "tests/native_repository_http_instrumentation_test.py" | |
| - "tests/native_media_type_capability_test.py" | |
| - "tests/native_reader_learning_memory_test.py" | |
| - "tests/native_reader_runtime_scope_test.py" | |
| - "tests/nuvio_lab_head_resolver_test.py" | |
| - "tests/native_reader_backlog_test.py" | |
| - ".github/workflows/canonical-media-types.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: canonical-media-types-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| canonical-media-types: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 18 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 | |
| with: {persist-credentials: false} | |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 | |
| with: {node-version: "24", package-manager-cache: false} | |
| - name: Install exact dependency tree | |
| run: npm ci --ignore-scripts --no-audit --no-fund | |
| - name: Audit non-optional production dependencies | |
| run: npm audit --audit-level=high --omit=optional | |
| - name: Verify upgraded runtime imports | |
| run: node -e "require('axios'); require('cheerio'); console.log('dependency imports ok')" | |
| - name: Validate canonical catalog and manifest projections | |
| run: python3 tests/canonical_media_types_test.py | |
| - name: Validate canonical stream contract | |
| run: node engine_v2/tests/contracts.test.mjs | |
| - name: Validate shared stream presentation and TMDB fallback | |
| run: node engine_v2/tests/stream-presentation.test.mjs | |
| - name: Validate Core-wide stream facts, identity and presentation | |
| run: | | |
| python3 tests/global_stream_presentation_test.py | |
| python3 tests/global_stream_presentation_pipeline_test.py | |
| python3 tests/global_stream_identity_test.py | |
| python3 tests/brain_cron_full_coverage_test.py | |
| - name: Validate versioned Nuvio Brain compatibility and global structural skills | |
| run: | | |
| python3 scripts/nuvio_runtime_compatibility.py | |
| node engine_v2/tests/repair-brain.test.mjs | |
| python3 tests/safe_structured_parse_skill_test.py | |
| python3 tests/adaptive_safe_structured_parse_profile_test.py | |
| - name: Validate image badge assets and theme contrast mapping | |
| run: python3 tests/badge_asset_contract_test.py | |
| - name: Validate weekly upstream provider comparator | |
| run: node engine_v2/tests/upstream-provider-watch.test.mjs | |
| - name: Validate deep HLS playback chain and ranking | |
| run: node engine_v2/tests/media-validator.test.mjs | |
| - name: Validate resolver Core | |
| run: node engine_v2/tests/resolver-core.test.mjs | |
| - name: Validate Brain v4 reader causality | |
| run: node engine_v2/tests/native-reader-brain-v4.test.mjs | |
| - name: Validate exact official Nuvio Lab HEAD resolver | |
| run: python3 tests/nuvio_lab_head_resolver_test.py | |
| - name: Validate full native evidence architecture | |
| run: python3 tests/native_evidence_contract_test.py | |
| - name: Validate native evidence execution floor | |
| run: node tests/native_evidence_completeness_test.cjs | |
| - name: Validate native reader codegen purity | |
| run: python3 tests/native_player_diagnostics_codegen_test.py | |
| - name: Execute native evidence Kotlin codegen pipeline | |
| run: python3 tests/native_evidence_codegen_pipeline_test.py | |
| - name: Audit observational purity of native labs | |
| run: python3 tests/native_lab_observational_purity_test.py | |
| - name: Enforce locked human UX harness policy | |
| run: python3 tests/native_human_ux_policy_lock_test.py | |
| - name: Validate repository HTTP instrumentation contracts | |
| run: python3 tests/native_repository_http_instrumentation_test.py | |
| - name: Validate persistent native repository cache safety | |
| run: python3 tests/native_repository_cache_contract_test.py | |
| - name: Validate repository and reader Brain diagnosis | |
| run: node engine_v2/tests/native-reader-diagnosis.test.mjs | |
| - name: Validate native reader repair-memory merge | |
| run: python3 tests/native_reader_learning_memory_test.py | |
| - name: Validate reader memory isolation across Nuvio runtime drift | |
| run: python3 tests/native_reader_runtime_scope_test.py | |
| - name: Validate automatic native reader bug backlog | |
| run: python3 tests/native_reader_backlog_test.py | |
| - name: Validate Brain cross-day reader-memory preservation | |
| run: node engine_v2/tests/learning-lab-memory.test.mjs | |
| - name: Validate non-blocking tv/anime capability learning | |
| run: python3 tests/native_media_type_capability_test.py |