Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions project/TICKETS.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,4 +159,5 @@ This file indexes governance tickets without taking ownership of
| **ticket-254** | [`README.md`](./ticket-254/README.md) | - | - | - | - | - |
| **ticket-256** | [`README.md`](./ticket-256/README.md) | - | - | - | - | - |
| **ticket-257** | [`README.md`](./ticket-257/README.md) | - | - | - | - | - |
| **ticket-259** | [`README.md`](./ticket-259/README.md) | - | - | - | - | - |
<!-- AUTO:TICKET_INDEX:END -->
22 changes: 22 additions & 0 deletions project/ticket-259/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Ticket 259: Bound success-fixture patience independently of radar timeout policy

- **ID**: ticket-259
- **Owner**: agent:codex
- **Status**: IN_PROGRESS
- **Workflow state**: PUBLICATION
- **Created**: 2026-10-29

## Goal and scope

SESSION_EXECUTION_AUTHORIZATION: continue autonomous repair, tests and independent publication. This is the bounded CI dependency of native258 / PR319 / Planfile316 / parentPLF-20347. Preserve the frozen dependent source and the foreign governance checkout255.

Protected Python3.10 verification of head14409c0/base6b3ec5f failed2 existing creation-advisory cases while1937 passed and12 skipped. Hosted3.10/3.13 succeeded. The fake child failed to return within production's1s deadline under host load. Prior257 addressed another instance of this scheduler-sensitive test pattern.

Give non-deadline success fixtures generous but finite assessment and bulk budgets. Explicit malformed-output, stalled-input, descendant-cleanup and bulk-deadline tests retain their short overrides and assertions. Change no production source or protected check.

## Acceptance criteria

- [x] AC-01: All radar contracts pass, including explicit timeout/cleanup/bulk deadline tests; success semantics no longer depend on1s subprocess startup.
- [ ] AC-02: Governance and exact-head/current-base protected CI pass, independent publication is read back, and frozen dependent PR319 is reconciled on the new base.

Local validation: all80 radar contracts passed through Testless with outcome accounting and targeted coverage at load average above130. Ruff and the managed session-start gate passed. Protected matrix publication remains pending.
81 changes: 81 additions & 0 deletions project/ticket-259/intent.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"schema": "new-project.intent/v3",
"ticket": "ticket-259",
"summary": "Bound success-fixture patience independently of radar timeout policy",
"workstream": "application",
"classification": {
"kind": "BUG",
"priority": "P1",
"origin": "regression"
},
"allowedPaths": [
"project/ticket-259/**",
"TODO.md",
"project/TICKETS.md",
"tests/test_ticket_radar.py"
],
"forbiddenPaths": [
"project/ticket-*/user-*.md"
],
"stacks": [
"python"
],
"dependsOn": [],
"conflictsWith": [],
"integrationTicket": null,
"delivery": {
"acceptedBaseSha": "6b3ec5f54e1945d5d7f6695ab3cea33db4fe7180",
"targetBranch": "main",
"outcome": "Success fixtures for advisory persistence use a generous bounded test budget so host scheduling does not decide semantic assertions; explicit timeout, process cleanup and bulk deadline cases retain their own short budgets. Production1s/5s policy remains unchanged.",
"nonGoals": [
"No production timeout or transport change, skipped tests, check waivers or source258 edits.",
"This is a technical CI dependency of existing Planfile316 / native258 PR319."
],
"complexity": "S",
"estimatedMinutes": 30,
"budgets": {
"maxImplementationFiles": 1,
"maxAffectedComponents": 1,
"maxPublicInterfaceChanges": 0,
"maxRuntimeDependencies": 0
},
"architecture": {
"status": "accepted",
"decision": "Adjust only the shared fake-radar fixture defaults; contract tests that target timing continue to override both constants explicitly. Verify under current loaded host and protected matrix.",
"components": [
{
"name": "radar-contract-fixtures",
"paths": [
"tests/test_ticket_radar.py"
]
}
],
"responsibilityChanges": false,
"interfaceChanges": [],
"dataChanges": [],
"ui": {
"impact": "none",
"states": [],
"evidence": []
},
"rollback": "Revert this isolated test-only slice through protected publication."
},
"runtimeDependencies": [],
"validation": [
{
"criterion": "AC-01",
"commands": [
"python -m pytest -q tests/test_ticket_radar.py"
],
"evidence": "All success/failure/authority fixtures pass without altering production budgets or dropping deadline assertions."
},
{
"criterion": "AC-02",
"commands": [
"./project/governance-check.sh"
],
"evidence": "Native governance, protected exact-head/current-base matrix and independent publication; rerun frozen dependent319 after this base change."
}
]
}
}
6 changes: 6 additions & 0 deletions tests/test_ticket_radar.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@
@pytest.fixture(autouse=True)
def fake_radar(tmp_path, monkeypatch):
"""Never invoke a developer's installed radar in these tests."""
# Success contracts test persistence and validation, not interpreter startup
# speed under a loaded CI host. Keep their finite fixture budgets separate
# from production's 1s/5s policy. Timing/cleanup tests below explicitly set
# their own short assessment and bulk deadlines.
monkeypatch.setattr(radar, "ASSESSMENT_SECONDS", 10.0)
monkeypatch.setattr(radar, "BULK_SECONDS", 20.0)
executable_dir = tmp_path / "bin"
executable_dir.mkdir()
monkeypatch.setenv("PATH", str(executable_dir))
Expand Down
Loading