Skip to content

fix(studium): lockless ingest voice — the 39 canon-breadth tasks land + persist live - #75

Merged
4444J99 merged 1 commit into
mainfrom
feat/studium-transmission-curriculum
Jun 23, 2026
Merged

fix(studium): lockless ingest voice — the 39 canon-breadth tasks land + persist live#75
4444J99 merged 1 commit into
mainfrom
feat/studium-transmission-curriculum

Conversation

@4444J99

@4444J99 4444J99 commented Jun 23, 2026

Copy link
Copy Markdown
Owner

The studium daily face is live (renders Iliad Book 1). This makes the breadth-release durable too.

Problem (observed live): the C_FEED ingest voice printed queue busy (lock timeout) — skipped every beat and never seeded the 39 content tasks (studium-* stayed 0 for 30min), while the daily face fired fine.

Root cause: same 'generators must be lockless' lesson as the revenue-backlog organ (#97) — the daemon does not hold the queue lock across a beat, so queue_lock here only STARVES the voice under live contention.

Fix: drop queue_lock; re-read fresh before the write, dedupe by id, atomic-save — exactly like generate-revenue-backlog / generate-backlog. Never skip on contention; idempotent re-emit self-heals any clobber.

259 tests green.

🤖 Generated with Claude Code

… land live

Observed live: the C_FEED ingest voice printed 'queue busy (lock timeout) — skipped'
every beat and never seeded the tasks (studium-* stayed 0 for 30min), while the daily
face fired fine. Root cause = the same 'generators must be lockless' lesson as the
revenue-backlog organ (#97): the daemon does NOT hold the queue lock across a beat, so
queue_lock here only STARVES the voice under live contention.

Fix: drop queue_lock; re-read fresh right before the write, dedupe by id, atomic-save —
exactly like generate-revenue-backlog / generate-backlog. NEVER skip on contention; the
id-dedupe is idempotent and the every-beat re-emit self-heals any clobber.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@4444J99
4444J99 merged commit af9453a into main Jun 23, 2026
2 of 3 checks passed
@4444J99
4444J99 deleted the feat/studium-transmission-curriculum branch June 23, 2026 17:18
4444J99 pushed a commit that referenced this pull request Jun 23, 2026
…rge backlog

The sync-reclaim organ landed via direct heal commit f9325a8 (bypassing PR CI)
carrying 4 stray-semicolon violations (E702/E703) in cli/tests/test_sync_reclaim.py.
That made `ruff check cli/src cli/tests web/api mcp` — the first step of the `python`
CI job — fail on main, so EVERY PR branched from main inherits a red `python` check
(#75, #73, #57, #56, #54, #53, #52, #51 …). The merge organ holds CI-red PRs, so the
whole recent merge backlog — including the VLTIMA organ engine (#73) — was jammed.

Split the compound/trailing-semicolon statements onto separate lines (pure formatting,
semantics unchanged). ruff now passes; the 7 sync-reclaim tests still pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant