From 6f1ec59cc4bf51146ab602c836ea03ac4675d75a Mon Sep 17 00:00:00 2001 From: Tom Softreck Date: Sat, 19 Sep 2026 17:57:01 +0200 Subject: [PATCH] test(sync): satisfy changed-file import ordering gate --- project/ticket-154/README.md | 14 +++++++ project/ticket-154/intent.json | 77 ++++++++++++++++++++++++++++++++++ tests/test_sync_routing.py | 3 +- 3 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 project/ticket-154/README.md create mode 100644 project/ticket-154/intent.json diff --git a/project/ticket-154/README.md b/project/ticket-154/README.md new file mode 100644 index 0000000..4033d56 --- /dev/null +++ b/project/ticket-154/README.md @@ -0,0 +1,14 @@ +# Ticket154: Lifecycle regression lint + +- **ID**: ticket-154 +- **Status**: IN_PROGRESS +- **Workflow state**: PUBLICATION +- **Workstream**: application +- **Owner**: agent:codex-monag-triage-cache-audit + +SESSION_EXECUTION_AUTHORIZATION: complete requested MONAG/Planfile audit fixes and publication. Follow-up PLF-080 fixes OneDev I001 after PR162; functional behavior is unchanged. + +## Acceptance criteria + +- [ ] AC-01: Exact changed-file Ruff and focused regressions pass. +- [ ] AC-02: Governance, required hosted checks and OneDev pass before protected publication. diff --git a/project/ticket-154/intent.json b/project/ticket-154/intent.json new file mode 100644 index 0000000..76f7849 --- /dev/null +++ b/project/ticket-154/intent.json @@ -0,0 +1,77 @@ +{ + "schema": "new-project.intent/v3", + "ticket": "ticket-154", + "summary": "Pass changed-file lint for native GitHub lifecycle regressions", + "workstream": "application", + "classification": { + "kind": "BUG", + "priority": "P1", + "origin": "requested" + }, + "allowedPaths": [ + "tests/test_sync_routing.py", + "project/ticket-154/**" + ], + "forbiddenPaths": [ + "project/ticket-*/user-*.md" + ], + "stacks": [], + "dependsOn": [], + "conflictsWith": [], + "integrationTicket": null, + "delivery": { + "acceptedBaseSha": "2aca3812a586ebae637da10f5e7c00f53ad5c67f", + "targetBranch": "main", + "outcome": "Pass OneDev changed-file import lint for lifecycle regression tests", + "nonGoals": [ + "No automatic terminal reopening or other provider lifecycle changes" + ], + "complexity": "S", + "estimatedMinutes": 15, + "budgets": { + "maxImplementationFiles": 4, + "maxAffectedComponents": 2, + "maxPublicInterfaceChanges": 0, + "maxRuntimeDependencies": 0 + }, + "architecture": { + "status": "accepted", + "decision": "Keep raw provider state for transport readback; normalize at the native persistence boundary with GitHub state_reason metadata", + "components": [ + { + "name": "sync-regressions", + "paths": [ + "tests/test_sync_routing.py" + ] + } + ], + "responsibilityChanges": false, + "interfaceChanges": [], + "dataChanges": [], + "ui": { + "impact": "none", + "states": [], + "evidence": [] + }, + "rollback": "Revert the bounded follow-up commit through protected publication." + }, + "runtimeDependencies": [], + "validation": [ + { + "criterion": "AC-01", + "commands": [ + "python -m pytest -q tests/test_sync_routing.py tests/test_sync_scope.py" + ], + "evidence": "Native store reload regression" + }, + { + "criterion": "AC-02", + "commands": [ + "python -m pytest -q", + "./project/governance-check.sh --actor agent" + ], + "evidence": "Protected exact-head publication" + } + ] + } +} diff --git a/tests/test_sync_routing.py b/tests/test_sync_routing.py index 1f8adff..8d97d52 100644 --- a/tests/test_sync_routing.py +++ b/tests/test_sync_routing.py @@ -351,9 +351,10 @@ def edit(self, **_kwargs): (None, "blocked"), ("unknown", "blocked"), ]) def test_github_closed_roundtrip_remains_readable(tmp_path, operation, reason, expected): + from types import SimpleNamespace + from planfile import Planfile from planfile.sync.github import GitHubBackend - from types import SimpleNamespace backend = GitHubBackend.__new__(GitHubBackend) backend.repo = SimpleNamespace(full_name="owner/repo")