Follow-ups from review of #82049: - extract append_user_instruction() into agent/skill_commands so the stable-prefix construction cannot drift between the skill and cron builders (the registered prefix must stay a byte-prefix of the built message); cron no longer imports the private _SINGLE_SKILL_INSTRUCTION - add the startswith guard to the skill builder registration site, matching the stronger cron guard - rename _MAX_BYTES to _MAX_CHARS (sum(map(len, ...)) counts characters, not bytes) and correct the comment - collapse find_stable_prefix's two-lock dance into a single critical section (scan is <=32 short-circuiting startswith calls, measured 2-4us; drops the snapshot copy and the TOCTOU re-check) - document the split-shape lifetime (marked-endpoint window) in the module docstring - add a contract test for the helper's byte-prefix invariant (mutation-checked) |
||
|---|---|---|
| .. | ||
| scripts | ||
| __init__.py | ||
| blueprint_catalog.py | ||
| executions.py | ||
| jobs.py | ||
| lifecycle_guard.py | ||
| monitor.py | ||
| notepad.py | ||
| scheduler.py | ||
| scheduler_provider.py | ||
| suggestion_catalog.py | ||
| suggestions.py | ||