docs(E1-12): register FuelEntryStateHolderTest SIGSEGV fix story for issue #42 - #43
Merged
Merged
Conversation
…issue #42 Add backlog story E1-12 (S, Phase 1, human-gated) registering GitHub issue #42: the intermittent SIGSEGV on :shared:iosSimulatorArm64Test where FuelEntryStateHolderTest closes the AppGraph while collectors on runTest's backgroundScope are still subscribed, producing a use-after-free on Kotlin/Native. The fix is test-only; the D-89 production-safety question is deferred to its own gated story. Follows the E1-11 precedent. - docs/BACKLOG.md: story, execution-order line, rationale, story-index row - AGENTS.md: update remaining Phase 1 count - docs/PROJECT_LOG.md: correction entry
davidru85
deployed
to
cloud-runtime-verification
September 1, 2026 14:08 — with
GitHub Actions
Active
31 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
E1-12(S, Phase 1, human-gated): the intermittentSIGSEGVon:shared:iosSimulatorArm64TestwhereFuelEntryStateHolderTestcloses theAppGraphwhile collectors onrunTest'sbackgroundScopeare still subscribed, producing a use-after-free on Kotlin/Native. The fix is test-only; the D-89 production-safety question is deferred to its own gated story. Follows theE1-11precedent (issue [Bug]: Vehicle cascade Fuel Entry tombstone omits entityType #36).Story
E1-12 - FuelEntryStateHolderTest Kotlin/Native SIGSEGV on Graph CloseReady Check
ProposedorPendingScope Completed
E1-12story todocs/BACKLOG.mdPhase 1, sized S, human-gated, registering issue [Bug]: FuelEntryStateHolderTest segfaults on iosSimulatorArm64 when the graph closes while collectors are live #42.AGENTS.mdremaining Phase 1 count (E1-10,E1-11,E1-12).docs/PROJECT_LOG.md.Acceptance Evidence
FuelEntryStateHolderTest.kt,AppGraph.kt:139,StateHolders.kt:77,DatabaseFactory.kt:38).Out of Scope / Not Done
E1-12implementation (the test fix itself) remains open for a follow-up PR.AppGraph.close(),StateHolders.close()orDatabaseFactory— deferred to its own gated story if pursued.Files Changed
docs/BACKLOG.md— new story, execution-order line, rationale, story-index rowAGENTS.md— remaining Phase 1 countdocs/PROJECT_LOG.md— correction entryDecisions Made
Include any
SHOULDyou deviated from, and why.AppGraph.close()safety question as a deferred decision, not a decision taken in this PR.Verification Run
Commands or checks run:
No code, build, lint, coverage, architecture or contract check is affected by a documentation-only backlog registration.
Contract Impact
Decision Board Impact
Shared-Write Modules Touched
Project Log Entry
docs/PROJECT_LOG.mdHuman Review Gate
Gates are defined canonically in
AGENTS.md.AGENTS.md,docs/BACKLOG.mdis derived butAGENTS.mdis gated)This PR touches
AGENTS.md(Repository State remaining-work count), which is a gated path.Risks or Follow-ups
E1-12implementation is open and needs its own PR. It has no dependency onE1-11and may run in parallel.AppGraph.close()should be safe against live subscribers) is explicitly deferred and, if pursued, needs its own gated story touchingcore/database/**.