> Historical record: references to the legacy hosted PR check describe the
> original narrower gate. Use `nix flake check` for current validation; recorded
> results below do not establish a pass of today's broader check.

Integration environment: python3 supplied from existing /nix/store/60m4rxhg2fldqaak400c0lry96ijrzqn-python3-3.13.13/bin via PATH. Nix daemon access restricted.
$ nix develop -c ctest --test-dir build/card06-gpu -R '^(qwen27b_continuation_identity_test|qwen38_flash_next_continuation_identity_test|deepseek_v4_flash_continuation_identity_test)$' --output-on-failure
warning: Git tree '/home/mixer/gufo' is dirty
error: cannot connect to socket at '/nix/var/nix/daemon-socket/socket': Operation not permitted

exit=1

$ nix develop -c ctest --test-dir build/card06-gpu -R '^(speculative_verification_test|speculative_corpus_test|ds4\.sampling|ds4\.template|ds4\.cli|ds4\.load|extension_core_model_includes_gate|check_extension_isolation_test)$' --output-on-failure
warning: Git tree '/home/mixer/gufo' is dirty
error: cannot connect to socket at '/nix/var/nix/daemon-socket/socket': Operation not permitted

exit=1

$ nix shell --inputs-from . nixpkgs#clang-tools -c python3 tools/ci/check-format.py
warning: Git tree '/home/mixer/gufo' is dirty
error: cannot connect to socket at '/nix/var/nix/daemon-socket/socket': Operation not permitted

exit=1

$ python3 tools/ci/check-extension-api.py
PASS: extension API surface (6 paths)

exit=0

$ python3 tools/ci/check-extension-api.py --write
PASS: extension API surface (6 paths)

exit=0

SURFACE byte comparison before/after --write: unchanged

