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
14 changes: 14 additions & 0 deletions project/ticket-154/README.md
Original file line number Diff line number Diff line change
@@ -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.
77 changes: 77 additions & 0 deletions project/ticket-154/intent.json
Original file line number Diff line number Diff line change
@@ -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"
}
]
}
}
3 changes: 2 additions & 1 deletion tests/test_sync_routing.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
Loading