mirror of
https://github.com/dtzp555-max/memory-continuity.git
synced 2026-07-19 09:42:42 +00:00
fix: python 3.6 compat + clarify CURRENT_STATE.md override rule
This commit is contained in:
@@ -130,6 +130,22 @@ Update the file by **overwriting** it, not appending, at these moments:
|
||||
| Before handoff / subagent exit | Preserves outputs and unsurfaced results |
|
||||
| After a substantive state change | Keeps checkpoint aligned with actual work |
|
||||
|
||||
### Override rule
|
||||
|
||||
**CURRENT_STATE.md must always be overwritten when:**
|
||||
- A new task or objective starts — regardless of what is currently in the file
|
||||
- The previous objective is complete or abandoned
|
||||
- The user gives a new task that supersedes the previous one
|
||||
|
||||
Having content in CURRENT_STATE.md does NOT mean it should be preserved.
|
||||
Content only matters if Objective is still active and work is genuinely in progress.
|
||||
|
||||
Checking before overwrite:
|
||||
- Read the file
|
||||
- If Objective matches the current task → update in place (overwrite)
|
||||
- If Objective does NOT match → overwrite the entire file with the new state
|
||||
- Never append. Never skip the update because "there's already something there".
|
||||
|
||||
### 4. Keep the checkpoint small
|
||||
|
||||
`CURRENT_STATE.md` should usually stay under about 40 lines and be readable in
|
||||
|
||||
@@ -15,7 +15,7 @@ import sys
|
||||
import re
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
from typing import Dict, List, Optional, Tuple
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -33,7 +33,7 @@ class Severity:
|
||||
# ---------------------------------------------------------------------------
|
||||
class DiagnosticReport:
|
||||
def __init__(self):
|
||||
self.entries: list[tuple[str, str]] = []
|
||||
self.entries: List[Tuple[str, str]] = []
|
||||
self._worst = Severity.OK
|
||||
|
||||
def add(self, severity: str, message: str):
|
||||
@@ -112,7 +112,7 @@ def check_staleness(state_file: Path, workspace: Path, report: DiagnosticReport)
|
||||
def check_template_compliance(state_file: Path, report: DiagnosticReport) -> dict:
|
||||
"""Check all required sections are present and not placeholder-only."""
|
||||
content = state_file.read_text(encoding="utf-8")
|
||||
sections_found: dict[str, str] = {}
|
||||
sections_found: Dict[str, str] = {}
|
||||
|
||||
for section in REQUIRED_SECTIONS:
|
||||
# Match ## Section or ## Section\n
|
||||
|
||||
Reference in New Issue
Block a user