Skip to content

Add mapcatreset CLI for resetting TimeDomainProcessingTable processing statuses#20

Merged
JBorrow merged 2 commits intomainfrom
copilot/add-mapcat-processing-reset
Feb 24, 2026
Merged

Add mapcatreset CLI for resetting TimeDomainProcessingTable processing statuses#20
JBorrow merged 2 commits intomainfrom
copilot/add-mapcat-processing-reset

Conversation

Copy link
Contributor

Copilot AI commented Feb 24, 2026

No mechanism existed to bulk-reset or override processing statuses in TimeDomainProcessingTable, making it difficult to recover from bad pipeline runs or mark pathological maps as permanently failed.

Changes

  • mapcat/toolkit/reset.py — new mapcatreset CLI with the following filters:
    • --status / -s: target status (failed, completed, permafail); omit to delete matching entries (i.e. reset to no status)
    • --map-id / -m: scope to specific map IDs
    • --start-time / --end-time: scope by map ctime (unix timestamp)
    • --from-status: only touch entries currently holding a given status
  • pyproject.toml — registers mapcatreset entry point

permafail is a first-class status that signals to the pipeline not to retry a map (analogous to SPT's permafail concept).

Example usage

# Mark a pathological map as permafail
mapcatreset --status permafail --map-id 42

# Reset all "running" entries in a time window to "failed"
mapcatreset --status failed --from-status running \
    --start-time 1755000000 --end-time 1756000000

# Remove processing status entries entirely for a set of maps
mapcatreset --map-id 10 11 12
Original prompt

This section details on the original issue you should resolve

<issue_title>Mapcat processing status reset</issue_title>
<issue_description>Would be great to have a mapcat reset for TimeDomainProcessingTable.

this should be able to

  • Convert all processing statuses to one of [None, "failed", "completed"]
  • Convert certain mapid status
  • Convert time range status

for SPT there are options to reset status or set it to "permafail" which tells the pipeline not to retry it because we found something pathological that prevents us from retrying it. so we could have that option too. </issue_description>

<agent_instructions>You should create this as a CLI script called as mapcatreset. Use the standard layout (see e.g. act.py).</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: JBorrow <7839515+JBorrow@users.noreply.github.com>
Copilot AI changed the title [WIP] Add mapcat processing status reset functionality Add mapcatreset CLI for resetting TimeDomainProcessingTable processing statuses Feb 24, 2026
Copilot AI requested a review from JBorrow February 24, 2026 17:05
@JBorrow JBorrow marked this pull request as ready for review February 24, 2026 17:53
@JBorrow JBorrow merged commit c6f3f07 into main Feb 24, 2026
7 checks passed
@JBorrow JBorrow deleted the copilot/add-mapcat-processing-reset branch February 24, 2026 17:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mapcat processing status reset

2 participants