Make unknown-job sweep tests deterministic after platform-storage PR 6 (CI incident evidence) #662
Closed
opened 2026-10-16 08:21:57 +00:00 by toasterson
·
0 comments
No Branch/Tag specified
main
fix/ci-sccache-20261018
fix/house-schema-upgrade-round12a
fix/ptah-bounded-rule-joins
codex/mausbot-legacy-provenance-round9a
feat/mausbot-native-computer-dispatch
fix/akhomed-single-instance-discovery
feat/mausbot-native-admission
feat/mausbot-acp-owner
codex/runtime-auth-writeback-prep-20261017
feat/disposable-image-conformance
fix/house-merge-symbol-normalization
fix/house-metrics-checkpoint
fix/house-backup-close
fix/odin-inference-lost-ack-20261015
fix/apollo-codex-0160
docs/tencentdb-agent-memory-harvest
fix/claude-inference-proposals
fix/native-receipt-directory-mode
anima/01a130d9-cd0c-7bb1-ab8b-b9de509b5b3e
feat/native-cognitive-backing
fix/roman-dojo-teacher-goldens
sokar/52f
anima/01a0297c-b49b-75f3-a7bf-d7015fdae67d
arc/close
sokar/52g
sokar/52e
sokar/52d
sokar/52c
arc/t3
sokar/52b
arc/t-plan
codex/transcripts-arm-headroom-20261011
arc/paper-trim2
arc/paper-trim
arc/paper-lb
arc/paper-cover
arc/paper-writeup
arc/paper-v04
arc/build-record
arc/2026-plan
arc/s4c
arc/s5
arc/s4b
arc/s4
arc/s3
arc/s2
arc/s1
clm/r3-replay
docs/clm-m1c
clm/cuda-backend
testing/gemma4-31b-clm
clm/r2-arena-kvops
codex/native-chat-receipts-20261006
fix/electra-gemma4-decode-window
codex/plan14-receipt-mode-20261007
fix/electra-prefill-layer-fence
fix/electra-bounded-prefill
feat/lilith-export-exclude-sources
feat/lilith-export-stage-passes
codex/plan14-runtime-details-20261007
feat/lilith-trainer-collapse-guard
codex/plan14-native-conformance-20261007
claude/wi-019e2501-define-fluent-infrastructure-home-state
feat/lilith-loop-probe
feat/lilith-trainer-probe-protocol
feat/lilith-answer-turn-pairs
feat/lilith-dojo-cli-teacher
docs/lilith-program-r5-plan
codex/plan14-native-opus-cli-20261006
claude/wi-01a03edf-wave-r1a-typed-fail-closed-config-spine
fix/strict-clippy-20261006
codex/roman-health-pivot-20261006
anima/01a0c94f-65b8-7ab2-9234-a7a40c8e935f
codex/wi845-native-recovery-20261006
fix/lilith-exam-enable-thinking
codex/electra-harness
feat/lilith-dojo-enable-thinking
fix/electra-gemma-handoff
vox/native-chat-principal
docs/context-language-model
clm/2-loop-integration
clm/r1-gemma4-kv
clm/r1-parity-cap
feat/lilith-panel-grounding-rule
feat/lilith-r4-run-config
feat/lilith-sibling-result-budget
feat/lilith-first-divergence-pairs
docs/lilith-program-r3-result
feat/lilith-shadow-report
clm/1-live-context
feat/lilith-r3-stage-plan
clm/math
feat/lilith-runtime-hygiene
feat/lilith-gap-loop
feat/lilith-gap-records
feat/lilith-shadow-families
feat/lilith-care-family
docs/lilith-r3-shadow-plan
docs/lilith-memory-run-20261005
feat/hephaistos-lora-adapter
backup/2026-10-13/wi527-main-image-20261005
docs/lilith-program-r2-result
codex/wi-01a10748-runtime-quarantine-inventory
feat/roman-audio-prompts-20261003
fix/acp-audio-fail-closed-20261003
claude/wi-01a08260-seshat-idle
anima/01a08262-3ea3-7460-b2de-b2a08e28cd74
claude/wi-01a08260-synthesis-validation
agent/cef957cb46e7
claude/wi-019f90cb-p26-2-retire-llama-cpp-2-migrate-the-nlu
claude/wi-01a03edf-deployment-config-manual-recovery
claude/wi-01a03edf-5416-7413-ab36-308c8bee1cd1-database-cutover
claude/wi-019fa8eb-wi-5-second-language-provider-retire-com
claude/wi-01a08262-thinking-persistence
claude/wi-019fa8eb-repo-state-manual-recovery
claude/wi-01a02982-42d-1-current-tree-rrf-core-and-lossless
claude/wi-01a08260-heka-note-traversal-prerequisite-determi
claude/wi-019f90cc-p26-5-wire-the-neural-bridge-into-the-in
claude/wi-01a07aaa-grug-train-fail-closed-when-a-checkpoint
claude/wi-01a0825f-seshat-curiosity-1-implement-structured
claude/wi-01a05293-candle-backend-re-prefills-the-entire-co
codex/lilith-history-prep-20261001
claude/wi-019f8589-wi-3-session-registry-akh-session-list-i
claude/wi-01a0297c-emit-runtime-metrics
claude/wi-019fa8ea-wi-2-scip-precision-tier-the-resolution
claude/wi-019f90cc-p27-2-tripleverbalizer-kg-triples-divers
claude/wi-01a05291-agent-tool-description-audit-when-to-use
claude/wi-019fffd3-librarian-g5-a-consolidation-gate-real-p
claude/wi-01a08260-p3-rl-a2-map-deterministic-engine-replay
claude/wi-019f85b9-adversarial-review-observability-stack-3
claude/wi-019f90cc-p27-1-switch-the-trainingdatacollector-o
anima/01a0878e-53b5-7820-be08-fadc5de1b74b
claude/wi-019f85b9-adversarial-review-heka-long-term-memory
fix/core-context-recovery
fix/akh-shared-ci-test-isolation
fix/ci-akhomed-smoke-contract-20261001
fix/ci-native-secret-delivery-20261001
fix/ci-native-builders-20261001
fix/ci-quiet-command-heartbeats-20260930
fix/ci-flux-verified-digest-bundle-20260930
fix/ci-workspace-profiling-defaults-20260930
fix/ci-verified-vesta-image-20260930
fix/ci-image-build-log-throughput-20260930
fix/ci-release-progress-20260930
fix/ci-complete-platform-image-set-20260930
migration/runpod-openbao-20260929
migration/armini-fleet-secret-guidance
migration/lilith-openbao
feat/lilith-c2-serve
feat/lilith-c2-roman-role
feat/lilith-c2-announce-relay
docs/lilith-c6b-7900xtx-results
feat/lilith-c6a-wireguard-k0s
feat/lilith-c4b-exam-harness
fix/lilith-recorder-thread-capture
feat/lilith-c4-cos-dojo
fix/lilith-cuda-numerics-default
feat/lilith-c5-trajectory-export
fix/lilith-c6-round3
feat/lilith-pod-watchdog
fix/lilith-c6-smoke-round2
docs/p6-5-outcomes
fix/lilith-template-hash-convention
feat/lilith-c1-cos-role
feat/lilith-c6-cuda-harness
feat/lilith-c3-recorder
feat/lilith-c6a-wireguard
docs/crew-names-lakota-english
fix/relation-enrichment-odd-orphans
feat/53g-pr7-delegation-bootstrap
feat/roman-stable-signed-core
fix/execd-allocation-leak
feat/53g-pr7-cluster-delegation
docs/vesta-publish-main
fix/akh-runtime-execution-mode
docs/lilith-names-kv
docs/lilith-local-gpu-qualification
docs/lilith-full-autonomy
docs/lilith-c5a-findings
docs/lilith-supervisor-wireguard
docs/fix-adam-kaine-doc-gaps
docs/lilith-chief-of-staff-rl
feature/lilith-runtime-training-runpod
feat/53g-pr8-vesta-sandbox
feat/53g-pr5-monitor-source
feat/53g-pr6-anima-source
feat/53g-pr7-janus-delegation
feat/paragraph-streaming
fix/roman-core-secret-files
fix/roman-core-credentials
phase53/full-akh
claude/wi-01a0c901-bound-the-process-output-a-model-receive
fix/wi-358-candle-kv-suffix-prefill
opus1/reviewer-command-output-budget
anima/01a0297c-7321-7471-92a3-e4b4e2b38053
recover/wi-324
claude/wi-01a08260-adr-099-1-typed-communication-directive
claude/wi-019fe826-awaken-ritual-a-failed-ritual-strands-a
docs/adr-112-kaine-theory-first
fix/roman-provider-blocks-20260921
archive/2026-09-27-hephaistos-worktree-agent-a274bb44
archive/2026-09-27-hephaistos-worktree-chat-e2e
fix/roman-wi-pagination-20260918
fix/provisioning-reconciliation-20260917
claude/wi-01a09fed-isolate-runtime-recovery-and-quarantine
fix/shell-cwd-ci-isolation-20260914
wip/production-akh-implementors-20260816
wip/production-akh-rollout-20260816
claude/wi-01a00ed0-code-ingest-detect-repository-breaks-und
claude/wi-019f85d6-wave-w1-ritual-genesis-pantheon-packs-di
codex/akh-deep-wi234
codex/wi180-deep-rebase
research/akh-agent-loops-cursor-opencode
research/akh-agent-loops-codex-claude
claude/wi-019f85b9-adversarial-review-distributed-inference
claude/wi-019f85d6-wave-r2-ownership-autostart-owner-host-c
claude/wi-01a02966-adr-081-s0-harness-make-the-three-channe
manual/tecton-wi329
claude/wi-01a0144a-flaky-test-agent-ollama-tests-chat-strea
codex/wi183-recovered-prerebase
claude/wi-019dd122-phase-41i-unified-trace-envelope-joining
claude/wi-019f85d6-wave-r4-akh-doctor-read-only-7-sections
claude/wi-019f90cb-p26-3-polarquant-kv-cache-compression-in
claude/wi-019fa8f0-adr-081-s0-pay-the-r2-empirical-bet-prob
claude/wi-019dd0c5-phase-42b-longmemeval-locomo-harness-wit
claude/wi-019f90cb-p26-4-neural-vsa-encoder-project-layer-n
claude/wi-019fdd22-the-learn-on-new-triples-trigger-fires-4
claude/wi-019fe636-sleep-relocate-leave-the-akh-advisory-lo
claude/wi-019fe260-any-acp-call-against-a-non-resident-work
archive/wi-019fa44f-rebased-onto-main
claude/wi-019fbe82-the-akh-emits-tool-activity-as-prose-in
claude/wi-019fbf62-phase-44n-context-rot-curve-bench-per-mo
claude/wi-019fcce4-per-turn-dispatch-mode-akh-dispatch-mode
agent/e138bd65c5aa
claude/wi-019fcd3d-akhomed-on-arm64-should-run-pvc-less-in
claude/wi-019e480e-mcp-crud-endpoints-for-agent-goals-expos
claude/wi-019fb44f-a-turn-goes-silent-after-its-work-is-don
archive/wi-019fa44f-sessions-on-one-akh-still-serialise-on-t
claude/wi-019f85d6-wave-r1-config-spine-config-crate-typed
archive/2026-07-28-wave-r2-ownership-autostart-owner-host-c
archive/2026-07-28-wave-w4-render-tier-psyche-render-pipeli
archive/2026-07-28-wave-w2-the-wizard-akh-onboard-verbs-akh
archive/2026-07-28-wave-w1-ritual-genesis-pantheon-packs-di
archive/2026-08-03-38j-pre-reset
claude/wi-019db1bd-anima-integration-workspace-daemon-that
archive/2026-08-03-38k-pre-reset
claude/wi-019dc599-phase-39-distributed-inference-fabric-ll
claude/wi-019dc57a-replace-continuous-learning-wikipedia-wi
claude/wi-019f9f56-sessions-report-the-wrong-work-item-teac
claude/agent-sandbox-workspace-root
claude/wi-019f9a1e-17-work-items-frozen-since-2026-07-23-ag
claude/wi-019f85d7-wave-w3-birth-extras-procedural-avatar-f
claude/wi-019f85d6-wave-r3-akhadvertisement-akh-daemon-akhs
claude/wi-019f85ba-adversarial-review-mcp-tools-kg-operatio
claude/cool-carson-b63ef4
worktree-phase38f-pg-authoritative-workspaces
feat/macmini
claude/wi-019db054-phase-36-delegation-external-scheduling
claude/wi-019db054-phase-32-llm-knowledge-extraction
claude/wi-019db054-phase-30-procedural-skills
claude/wi-019db054-phase-28-n-akh-semantic-router
claude/wi-019db054-phase-24-sensory-grounding
claude/wi-019db054-phase-23-affective-system
claude/wi-019db054-phase-27-live-kg-llm-training
claude/wi-019db054-phase-26-llm-vsa-deep-integration
claude/wi-019db054-release-alpha-kubernetes-deployment
claude/wi-019e3397-bug-infer-rules-creates-indiscriminate-p
claude/wi-019dbc03-bootstrap-embedding-nlu-llm-models-via-o
claude/wi-019db054-phase-20-active-inference
claude/wi-019dd0c7-phase-42h-cross-tool-bridge-daemon-opena
claude/wi-019dd0c6-phase-42g-akhipedia-auto-extraction-from
claude/wi-019e5982-akhomed-migrate-from-redb-to-postgres-fo
claude/wi-019e481e-mcp-provenance-filter-find-triples-by-de
claude/wi-019e481d-bounded-snapshot-mcp-workspace-snapshot
claude/wi-019dd122-phase-41h-ooda-thinkingloop-integration
claude/wi-019dd121-2026-04-28-synthesis-prompt-plan-tool-ca
claude/wi-019dd0c5-phase-41-the-thinking-engine-unified-thi
claude/wi-019dc9c9-phase-39a-llmbackend-trait-candlelocal-i
claude/wi-019dc9c9-phase-38a-workspace-entity-lifecycle-loa
claude/wi-019dc614-custom-cnpg-image-bake-with-age-pgvector
claude/wi-019dc599-phase-38-relocatable-session-based-akh-w
claude/wi-019db054-phase-35-t5-training-infrastructure
claude/wi-019db054-phase-34-communicative-intelligence
claude/wi-019db054-phase-29-capability-exposure
archive/2026-09-27-hephaistos-worktree-adr-054-vsa-jump
claude/wi-019e26ba-bug-byte-index-panic-on-utf-8-boundary-i
claude/wi-019e1598-high-fix-agent-memory-rs-456-byte-index
claude/wi-019e3b34-fix-akhomed-llm-integration-for-teacher
claude/wi-019dd0c6-phase-42d-hybrid-retrieval-pgvec-vsa-kg
claude/wi-019dd0c6-phase-42e-heka-mcp-server-8-tools-rememb
claude/wi-019dd0c6-phase-42f-akh-awakening-per-tool-init-cl
claude/wi-019e4909-ennead-agents-lack-proper-identity-no-ri
claude/wi-019e4909-vsa-symbols-never-grounded-ground-symbol
claude/wi-019e3eb9-ground-vsa-symbols-in-tecton-workspace-a
gemma4-paper-snapshot-2026-10
v0.8.0
v0.7.1
v0.7.0
v0.5.3
v0.5.2
v0.5.1
v0.5.0
v0.4.1
v0.4.0
v0.3.0
No labels
follow-up
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
toasterson/akh-medu#662
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The unknown-job sweep unit test depends on elapsed wall time between fixture writes, redb commit, runtime construction and the sweep. A loaded runner can legitimately age the supposedly fresh job past the 1,000 ms threshold, producing a false CI failure. Fix this in a separate small PR after platform-storage PR 6, without widening a timeout, disabling assertions or changing runtime expiry policy.
Evidence: three reported CI incidents, distinct causes
The operator asked to preserve all three incidents. Original runner logs establish that these are not three occurrences of the same sweep failure:
b754b16761f01cff446b2bbb8211e8906b93d347runtime::tests::sweep_closes_a_job_unknown_past_the_stall_threshold_and_only_that_one, runtime.rs:2273: actual["fresh", "stale"], expected["stale"]; 170 passed / 1 failed / 6 ignored.6b3f821ec5b72417e4ae13582cec5c1c8b3dc76btest-akh-medu)thinking::tests::analogy_goal_recovers_structured_binding, src/thinking/mod.rs:360: actualSome(SymbolId(16)), expectedSome(SymbolId(14)),halt=DiminishingReturns { marginal_value: -0.05 }. The platform/sweep suite passed on this retry.e0831dfeb6b7d7915bcc3bf69866cfe0cd2337bctests::sqlite_independent_connections_serialize_admission, crates/akh-service-store/src/lib.rs:318, workerunwrap()sawFault { code: "storage_error", message: "database is locked" }; parent join failed at line 324. 23 passed / 1 failed. The earlier platform suite passed 171 / 0 / 6, including sweep. This SQLite fixture is being fixed on #661 with explicit lock/release coordination; production busy timeout stays unchanged.Expanded Forgejo UI logs contained repeated/misassigned output; attribution comes from the original Solstice per-step logs, not inference from job names:
d24f9843-fe16-479b-8983-54ff0fc8499b, Forgejo task 37054,step:verify-independent-daemon-profiles-and-platform-contracts, seq 222–240.8e5c211a-a39c-4cc3-8d2f-8b07451e7189, task 37072, core library test step, seq 255–271.530e731e-096c-4ea4-b4a4-8fb907a81ef1, task 37266,step:verify-service-store-and-private-slot-contracts-with-disposable-postgres-and-openbao, seq 924–955. Failure occurred 2026-10-16 08:17 UTC. The same run's earlier broad platform step completed successfully.#654 eventually passed all 14 jobs in UI 4289 / API 9958 at
d41d5ed46563b97efa049bbc29aa355692d1da9c, with the same code tree asb754b167. This supports nondeterminism; it does not prove the analogy's root cause.Proposed real sweep fix
Current sweep/test source.
resolve_stale_unknown_jobs_at(now_ms)(or inject a clock). Keep the public production wrapper reading the real clock once and passing it through.unknown_sincerecord. Do not mix a fixed test clock with an internalnow_ms()call.tokio::time::pausealone does not control a wall-clock/SystemTimenow_ms()implementation.Keep this follow-up scoped to the sweep/clock contract. The analogy failure needs independent deterministic search/seed/order investigation; do not claim this clock fix repairs it. SQLite admission coverage is addressed in #661 using channels and an immediate test-only lock probe, not longer production waiting.
SQLite incident follow-up
The SQLite admission fixture fix is pushed on #661 as
c62371a0. All 24 service-store library tests and 20 coordinated admission trials (four concurrent test processes) passed locally. It changes test coordination only; the production five-second busy timeout is unchanged. Whole-run CI is being checked in UI 4304. This does not close the separate sweep-clock follow-up requested after PR 6.CI confirmation: all 15/15 jobs passed in run 4304 at
c62371a0037bd22fd549e482c8836ee41f285ce9, including the revised SQLite fixture and complete storage harness. The sweep-clock follow-up remains open for after PR 6.