Repository navigation
[GA close-out A] Bookkeeping: record the #1106 verdicts as already-applied, direct-close the 8 verified-fixed rc-era cards #1151
Description
Split from #1150 (GA close-out sweep), groups 1 and 2. Bookkeeping only — no app boot, no code, no probe scaffolding.
1. Record the #1106 verdict table as already applied — do not re-apply it
| verdict | card | actual state |
|---|---|---|
close-stale |
#786 | CLOSED 2026-08-11T22:24:46Z — one minute after the sweep comment was posted |
promote |
#1093 | CLOSED 2026-08-12T02:11:36Z, carries pm:dispatched — promoted, dispatched, implemented |
promote |
#1086 | CLOSED 2026-08-12T02:12:09Z, carries pm:dispatched |
promote |
#853 | CLOSED 2026-08-12T02:19:32Z, carries pm:dispatched |
Your job on item 1 is to verify that table independently and post it as a comment on #1150 — do not close, reopen or relabel any of those four. Confirm each state and closure timestamp yourself rather than trusting the table above; if you find any of the four is not in the state claimed, say so loudly and do nothing to it.
"Keep the remaining 30 as graded" is a no-op by construction. Note in your comment that several keep cards (at least #873, #1082, #1094) have since been closed by later work — that is expected, not a discrepancy to fix.
2. Apply the one unexecuted item the verdict table produced
The sweep recommended re-scoping #788 — its point 2 (update-path stripping) was fixed upstream in rc.6; only point 1 (readonly ignored on the insert path) is still live. #1150 does not name this, but it is an unapplied output of the same table.
Post a scope-correction comment on #788 quoting the rc.6 measurement from the sweep. ⛔ Do not rewrite the card body, do not close it, do not change its labels. Recording only.
3. Direct-close the 8 verified-fixed cards, each with a provenance comment
#520, #510, #509, #526, #567, #656, #651, #779
Per #1150 these are all verified fixed, with rc.2/rc.6 retest readings already recorded on-card, most carrying an explicit "recommends closing" comment nobody executed.
For each card: read the full body and every comment, find the recorded retest reading, and close with a provenance comment stating (a) the version the reading was taken on, (b) the probe or read that produced it, (c) the result, (d) a link to the on-card comment it came from, and (e) the authority for the close (#1150, maintainer ruling 2026-08-14 「同意」).
⛔ The hard guard on this card
No bare closes, and no manufactured ones. Item 1 above is the reason: this mandate's own premises have already been shown to drift. If a card in the list turns out to have
- no recorded retest reading at all, or
- only a reading that does not actually establish the defect is fixed (e.g. it measures something adjacent), or
- a reading whose conclusion is contradicted elsewhere on the card,
then do not close it. Leave it open, post what you found, and list it in your report as "not closable on the recorded evidence — needs a GA probe". Handing back three closes and five honest refusals is a better outcome than eight closes, and will be reviewed as such. You are not being measured on how many you close.
Several of these carry pm:blocked (#779, #651). When you close such a card, remove pm:blocked in the same label write — do not leave a closed card wearing a blocked state.
Acceptance
- A verification comment on [GA close-out sweep] Apply the #1106 verdicts, close the verified-fixed rc-era platform cards, GA-retest the 8 likely-live ones #1150 covering item 1, with independently-read states.
- A scope-correction comment on readonly: true 在 insert 路径上完全不生效,且 update 路径的剥离会连 hook 自己写的戳一起删掉 —— 已发布文章可落成 published_at = null #788.
- Every one of the 8 either closed with a full provenance comment, or explicitly reported as not closable with the reason.
- Zero code changes;
git statusclean.
Activity
hotlong commentedon Aug 14, 2026
Claim: PM loop round 1
Session:
session_01XAK3brMLjd4ykF4QAhFnuoBranch:
claude/issue-1151-ga-closeout-bookkeepingWorktree:
hotcrm-issue-1151Domain:
repo:hotcrm(parent #1150, group 1 + 2)File surface: none — GitHub issue state only, no repo files touched (stop on breach; explain in the report)
Container & model:
M,mode:subagent,model: opusSerial constraints cleared: no file surface, so no same-file predecessors. Card-surface disjoint from sibling claims #1152 / #1154 — this card touches #786 #1093 #1086 #853 #788 and closes #520 #510 #509 #526 #567 #656 #651 #779; none of those appear in any sibling's set.
Generated by Claude Code
hotlong commentedon Aug 14, 2026
Dev report — #1151 (GA close-out A, bookkeeping)
Status: done. Zero code changes,
git statusclean, no commits, no branch, no PR. Output is GitHub issue state and comments only.Headline: 5 closed, 3 refused — and both of this card's own premises about "unapplied" work were false.
Item 1 — #1106 verdict table: verified, all four already applied
Read each card's
state/state_reason/closed_at/closed_by/ labels / closing PR directly from the API rather than trusting the table in this card. Every value matches; no discrepancy. Verification comment: #1150 (comment)close-stale2026-08-11T22:24:46Z(88s after the sweep comment)close-stalepromote2026-08-12T02:11:36Zpromote2026-08-12T02:12:09Zpromote2026-08-12T02:19:32Zkeep-card spot check as instructed — all three closed by later merged work, expected, untouched: #873 (PR #1130), #1082 (PR #1132), #1094 (PR #1142).Item 2 — #788:⚠️ the scope correction was already applied. Second falsified premise.
This card states the #788 re-scope is "the one unexecuted item the verdict table produced" and that it "was never executed". It was, on
2026-08-12T01:50:57Z: #788 (comment) — carrying the same rc.6 two-row table, "Point 2 is gone; point 1 is still live", theObject.is/suppliedValuesevidence, and an explicit refusal to close or promote.I did not post a duplicate. Instead a short verification note recording that the correction stands and that no further scope action is owed: #788 (comment) — body, labels and state untouched.
This is the same failure shape as item 1, on the same day. Both "never applied" claims were false; in both cases the work was done within hours of the sweep, recorded in card comments. Any remaining "never applied" claim in the #1150 mandate should be checked against the target card's comments before being acted on.
Item 3 — the 8 close-targets: 5 closed, 3 refused
RESOURCE_NOT_FOUNDnamingglobal(the same key registration writes), citing ADR-0110 D3 — rc.0's 200-wrapped "not found on object '*'" ghost is gone in both key and status. Per-object dispatch verified 15/15 with realcrm_event/sys_activity/attendee rows.planwarns on an in-use DB;applyrefuses before any DDL (planted probe column survives);--yesconfirmation gate present; control group proves the detector is live. objectstack#3917's remedy present.2 passed— bare string and CEL envelope evaluate identically. The card's own 3-step "when #4347 ships" checklist is complete (bump in #663, pin flipped, guard deliberately kept).—(cold_call/advertisementwon_count,win_rate) are now explicit0; ratio computes. Option 1 landed upstream as objectstack#4708; the card's tripwire pin flipped in #663.pm:blockeddropped in the same label writeFlowVariableSchemanow carriesdefaultValue; engine seedsvariables.set(v.name, v.defaultValue). Answers the card's own question 1 (graph-binds-it was not deliberate). Residual stated: no flow was run, start-condition ordering unconfirmed.dateRange+ relaxing #546's CI guard — not done. The symptom is unobservable by construction while the workaround stands. Named unresolved hazard:dataset/querydoes not resolvelast_30_dayspresets; a bare preset silently returns 0 rows.service.dashboard.ts:268-280still ships team-wide with a comment pointing here. Both readings say 「落地后可关」. Bonus trap recorded: the body's restore instruction saysowner, which no longer exists — must beowner_id.last_reviewed_at-nulling repro is worth re-running before closing", and states its conclusion conditionally ("should no longer hold"). It also surfaces a new behaviour landing on this card's headline scenario: a per-row dispatch ceiling (objectstack#5038) that rejects bulk writes — bulk import is exactly this card's impact section.contract.hook's permissive-direction guard unre-checked.Filed: #1155
#651's close would have silently dropped a real cleanup. Its rc.6 reading deferred removing the
init_defaultsworkaround inlead_conversionas "worth its own card" — nobody filed it, and #651 was itself the designated pointer for that removal ("filing here so the workaround has something to point at"). Searched first, found nothing. Filed #1155 unassigned and unlabeled for PM triage, carrying the duplication hazard (the default lives on both the screen field and the assignment node with nothing keeping them in step) and the two unmeasured claims, to be taken on GA rather than rc.6.Routing notes for the PM
upstream:objectstack/prio:p1— its platform precondition is satisfied and only a small CRM PR remains. Not relabelled here; out of this card's mandate.pm:blocked(its blocker objectstack#5574 has landed per [GA close-out sweep] Apply the #1106 verdicts, close the verified-fixed rc-era platform cards, GA-retest the 8 likely-live ones #1150). Deliberately not edited — [GA close-out A] Bookkeeping: record the #1106 verdicts as already-applied, direct-close the 8 verified-fixed rc-era cards #1151 authorised the label write only alongside a close, and it is not closed. Needs clearing at re-triage.Verification of my own writes
All 8 target cards re-read after the writes. Closed: #509, #526, #567, #656, #651 — all
state_reason: completed. #651's labels read back asmetadata,upstream:objectstack,prio:p2(pm:blockedgone). Open and untouched: #520, #510, #779, #788, and all four item-1 cards.git status --porcelainempty atd4ddee0.Generated by Claude Code
Generated by Claude Code
hotlong commentedon Aug 14, 2026
PM review — ACCEPT
Reviewed against GitHub, not against the report. Session
session_01XAK3brMLjd4ykF4QAhFnuo.Verified independently:
FlowVariableSchemahas nodefaultValue, so a flow variable cannot be declared bound — the obvious remedy for an unbound-variable condition does not exist #651 all read backstate=closed,state_reason=completed(12:57:00–12:57:08Z), each carrying a provenance comment.FlowVariableSchemahas nodefaultValue, so a flow variable cannot be declared bound — the obvious remedy for an unbound-variable condition does not exist #651's labels read back[metadata, upstream:objectstack, prio:p2]—pm:blockeddropped in the same write, as instructed.OPEN, each updated 12:57–12:58 with a refusal comment.init_defaultsassignment workaround inlead_conversion— flow variables can declaredefaultValuesince rc.6 #1155 exists, unassigned, filed with the deferred-cleanup rationale intact.d4ddee0, no worktree created, no file written.The refusals are the most valuable part of this delivery
Three of eight declined, each for a reason that holds up on re-reading:
Closing those three on the mandate's say-so would have buried a live defect under a "verified fixed" label. This is exactly the outcome the no-bare-closes rule exists to produce, and it is graded as a success, not a shortfall.
Third false "never applied" premise in one card
The #788 scope correction was already posted 2026-08-12T01:50:57Z with the same rc.6 evidence. That is now three for three: #1150's item 1, and now the #788 rider I added myself on the assumption it was outstanding. My dispatch order was wrong on that point and the dev was right to refuse to duplicate it. Recording it here rather than quietly dropping it: the lesson is that "nobody executed this" claims in this repo's account-book are currently unreliable as a class, and the standing instruction is to verify before acting on any of them.
Routing actions taken by the PM on this report
pm:blocked(blocker objectstack#5574 has landed) — deliberately left in place by the dev, since [GA close-out A] Bookkeeping: record the #1106 verdicts as already-applied, direct-close the 8 verified-fixed rc-era cards #1151 authorised a label write only alongside a close. Correct call. Handed to [GA close-out B2] Engine-behaviour GA probes: #698, #1141, #691, #701, #520, #779 #1153 to resolve with its probe outcome.upstream:objectstack/prio:p1may no longer fit, since its platform precondition is met and only a CRM-side PR remains) — ⛔ not relabelled here. Execution seats report mislabels rather than fixing them. Surfaced to the maintainer in the round report.init_defaultsassignment workaround inlead_conversion— flow variables can declaredefaultValuesince rc.6 #1155 labelledmetadata+pm:queue— routing only, so it is visible to queue queries instead of sitting label-less and unqueryable. No product ruling implied; the two measurements it asks for are still open questions.Closing this sub-issue. 5 closed, 3 refused with cause, 1 follow-up filed, 0 code changes.
Generated by Claude Code