$ python3 tools/ci/check-extension-isolation.py --fail-on-core-model-includes
[check-extension-isolation] REPORT ONLY (coupling does not fail this check)
  files: 1225
  includes: 8331
  cross_owner_includes: 1114
  namespace_references: 1039
  name_references: 12546
  configuration_mentions: 1426
  qwen_headers: 60
  configuration -> src/core: 1
  models/deepseek_v4_flash -> src/cli: 3
  models/deepseek_v4_flash -> src/core: 17
  models/embedding_gemma2 -> src/core: 11
  models/minimax_h3 -> models/qwen: 1
  models/minimax_h3 -> src/core: 11
  models/qwen -> src/cache: 3
  models/qwen -> src/core: 103
  models/qwen38_flash_next -> models/qwen: 8
  models/qwen38_flash_next -> src/cache: 2
  models/qwen38_flash_next -> src/core: 26
  models/qwen3_asr -> src/cli: 2
  models/qwen3_asr -> src/core: 11
  models/qwen3_tts -> models/qwen: 2
  models/qwen3_tts -> src/core: 10
  models/qwen_image_21 -> models/qwen: 2
  models/qwen_image_21 -> src/core: 7
  src/cache -> src/core: 1
  src/cli -> configuration: 2
  src/cli -> models/deepseek_v4_flash: 9
  src/cli -> models/embedding_gemma2: 8
  src/cli -> models/minimax_h3: 4
  src/cli -> models/qwen: 32
  src/cli -> models/qwen38_flash_next: 6
  src/cli -> models/qwen3_asr: 5
  src/cli -> models/qwen3_tts: 8
  src/cli -> models/qwen_image_21: 1
  src/cli -> src/cache: 9
  src/cli -> src/core: 93
  src/cli -> src/eval: 3
  src/cli -> src/testing: 1
  src/core -> src/cache: 5
  src/eval -> src/core: 1
  src/ext -> configuration: 5
  tests/benchmarks -> src/cli: 1
  tests/benchmarks -> src/core: 2
  tests/cache -> src/cache: 25
  tests/cache -> src/core: 8
  tests/cli -> models/deepseek_v4_flash: 1
  tests/cli -> models/qwen: 3
  tests/cli -> src/cache: 1
  tests/cli -> src/cli: 37
  tests/cli -> src/core: 21
  tests/cli -> tests/cache: 1
  tests/cli -> tests/models/qwen27b: 1
  tests/cli -> tests/support: 3
  tests/core -> src/core: 36
  tests/core -> tests/support: 1
  tests/diagnostics -> src/core: 11
  tests/extensions -> configuration: 4
  tests/extensions -> src/cli: 1
  tests/kernels -> models/qwen: 3
  tests/kernels -> src/core: 4
  tests/models/chat_template_golden_helpers.hpp -> src/core: 2
  tests/models/chat_template_hf_token_golden_test.cpp -> models/qwen: 2
  tests/models/chat_template_hf_token_golden_test.cpp -> src/core: 3
  tests/models/chat_template_hf_token_golden_test.cpp -> tests/models/chat_template_golden_helpers.hpp: 1
  tests/models/deepseek_v4_flash -> models/deepseek_v4_flash: 27
  tests/models/deepseek_v4_flash -> models/qwen: 1
  tests/models/deepseek_v4_flash -> src/cli: 4
  tests/models/deepseek_v4_flash -> src/core: 8
  tests/models/deepseek_v4_flash -> src/eval: 2
  tests/models/deepseek_v4_flash -> tests/models/chat_template_golden_helpers.hpp: 2
  tests/models/deepseek_v4_flash -> tests/support: 1
  tests/models/embedding_gemma2 -> models/embedding_gemma2: 22
  tests/models/embedding_gemma2 -> src/cli: 2
  tests/models/embedding_gemma2 -> src/core: 12
  tests/models/minimax_h3_audio_vae_hip_test.hip -> models/minimax_h3: 5
  tests/models/minimax_h3_denoiser_hip_test.hip -> models/minimax_h3: 4
  tests/models/minimax_h3_dit_hip_test.hip -> models/minimax_h3: 5
  tests/models/minimax_h3_generation_test.cpp -> models/minimax_h3: 2
  tests/models/minimax_h3_generation_test.cpp -> src/core: 1
  tests/models/minimax_h3_media_test.cpp -> models/minimax_h3: 1
  tests/models/minimax_h3_media_test.cpp -> src/core: 1
  tests/models/minimax_h3_prompt_encoder_hip_test.hip -> models/minimax_h3: 4
  tests/models/minimax_h3_runtime_hip_test.cpp -> models/minimax_h3: 1
  tests/models/minimax_h3_runtime_test.cpp -> models/minimax_h3: 3
  tests/models/minimax_h3_runtime_test.cpp -> tests/support: 1
  tests/models/minimax_h3_sampling_hip_test.hip -> models/minimax_h3: 1
  tests/models/minimax_h3_sampling_test.cpp -> models/minimax_h3: 2
  tests/models/minimax_h3_tokenizer_test.cpp -> models/minimax_h3: 2
  tests/models/minimax_h3_tokenizer_test.cpp -> models/qwen: 1
  tests/models/minimax_h3_video_vae_hip_test.hip -> models/minimax_h3: 4
  tests/models/minimax_h3_video_vae_test.cpp -> models/minimax_h3: 2
  tests/models/qwen -> models/qwen: 144
  tests/models/qwen -> models/qwen38_flash_next: 1
  tests/models/qwen -> src/cache: 1
  tests/models/qwen -> src/cli: 1
  tests/models/qwen -> src/core: 57
  tests/models/qwen -> src/testing: 1
  tests/models/qwen -> tests/models/chat_template_golden_helpers.hpp: 1
  tests/models/qwen -> tests/support: 1
  tests/models/qwen -> tests/testing: 6
  tests/models/qwen27b -> models/qwen: 25
  tests/models/qwen27b -> src/cache: 1
  tests/models/qwen27b -> src/cli: 2
  tests/models/qwen27b -> src/core: 20
  tests/models/qwen27b -> src/testing: 1
  tests/models/qwen27b -> tests/models/qwen: 3
  tests/models/qwen27b -> tests/support: 2
  tests/models/qwen38_flash_next -> models/qwen: 7
  tests/models/qwen38_flash_next -> models/qwen38_flash_next: 54
  tests/models/qwen38_flash_next -> src/cache: 1
  tests/models/qwen38_flash_next -> src/cli: 2
  tests/models/qwen38_flash_next -> src/core: 10
  tests/models/qwen38_flash_next -> tests/models/qwen27b: 2
  tests/models/qwen38_flash_next -> tests/support: 2
  tests/models/qwen3_tts -> models/qwen3_tts: 20
  tests/models/qwen3_tts -> src/cli: 3
  tests/models/qwen_image_21 -> models/qwen_image_21: 6
  tests/models/qwen_image_21 -> src/cli: 2
  tests/models/qwen_image_21 -> src/core: 2
  tests/models/qwen_image_21 -> tests/support: 1
  tests/quality -> models/qwen: 2
  tests/quality -> src/core: 1
  tests/quality -> src/eval: 3
  tests/support -> src/core: 2
  tests/testing -> src/testing: 1
  tools/bench -> models/qwen: 1
  tools/bench -> src/core: 1
  tools/llama_parity -> src/core: 1
  tools/models -> models/qwen_image_21: 2
  tools/models -> src/core: 1
  tools/qwen27b -> models/qwen: 12
  tools/qwen27b -> tests/models/qwen: 2
  Note: Lexical namespace references are candidates, not compiler-resolved symbols.
  Note: Includes in all conditional branches are counted; macro includes are not resolved.
  Note: Header closure covers literal repository-local includes, not compiler search paths.
  Note: Directories named vendor and Python bytecode caches are excluded.
