Skip to content

docs(matchdoor): persistent annotation lifecycle KDoc#230

Merged
delebedev merged 2 commits intomainfrom
claude/jovial-goodall
Mar 23, 2026
Merged

docs(matchdoor): persistent annotation lifecycle KDoc#230
delebedev merged 2 commits intomainfrom
claude/jovial-goodall

Conversation

@delebedev
Copy link
Owner

Summary

  • Enriches PersistentAnnotationStore class KDoc with the full persistent annotation lifecycle: create (4 sources in fixed order), carry-forward, replace-on-update (counter upsert), delete (5 reasons), drain-once-per-GSM semantics
  • Documents computeBatch ordering invariant (steps 1→6 fixed order) and snapshot timing constraint
  • Adds invisible-constraint comments on applyBatchResult (must run after GSM assembly) and drainDeletions (Full vs Diff distinction)
  • Cross-references from GameBridge.annotations and StateMapper snapshot/apply sites back to the store KDoc

Follows documentation principles: KDoc at the seam (principles #1, #4), invisible constraints documented (principle #3), no standalone doc needed.

Test plan

  • Comment-only changes — no behavioral impact
  • Formatter already applied (just fmt)

🤖 Generated with Claude Code

…g invariants

Enriches KDoc on PersistentAnnotationStore with the full lifecycle
(create/carry-forward/replace-on-update/delete/drain), computeBatch
step ordering invariant, snapshot timing constraint, and threading
contract. Adds invisible-constraint comments on applyBatchResult and
drainDeletions. Cross-references from GameBridge and StateMapper.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link

github-actions bot commented Mar 23, 2026

Test Results

  242 files  ±0  242 suites  ±0   2m 0s ⏱️ -5s
1 006 tests ±0  980 ✅ ±0   26 💤 ±0  0 ❌ ±0 
1 795 runs  ±0  995 ✅ ±0  800 💤 ±0  0 ❌ ±0 

Results for commit 75be9e8. ± Comparison against base commit d908420.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Mar 23, 2026

CI Report — Gate

Tests: 825/825 passed (190 skipped)

Coverage: 11.0% (642/5861 lines)

Module Coverage Lines
tooling 🔴 11% 642/5861
Slow tests (>3s): 1
  • InstanceIdReallocTest.Limbo grows across multiple plays (5.4s)

…; add kdoc-enrich skill

WebPlayerController: documents threading model (every override runs on
engine thread, blocks via CompletableFuture), chooseSpellAbilityToPlay
as game loop entry point, playChosenSpellAbility deadlock constraint,
and cross-class flag contracts (searchedToHandCards, legendRuleVictims,
stashedOptionalCostIndices) with InteractivePromptBridge.

GameEventCollector: documents drain-once-per-GSM contract (double-drain
silently loses events), event ordering vs annotation ordering distinction,
and cross-class flag consumption from WebPlayerController via PromptBridge.

Adds kdoc-enrich skill with process, decision criteria, and candidates
backlog for future enrichment sessions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@delebedev delebedev merged commit b7741f0 into main Mar 23, 2026
4 checks passed
@delebedev delebedev deleted the claude/jovial-goodall branch March 23, 2026 22:19
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