v0.297.0: burn-down round 2 — 24 small rows (R-591 R-568 R-567 R-363 R-547 R-10 R-552 R-251 R-104 R-619 R-362 R-675 R-256 R-257 R-240 R-365 R-425 R-565 R-564 R-603 R-454 R-208 R-457-swept) + the banner countdown and deepCopyStack twins; MinAgent 0.131.0
gates / gates (push) Failing after 50s
gates / gates (push) Failing after 50s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -675,6 +675,11 @@ func (s *Server) addRecoveryBanner(data map[string]interface{}, r *http.Request)
|
||||
if st.DaysLeft <= mark {
|
||||
data["RecoveryAbandonDays"] = st.DaysLeft
|
||||
data["RecoveryAbandonDate"] = st.DueAt.Format("2006-01-02")
|
||||
// R-365 follow-up: DaysLeft is a ceiling, so 0 means the due moment has PASSED and the
|
||||
// sweep has not run yet. The template's `{{if .RecoveryAbandonDays}}` is false at 0, so the
|
||||
// bar fell back to the undecided-box reminder text — and offered the reminder opt-out over
|
||||
// a deletion. Overdue is its own state. Pinned by TestR365_BannerSaysDueAtZeroDays.
|
||||
data["RecoveryAbandonOverdue"] = st.DaysLeft <= 0
|
||||
// R-302: the retrieval clause is conditional; the deletion sentence is not. Taken
|
||||
// from the read model so this surface cannot form its own opinion.
|
||||
data["RecoveryAbandonRetrievalOffered"] = st.RetrievalStillOffered
|
||||
|
||||
Reference in New Issue
Block a user