KeiSeiKit-1.0/docs
Parfii-bot b103a9aa64 fix(kei-cortex/test): replace hand-rolled mock with wiremock — closes macOS CI flake
Previous `tests/common/mod.rs` spawned a mock Anthropic upstream via
hand-rolled axum + std:🧵:spawn + own current-thread tokio runtime
bound to 127.0.0.1:0. Stable on Linux runner; flaked on macOS GitHub
Actions runners:
  thread 'streaming_responses_runs_real_loop_not_stub' panicked at
  kei-cortex/tests/openai_loop_wiring.rs:277:5:
  no responses delta event in stream: event: response.error
  data: {"error":"model: anthropic request: error sending request
         for url (http://127.0.0.1:49312/v1/messages)"}

Root cause traced to macOS-runner loopback / fd-limit pressure on the
dedicated-thread current-thread runtime. wiremock crate runs a
production-quality hyper-based mock server, manages its own listener
lifecycle, and survives the macOS runner constraints.

## Change

- `Cargo.toml`: add wiremock = workspace dev-dep (already 0.6 in workspace)
- `tests/common/mod.rs::MockAnthropicServer` rebuilt over wiremock::MockServer
- `build_mock(text)` mounts `POST /v1/messages → 200 + canned body` on a
  wiremock instance
- `mock_anthropic_responding_with()` spins one per call on a parked
  helper thread (preserves `MockAnthropicServer: 'static` lifetime for
  `shared_mock_anthropic` `OnceLock` singleton)
- `shared_mock_anthropic()` API unchanged; existing test sites in
  `tests/openai_loop_wiring.rs` + `tests/openai_compat.rs` continue to
  work without modification

## Verification

`cargo test -p kei-cortex --test openai_loop_wiring`: 7/7 pass locally
`cargo test -p kei-cortex`: full suite green (428 lib + integration)

Also includes DNA-INDEX regenerate (auto-encyclopedia hook artefact;
0 vortex matches preserved).
2026-05-12 21:17:58 +08:00
..
encyclopedia fix(audit-batch-2): regressions from prev batch + 2nd-wave audit findings 2026-05-03 20:30:51 +08:00
AGENT-ROLES.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
AGENT-SCHEMA-LOCKED.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
AGENT-SUBSTRATE-SCHEMA.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
ARCHITECTURE.md fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
CONVERGENCE-PLAN.md docs: SKILL.md triggers + STATUS-TRUTH footer + phase placeholders 2026-05-02 21:41:41 +08:00
DNA-FORMAT.md docs: reviewer-response — honesty pass + portable format specs 2026-05-03 16:59:25 +08:00
DNA-INDEX.md fix(kei-cortex/test): replace hand-rolled mock with wiremock — closes macOS CI flake 2026-05-12 21:17:58 +08:00
HANDOFF-WAKE.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
IMPORT-RUNTIME.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
INSTALL.md fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
LEDGER-SCHEMA.md docs: reviewer-response — honesty pass + portable format specs 2026-05-03 16:59:25 +08:00
MEMORY-FORMAT.md docs: reviewer-response — honesty pass + portable format specs 2026-05-03 16:59:25 +08:00
PHILOSOPHY.md fix(audit-batch-2): regressions from prev batch + 2nd-wave audit findings 2026-05-03 20:30:51 +08:00
PROFILE-OUTCOME-ONLY.md fix(release+slices): v0.14.4 publish auth fallback + 4 fix-implementer slices 2026-05-04 00:16:48 +08:00
PUBLISHING.md docs: reviewer-response — honesty pass + portable format specs 2026-05-03 16:59:25 +08:00
QUICKSTART.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
REFERENCE.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
RULES-AS-BLOCKS.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
SCHEMA-LOCKED.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
SCHEMA-UNLOCKED.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
SECURITY.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
SLEEP-LAYER.md fix(audit-batch-2): regressions from prev batch + 2nd-wave audit findings 2026-05-03 20:30:51 +08:00
SUBSTRATE-SCHEMA.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
TAXONOMY.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
USB-BRAIN-GUIDE-linux.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
USB-BRAIN-GUIDE-macos.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
USB-BRAIN-GUIDE-windows.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
USB-BRAIN-GUIDE.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00
WHY.md KeiSeiKit-public — clean state 2026-05-01 12:09:03 +08:00