[check-extension-isolation] PASS: core boundary (no src/core -> src/models|src/families includes)

exit=0

$ sha256sum docs/model-extensions/RFC.md
2ce2becbc0bf0f844702b624de6827c2bae6eba921ab8a1ea883659fa2f96448  docs/model-extensions/RFC.md

exit=0


Fallback outside pinned dev shell (does not replace required Nix gate):
$ /nix/store/r9941n32g4wyvggz2703dlplbdq8a6rd-cmake-4.1.2/bin/ctest --test-dir build/card06-gpu -R '^(qwen27b_continuation_identity_test|qwen38_flash_next_continuation_identity_test|deepseek_v4_flash_continuation_identity_test)$' --output-on-failure
Test project /home/mixer/gufo/build/card06-gpu
    Start 187: qwen27b_continuation_identity_test
1/3 Test #187: qwen27b_continuation_identity_test .............   Passed    0.00 sec
    Start 218: deepseek_v4_flash_continuation_identity_test
2/3 Test #218: deepseek_v4_flash_continuation_identity_test ...   Passed    0.00 sec
    Start 235: qwen38_flash_next_continuation_identity_test
3/3 Test #235: qwen38_flash_next_continuation_identity_test ...   Passed    0.00 sec

100% tests passed, 0 tests failed out of 3

Label Time Summary:
cache                =   0.00 sec*proc (3 tests)
correctness          =   0.00 sec*proc (3 tests)
cpu                  =   0.00 sec*proc (3 tests)
deepseek_v4_flash    =   0.00 sec*proc (1 test)
qwen27b              =   0.00 sec*proc (1 test)
qwen38_flash_next    =   0.00 sec*proc (1 test)

Total Test time (real) =   0.01 sec

exit=0

Fallback outside pinned dev shell:
$ /nix/store/r9941n32g4wyvggz2703dlplbdq8a6rd-cmake-4.1.2/bin/ctest --test-dir build/card06-gpu -R '^(speculative_verification_test|speculative_corpus_test|ds4\.sampling|ds4\.template|ds4\.cli|ds4\.load|extension_core_model_includes_gate|check_extension_isolation_test)$' --output-on-failure
Test project /home/mixer/gufo/build/card06-gpu
    Start  40: check_extension_isolation_test
1/8 Test  #40: check_extension_isolation_test .......   Passed    3.38 sec
    Start  42: extension_core_model_includes_gate
2/8 Test  #42: extension_core_model_includes_gate ...   Passed    3.35 sec
    Start  68: speculative_corpus_test
3/8 Test  #68: speculative_corpus_test ..............   Passed    0.06 sec
    Start 128: speculative_verification_test
4/8 Test #128: speculative_verification_test ........   Passed    0.07 sec
    Start 219: ds4.sampling
5/8 Test #219: ds4.sampling .........................   Passed    0.52 sec
    Start 220: ds4.template
6/8 Test #220: ds4.template .........................   Passed    0.06 sec
    Start 221: ds4.cli
7/8 Test #221: ds4.cli ..............................   Passed    0.06 sec
    Start 225: ds4.load
8/8 Test #225: ds4.load .............................   Passed    0.06 sec

100% tests passed, 0 tests failed out of 8

Label Time Summary:
benchmarks      =   0.06 sec*proc (1 test)
cli             =   0.06 sec*proc (1 test)
cpu             =   7.49 sec*proc (7 tests)
ds4             =   0.75 sec*proc (5 tests)
gpu             =   0.07 sec*proc (1 test)
hip             =   0.07 sec*proc (1 test)
loader          =   0.06 sec*proc (1 test)
qwen            =   0.06 sec*proc (1 test)
repository      =   6.73 sec*proc (2 tests)
sampling        =   0.52 sec*proc (1 test)
speculative     =   0.14 sec*proc (2 tests)
tokenization    =   0.06 sec*proc (1 test)
tools           =   0.06 sec*proc (1 test)

Total Test time (real) =   7.57 sec

exit=0

=== ORCHESTRATOR RE-RUN (closes integration's sandbox-PENDING gates), 2026-10-31 ===
[all via nix develop, repo root]
1) ctest identity trio -R '^(qwen27b|qwen38_flash_next|deepseek_v4_flash)_continuation_identity_test$' -> exit 0, 100% tests passed out of 3 (zero skips)
2) ctest affected units (speculative_verification_test, speculative_corpus_test, ds4.sampling/template/cli/load, extension_core_model_includes_gate, check_extension_isolation_test) -> exit 0, 100% tests passed out of 8
3) check-format.py -> exit 0, PASS: Checked 727 C++ files
4) check-extension-api.py -> exit 0 PASS (6 paths); --write -> exit 0, SURFACE diff 0 files; check-extension-isolation.py --fail-on-core-model-includes -> exit 0 PASS core boundary
5) sha256sum RFC.md -> 2ce2becbc0bf0f844702b624de6827c2bae6eba921ab8a1ea883659fa2f96448 (unchanged)
6) check-docs.py whole-repo -> 164 errors, ALL in unrelated untracked hrx-system/, 0 outside (recorded baseline; the --root docs/model-extensions invocation used for one attempt was a tool misuse: --root redefines the repo root and fails by design)
Still pending: hosted legacy hosted PR check (orchestrator, after final review edits), functional matrix + prompt_lookup + timings + benchmarks (post-Card-14 window), qwen_mtp_gpu_test (asset), DeepSeek GPU trio/runtime (user-skipped), lock-mode HIP runtime gates.

=== FINAL USER-MANDATED CODEX REVIEW, 2026-10-31 ===
cmd: codex exec review --dangerously-bypass-approvals-and-sandbox 'review the diff of current jj revision, you can use jj diff to see changes'
exit: 0
verdict (verbatim): The refactor preserves the speculative adapter behavior and correctly updates callers and policy propagation. Extension API validation and all six isolation tests passed; C++ tests could not be rerun because ctest was unavailable.
critical/major findings: none; nothing to fix. ctest gap covered by ORCHESTRATOR RE-RUN above. Raw transcript held outside docs (context-size policy).
