Skip to content

fix(api): keep legacy queue reads responsive during repair - #42

Merged
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
fix/legacy-queue-stale-snapshot
Sep 1, 2026
Merged

fix(api): keep legacy queue reads responsive during repair#42
ifuri-validator-agent[bot] merged 1 commit into
mainfrom
fix/legacy-queue-stale-snapshot

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Ticket: PLF-10675
Correlation ID: planfile-legacy-index-read-availability

Outcome

Extends the recent atomic SQLite snapshot fallback to the legacy dashboard route /tickets?sprint=all, which is normalized to a current-sprint summary. This prevents a durable YAML parse from holding the global response lock during index repair.

Scope and safety

Verification

  • pytest -q: 397 passed, 6 skipped
  • ruff check planfile/api/server.py tests/test_sqlite_ticket_index.py
  • regression proves no durable sprint parse on a stale indexed legacy dashboard request

@ifuri-validator-agent ifuri-validator-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deterministic Validator approval for exact head e0919a449909c70b32e0c926b76bf5f7998d1237.

Ticket: PLF-10675
Correlation ID: planfile-legacy-index-read-availability
Model: zai/glm-5.3
Reviewed diff chunks: 1
Advisory LLM verdict: APPROVE
Advisory summary: Reviewed all 1 diff chunk(s). Chunk extends the bounded stale-index snapshot fallback to legacy unbounded summary dashboard requests (/tickets?sprint=all) via a new allow_unbounded_summary flag, gated on allow_stale (browser) or allow_index_stale (legacy request). Full views and non-qualifying reads remain fail-closed; the 300s freshness bound is unchanged. A regression test asserts no durable YAML parse occurs and correct summary/stale headers are returned.
Advisory findings: none
The LLM output above is advisory and was not used as the approval trust root.
Merge will be attempted after this approval when explicitly authorized.

Decision record (recomputable)

DECISION D-675-8899
TICKET PLF-10675
HEAD_SHA e0919a449909c70b32e0c926b76bf5f7998d1237
CORRELATION_ID planfile-legacy-index-read-availability
ACTOR agent:ifuri-validator-agent[bot]
APPLIED_RULE P-CORE-015
INPUT author_login = "tom-sapletta-com"
INPUT observed_checks = ["notify=PASS","ci-loop=PASS"]
INPUT required_checks = ["ci-loop","notify"]
INPUT required_checks_source = "protected registry (env/request)"
INPUT reviewer_login = "ifuri-validator-agent[bot]"
INPUT superseded_checks = []
VERDICT APPROVE AUTHORITY DETERMINISTIC
REJECTED REQUEST_CHANGES BECAUSE NO_UNSAFE_CHANGE_REASON_FOUND
ADVISORY llm_verdict = "APPROVE" MODEL "zai/glm-5.3"
ASSERT VERDICT_AUTHORITY != "ADVISORY"

@ifuri-validator-agent
ifuri-validator-agent Bot merged commit 3b3afbf into main Sep 1, 2026
2 checks passed
@ifuri-validator-agent
ifuri-validator-agent Bot deleted the fix/legacy-queue-stale-snapshot branch September 1, 2026 11:48
@tom-sapletta-com
tom-sapletta-com restored the fix/legacy-queue-stale-snapshot branch September 4, 2026 06:56
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