Skip to content

docs/findings/r5-003 still says disposition: open, but #129 is closed and FINDINGS.md admits no open disposition at rung exit #341

Description

@Yaraslaut

Summary

docs/findings/r5-003-no-model-level-background-job-seam.md carries disposition: open, but the issue it links — #129 — is closed, and was closed on architectural grounds rather than by a fix. examples/FINDINGS.md admits no open disposition at rung exit, so this needs a decision from the repo owner.

Raising rather than changing it, because FINDINGS.md is explicit that this call is not mine to make:

Every finding gets a disposition within one triage pass (the repo owner decides; the ladder never self-triages).

The state

docs/findings/r5-003-no-model-level-background-job-seam.md front matter, on master c429195c:

id: r5-003
title: No framework seam for a model's own execute() to post background work and later update its own state
subsystem: core
severity: minor
source: ledger rung 5, design spec §9
disposition: open
test: spec-cited
issue: https://github.com/LASTRADA-Software/morph/issues/129

#129 is closed. It was closed as wrong-layer: a model updating its own state from background work is off-strand mutation, which the concurrency model forbids — docs/spec/concurrency_and_lifetimes.md guarantees execute() is never re-entered concurrently for a given ModelId, so the unit of later work is another action, not a background write. The narrower needs that survived that analysis were filed separately as #160 and #161.

92422c4b (#329) closed out r5-001, r5-002 and r5-004's bookkeeping and deliberately left r5-003 alone — its commit message records that as an explicit decision, which is why this is a question rather than an oversight report.

Why it needs resolving

FINDINGS.md's rung exit criteria:

A rung is done when: ... 3. its findings are triaged (no open dispositions left).

So rung 5 does not currently satisfy its own exit criteria on paper. The three dispositions available are fix-scheduled, documented-limitation, and wontfix.

wontfix with rationale looks like the honest landing spot: the finding asks for a seam the architecture forbids, #129 established that in writing, and nothing is scheduled. documented-limitation would be the alternative if the intent is that concurrency_and_lifetimes.md already is the documentation of the limitation — in which case the finding's test: field should probably point at whatever pins that behaviour rather than staying spec-cited.

What would close this

A disposition set on r5-003, with a one-line rationale, by whoever owns the contract. If it is wontfix, the front matter and a sentence in the body are the whole change.

What would change the verdict

If keeping it open is deliberate — e.g. the seam is genuinely still under consideration despite #129's closure, and #160/#161 do not fully cover it — then this should close and FINDINGS.md's exit criteria should say that a finding may stay open when its issue is closed wrong-layer but the underlying need is unsettled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: docsSubsystem: docsdocumentationImprovements or additions to documentationtriage: rescopeReal problem, wrong framing; rewrite before building

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions