fix: close the three spawn spec gaps taking spawn_drift red - #113
Merged
Conversation
Three separate defects, all surfaced by the nightly Spawn Drift job: 1. issued/remove_pulse_compat.md — the sole survivor of the retired flat issued/ pile. The lifecycle split (#71/#72) repointed spawn.py's ('issued/*', 'DROP') rule to 'active/*', leaving this one file with no matching rule -> UNMATCHED -> exit 1. The work it describes is done (PyAutoPulse gone, no pulse refs in PyAutoHeart) and already recorded at complete/2026/07/remove-pulse-compat.md, so it is a pure orphan. Deleted. 2. AI_POLICY.md — added org-wide today, with no spec rule, so it became the next UNMATCHED the moment (1) was cleared. It names the owning org twice, so it takes KEEP_SUB (PyAutoLabs -> YOURORG), not a verbatim KEEP. 3. CONTRIBUTING.md — was KEEP verbatim. Today's centralisation rewrote it to 'Contributing to PyAutoLabs', so a republish would have stamped PyAutoLabs branding into a fresh-slate template spawned for another org. Same defect class as (2); moved to KEEP_SUB in both rule sets. Also repoints planned.md's jax-point-source-point-smoke-sentinel entry, which pointed at issued/jax_point_source_point_smoke_sentinel.md — a 130-line diagnostic prompt dropped as 'legacy' by the lifecycle migration while the task stayed planned and unfixed. Restored verbatim to draft/bug/autolens/. spawn.py and spawn_spec.md are changed together (the spec is the source of record and the code mirrors it). After this, --check reports 'unmatched: none' + 'canary scan: clean' for both templates; the remaining drift is content staleness that a republish clears. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ssued-orphan-ai-policy
Jammy2211
pushed a commit
that referenced
this pull request
Jul 29, 2026
Jammy2211
added a commit
that referenced
this pull request
Aug 13, 2026
Jammy2211
added a commit
that referenced
this pull request
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes
PyAutoMind/spawn_drift, red on the nightly schedule. Three separate spec gaps, each of which surfaces only once the previous one is cleared.1.
issued/remove_pulse_compat.md— the reported failureThe lifecycle split (#71/#72) repointed spawn.py's
("issued/*", "DROP")rule to("active/*", "DROP"), retiring the flatissued/pile. One file was left behind, so it matched no rule →DROP + WARN→ exit 1.It is a pure orphan: the work is done (
PyAutoPulseis gone; nopulse/pyautopulsereferences remain inPyAutoHeart) and already recorded atcomplete/2026/07/remove-pulse-compat.md. Deleted, along with the now-emptyissued/directory.2.
AI_POLICY.md— the next UNMATCHEDAdded org-wide earlier today with no spec rule, so it became the next failure the moment (1) was cleared. It names the owning org twice — once in prose, once in a
github.com/PyAutoLabs/...URL — so it takesKEEP_SUB(owner substitution), not a verbatimKEEP.3.
CONTRIBUTING.md— found while fixing (2)CONTRIBUTING.mdwasKEEPverbatim. Today's centralisation rewrote it to:Republishing with the verbatim rule would have stamped PyAutoLabs branding into a fresh-slate template spawned for somebody else's org — the exact thing the template is meant not to do. Same defect class as (2); moved to
KEEP_SUBin both rule sets.Generated output after the change:
Also: a dangling
planned.mdpointerplanned.md'sjax-point-source-point-smoke-sentinelentry pointed atPyAutoMind/issued/jax_point_source_point_smoke_sentinel.md— a 130-line diagnostic prompt dropped as "legacy" by the lifecycle migration while the task itself stayedplannedand unfixed (a JAX point-source regression returning the-1e99sentinel instead of-83.38049778).Restored verbatim to
draft/bug/autolens/, with a header noting the restore, and the pointer repointed. Dropping the pointer instead would have discarded reproduction detail for a live, unfixed regression.Verification
spawn.pyandspawn_spec.mdare changed together — the spec is the source of record and the code mirrors it.Before:
After:
The remaining
--checkoutput is content drift — the published templates are simply stale (AI_POLICY.mdnew, plusCONTRIBUTING.md,ROUTING.md,lifecycle.py,repos_sync.py,spawn.py, arxiv script/workflow). That is cleared by a template republish, which is a separate outward-facing step and is deliberately not part of this PR.Follow-up needed for a green job
Merging this alone will not turn
spawn_driftgreen — the republish must follow, and should run after this merges so the templates are generated from the corrected rules.