Files
troupe-standup/WORK-QUEUE.md
T

28 KiB
Raw Blame History

Work queue

Self-serve. Take the top unclaimed item, say so in your check-in, finish it, report it. If an item is too big to finish in a day, say what part you are doing and by when. Every item states what "done" means and what evidence it needs. Propose additions by PR.


Q1 — Recover the fifteen silent rooms (highest value; no dependencies)

The archive holds audio for 31 of the 46 Stackchain Spaces it has discovered. Fifteen have no replay at all — X blocks them, and nothing in the archive can quote them. Each announcement below is a real post; the rooms are real; the recordings are missing.

Space Announcement
1mnxedROgmLJX https://x.com/AnthonyDessauer/status/1549953716219809792
1yNGaYNZPOjGj https://x.com/AnthonyDessauer/status/1550521116434632705
1zqKVBPYMOAKB https://x.com/AnthonyDessauer/status/1550640406718603264
1OdKrBjEvPXKX https://x.com/AnthonyDessauer/status/1550876886133198848
1mrxmayWWPBxy https://x.com/AnthonyDessauer/status/1551986319546408960
1OwxWzYMZAQJQ https://x.com/AnthonyDessauer/status/1552488878031785984
1jMKgemOkZWJL https://x.com/AnthonyDessauer/status/1552797220381921281
1lPKqmbXygnKb https://x.com/AnthonyDessauer/status/1553216364290011136
1mrGmayybYwGy https://x.com/AnthonyDessauer/status/1553463368178053120
1vOGwyjjONrxB https://x.com/AnthonyDessauer/status/1553494397357985792
1OdKrBXEgZQKX https://x.com/AnthonyDessauer/status/1553910347521617920
1LyxBogpvwzKN https://x.com/AnthonyDessauer/status/1554270142455902208
1MYGNnwqZmzGw https://x.com/AnthonyDessauer/status/1559352367966892032
1rmxPgvEpWdJN https://x.com/AnthonyDessauer/status/1561458655114825728
1eaJbNaYVARJX https://x.com/AnthonyDessauer/status/1562956041599348736

Recover what is recoverable from public sources only: the room's title, host, date, who spoke, any archived copy of the audio, any contemporary write-up. Wayback, the announcement posts themselves, community posts, other archives — wherever it exists.

Done means: one row per space in recoveries/silent-rooms.md — id, date, what was found, exact URL, retrieval date — with nothing found written plainly where that is the answer. Evidence: the URL and the retrieval timestamp for every positive finding; the searches performed for every negative one.

Status: CLOSED — 0/15 recovered, and every public avenue is now exhausted with receipts.

  • Results table: recoveries/silent-rooms.md (b8ac1eb, zephyrus-sparkborn) — 15 rows, nothing found, search list.
  • Announcement record for all 15 (text, dates, mention walls): recoveries/silent-rooms-enrichment.md (c8d2569).
  • Wayback avenue closed (2118b3e + reply 03, 2026-09-24-to-zephyrus-03.md): 14 of 15 twitter.com/i/spaces/<id> URLs and 8 of 15 announcement posts have 2022 captures, and every capture rendered is the logged-out JS shell — no title, host, participants or replay handle.
  • The one room with no space-page capture at all is 1vOGwyjjONrxB.
  • Only route left: a logged-in X session for the room cards. Nobody here has one; declining it is a legitimate answer.
  • Handed back with one open claim: the archive's own space catalog labels these 15 blocked-no-current-space-metadata, which is a metadata barrier, not proof that no recording was ever made.

Every published source link in the archive answers except one: https://twitter.com/AriZonanHODL/status/1549169119924080640 returns 404.

Done means: either an archived copy (Wayback, archive.today, a quote-post screenshot) recorded with its URL and capture date, or a documented conclusion that it is unrecoverable, with every avenue tried listed. Evidence: the capture URL, or the search list behind the negative.

Status: DONE — recovered. recoveries/dead-link.md (3ca3d3c, zephyrus-sparkborn) found the x.com snapshot (20250129185849); Timmy rendered the twitter.com variant, which zephyrus's table had as snapshot-less, and it holds a contemporaneous capture at 20220809062934 with the tweet text, "11:07 PM · Jul 18, 2022 · Twitter for iPhone", 63 retweets / 46 quote tweets / 611 likes and the archived image (c8d2569). Two further twitter.com captures exist: 20220718230820, 20220730181319. Method note: the Wayback availability API reports no snapshots for either variant — CDX is the authority.


Q3 — Independent audit of the published ledger

The ledger at https://alexanderwhitestone.com/stackchain/blocks/ publishes 121 entries. Audit it from the outside, where you are not the author and have no access to the build:

  • Dead or redirected links, page by page.
  • Date inconsistencies between an entry's displayed date and its page content.
  • Any entry that claims a source it does not actually cite.

Material provided: recoveries/ledger-link-inventory.md — all 123 published pages fetched, their external links extracted, and every unique external URL status-checked (40 unique; 39 answer, 1 is the genesis link now replaced). Pass 2 should judge the pages against this dump rather than trying to fetch them.

Done means: a table of findings with severity, or an explicit clean bill of health per area checked. Evidence: the page URL, the exact text, and the command or method used.

Status: DONE — both passes complete (2ebcbe7 pass 1, 6f31cde pass 2, zephyrus-sparkborn; material 2118b3e). Verified from the outside after pass 2 (reply 04).

  • 121/121 entries walked. Counts reproduce: 16 clean + 95 citation flags + 8 date mismatches + 1 dead link + 1 redirect = 121 = 91 magazine + 22 event + 8 block. Sampled magazine entries carry zero external links and a plain-text Original: https://www.stackchainmagazine.net line — the flag is systematic, not incidental.
  • Pass 1's date flag is closed in the archive's favour: the feed's own pubDate for Stackchain SJ Lottery is Mon, 30 Jan 2023 22:15:54 GMT, stable across fetches; Apple's record matches; Spotify's "Feb 05" belonged to the adjacent card. Also closed: MP3 liveness, excerpt-window arithmetic, fountain.fm target, index counts, entry-19 redirect.
  • Not covered by either pass, and still open if anyone wants it: paraphrase fidelity of the 91 magazine entries (which article did each quote come from), and the absolute placement of the excerpt inside the original recording.
  • Handed to Alexander, not to the pipe: whether to publish article-level source URLs on the 91 magazine entries and 4 testimony blocks. The archive already holds the map (MAGAZINE-SITE-MAP.md, magazine-inventory.json); the entries show only the publication homepage. This is a provenance-policy decision, not a task.

Q4 — Falsification pass

Pick three claims the archive makes in public and try your hardest to break them from public sources. Report what you did, what you found, and whether the claim survived. "It survived" is a successful outcome — you are testing the archive, not hunting for a scalp.

Done means: three claims, three attempts, three verdicts. Evidence: the source you used against the claim, and the raw result.

Status: DONE — recoveries/falsification-pass.md (f50f052, zephyrus-sparkborn), all three verdicts re-verified from the archive side (reply 05, 2026-09-24-to-zephyrus-05.md).

  • Claim 1, profile counts ("18 public profiles / 13 documentary-backed / 5 candidate portraits") — his verdict Partial, closed Documented here: the listing is a section of the index page (/stackchain/people/ 404s), and the count recounts from the public asset public-data.js → 18 profiles, 13 documentary-backed, 5 candidate. There are no per-profile pages; views are hash routes, which is why nothing is indexed.
  • Claim 2, SJ Lottery publication date — Survived, reproduced to the character (guid, pubDate Mon, 30 Jan 2023 22:15:54 GMT, Apple's record, the adjacent Ordinals item carrying the "Feb 05" stamp).
  • Claim 3, the magazine-040 gloss "a nod to the last block he mined" — Broken. Confirmed and extended: the article itself is now fetched (the-genesis-block, 200) and its closing lines are a Genesis 2:2 rewrite; block 97,250 is 2010-12-12, the day of Satoshi's last public post, while Patoshi analyses end his mining near block 54,316. The excerpt is faithful, the interpretive clause is not supported.
  • His one side observation about a duration misattribution is rejected with the feed parse (see reply 05).
  • Handed to Alexander, not to the pipe: the exact replacement sentence for the magazine-040 summary, drafted in reply 05 §"Your ask". It is a wording change to a live page, so it waits for him.

Q8 — Summary fidelity: does each entry's machine-written summary overstate its article?

Q3 tested that sources resolve and dates agree. recoveries/quote-fidelity-live.md now tests that the quoted excerpts are really in the articles — 269/269 present, 91/91 article URLs live. Neither test touches the prose the archive writes about the article, and that is where the archive can still be wrong.

magazine-040 is the worked example: the quotes are faithful, but the summary adds "a nod to the last block he mined", which no source supports. One entry, and it is the archive's own words doing the damage.

Do this: for each entry in a defined sample, compare the "What happened" / "In plain English" sentences against the article and grade every factual or interpretive clause: holds (the article says it), overstated (the article supports less), unsupported (the article does not say it), contradicted (public sources say otherwise). Quote the summary sentence and the article line that settles it, both verbatim.

Material: recoveries/magazine-article-map.md — every published entry → its live article URL, 91/91 answering 200 — and recoveries/quote-fidelity-live.md for the method and the limits.

Done means: a table of per-clause verdicts for the sample, with the count of each verdict and the named entries that need an archive-side fix. Evidence: the entry URL, the summary sentence, the article URL and the article sentence.

Status: pilot CLOSED at dcf91a1 (zephyrus-sparkborn), corrected at 9cc6879; the full sweep is the active form of this item.

  • Pilot: 10 entries (every 10th, 001…091), 7 clauses flagged — recoveries/summary-fidelity-pilot.md (dcf91a1), check-in 2a0cb01. All 20 pages (10 entry pages, 10 articles) re-fetched 200 by Timmy on 2026-09-25, matching his "0 fetch failures"; all seven flags re-verified against the article text and upheld (reply 07, 8e44d22). Independent second-method pass (proper-noun and numeral diff of both summary sections against the fetched articles) found no unsupported specific beyond his seven.
  • One arithmetic correction, logged not applied here: his per-entry rows sum to 92 holds / 99 clauses, his totals row says 91 / 98. His file, his edit; asked for in reply 07.
  • Corrected by him at 9cc6879 (2026-09-26) — totals row now reads 92 / 99; verified from my side by recount of the published row and by the corrected blob (fb896dc5b178); his two working-file row counts (52 + 47 = 99) match the midpoint split of the published row exactly. Standing numbers: 92 holds / 99 clauses. Reply 08 §1.
  • Testimony only: the two working halves and their three annotated grade cells are not in this repo and not reachable from the archive host; nothing resting on them can be checked from outside.
  • Added evidence requirement (reply 08 §3): the full sweep's clause file must state its clause-splitting rule and grade vocabulary in its header. Measured: a sentence-level recount gives 43 units against his 99, and the per-entry divergence is not a constant factor, so no external rule reproduces his counts without the rule being published.
  • Full sweep (active): the remaining 81 magazine entries, same grading, finish line recoveries/summary-fidelity-full.md. Added requirement from reply 07 (the item's own evidence bar was ambiguous about where the clause table lives): publish the per-clause rows as a data file — entry, clause, grade, settling sentence — or the pass rate is an assertion. Report image-only sources as unreadable rather than graded, and state that a 10-entry sample licenses no rate estimate for 91.
  • The eight editorial clauses, named, with their decision state (added 2026-09-26, reply 09). Q8's pilot and Q4 produced eight archive-side wording fixes; they were previously tracked only in reply prose, which is why the inbox relay had to describe flag 7 in words. State as of 2026-09-26:
    • magazine-091 — "Comparing Strategy, …" (overstated). Approved by Alexander 2026-09-26T14:51:11Z (troupe-standup inbox item 13; decisions/2026-09-26.md, 2eb50b7). Correction staged, not published: record EDITS/2026-09-26-magazine-091-correction.md in the archive build tree, patch script EDITS/apply_editorial_fix_091.py; live page still 49877d4b3543…. Reply 09 §3, Q13 below. Decision caveat controls execution: Alexander's decided note asks, "Do we even have authority to fix the publication? Add our note and escalate it to the author and mag publisher." Treat this as decision received with a caveat, not unconditional publication authority: hold the live edit and any third-party contact until Alexander confirms which action he wants. The pipe's archive-ownership analysis in reply 09 does not erase that caveat.
    • magazine-011 — "merch for Mass Adoption and the Boston Bitcoin Festival" (overstated) — undecided.
    • magazine-011 — "founder of the Bitcoin-only printing company Proof of Ink" (unsupported) — undecided.
    • magazine-021 — "(only Loko and Happy responded)" (contradicted) — undecided.
    • magazine-041 — "Stackchain's rowdiest fork war" (overstated) — undecided.
    • magazine-061 — "weekly Thursday intelligence-style cadence of work" (unsupported) — undecided.
    • magazine-061 — "the magazine note ties to a centerfold in issue 5 (Round 5)" (overstated) — undecided.
    • magazine-040 — "a nod to the last block he mined" (broken; Q4) — replacement sentence drafted in reply 05 §"Your ask" — undecided.
  • Limit on the relay channel (reply 09 §5): decisions arrive here via decisions/YYYY-MM-DD.md; the inbox artifact itself is not readable from this job, so only the quoted strings in a relay can be verified from here.

Q5 — Issue triage in the organisation's public repos

Walk the issue tracker of the public stackchain repositories. Reproduce what is reproducible. Comment with the environment, the steps, and the output. Leave the ones you cannot reproduce with an honest "cannot reproduce, here is what I tried".

Done means: every open issue either carrying a reproduction comment or an explicit cannot-reproduce note. Evidence: pasted command output per issue.

Status: re-scoped 2026-09-26 (reply 08 §5) after a census, because as written it invites busywork. Measured over the loopback API on 2026-09-26: 197 open issues on the first page across 8 public repos — stackchain-lab-loop 50 (page cap), stackchain-hackathon 50 (cap), timmy-talking-turd 41, timmy/project-template 17, live-wizard 13, agent-todo-tracker 11, stackchain-dashboard 9, sovereign-stack 6; troupe-standup 0. The population is dominated by feature requests, planning items and host-local operational entries ("Disk usage 86%", daily-drop logs, release-testing epics), not defects with steps, and several repos describe services that run on the archive host and are not reachable from outside it. Re-scope: the item now covers (a) issues that claim a defect and are reproducible from a clone of the public repo alone — reproduce, comment with environment/steps/output; (b) everything else — one line stating why an attempted reproduction would be theatre (feature request / host-local service / planning item), plus the count per repo, per class. Report the counts as the result; "not reproducible from outside, and here is the population breakdown" is an acceptable finished answer for this item. Unclaimed.


Q6 — A public guide to checking this archive

Write docs/how-to-check-this-archive.md: the concrete steps a stranger can run to test whether the archive's claims hold — how entries are graded, what the four evidence tiers mean in practice, and one worked example. Base it on what you actually ran, not on what the README asserts.

Done means: somebody with no context can follow it and get a yes/no on a real claim. Evidence: you ran every command in it before submitting.


Q7 — Propose the next items

The queue must never run dry. When you finish something, propose the next thing — with a one-paragraph case for its value and a finish line — as a PR to this file. Disagreeing with an existing item is also welcome.

Status: satisfied for the 2026-09-25 cycle. Zeph's three proposals (2a0cb01) are now queue items: the Q8 full sweep (folded into Q8 above), Q10 and Q11 below. The obligation is standing, not closed — keep proposing as items close.


Q9 — Independent QC of the sovereign music candidates (second opinion, no listening required)

Three ACE-Step CPU renders of the troupe song "RECEIPTS, M'LORD" are mastered and up for review. Run the mechanical gates independently and report whether the numbers agree with the record:

  • https://forge.alexanderwhitestone.com/git/stackchain/troupe-standup is not where the audio lives — the three MP3s are at /root/sovereign-music-daily/releases/2026-09-24/masters/receipts-mlord-{78c3791c,a381d8cf,e6d5e7e9}.mp3 (server-local; ask Timmy for them if you want the files).
  • Recorded claims: integrated loudness −14.0 ± 0.2 LUFS, true peak ≤ −0.9 dBFS, full decode clean, 195.0 s, FLAC-source 48 kHz stereo, 320 kbps MP3. SHA-256s in the manifest.
  • Your job: state which of those you can verify from your environment and which you cannot, and run one independent hook-transcription pass (small.en or equivalent) on a 60 s window around 50–110 s — does the chorus contain "receipt is the proof" / "the hash don't care who told you no"? Report the window you used and the raw transcription.

Done means: a table of claim-vs-measurement per candidate plus the transcription window. Evidence: your exact commands and their output.

Status: unclaimed. Pre-verified by Timmy against the delivered files — record recoveries/music-master-verification.md (53a5509), written up in reply 06 (17c1619). The recorded numbers hold (file SHA-256s match STATE.json; −14.12 / −14.00 / −13.98 LUFS; three distinct renditions; decode clean on all three; 48 kHz stereo 320 kbps; ace-result.json confirms CPU, 16 steps, 8840.9 s wall). Three lines of the item's own text are corrected in that record, not edited here: the "true peak ≤ −0.9 dBFS" bound measures −0.94 / −1.57 / −0.92, i.e. up to 0.08 dB above the −1.0 dBTP mastering target that the same release record states; "the manifest" is STATE.json; and 195.0 s is the FLAC source (the MP3 container reads 195.024 s). Hook transcription, my own pass, 50–110 s window per candidate: "the receipt is the proof" is recovered verbatim in all three; "the hash don't care who told you no" is recovered in none, and a transcript cannot say whether that is the render or the model. As written this is not executable as a second opinion from zephyrus's environment — the files are not reachable from there, and my pass is not independent (same host, same tools, and I wrote the item). Making it executable needs a decision on handing over unreleased audio under checksum; that goes to Alexander, not into the pipe. Ordering: Q8 stays ahead of Q9.

Update (reply 07, 8e44d22, 2026-09-25): unchanged and not waiting on anyone here. The checksum-handover decision is escalated to Alexander with reply 07; the hook-transcription result stands as recorded (the chorus line recovered in all three, the second line in none). No audio enters this repo or any public repo before the human gate opens.


Q10 — Summary fidelity for the non-magazine entries

The 22 dated events and 8 block/receipt entries carry machine-written summaries too, and Q3/Q8 have only ever graded the 91 magazine entries. Q8's worked example (magazine-040) was a magazine entry, so the pattern is proven in the class that was sampled, not in this one — and the block/receipt entries are the ones that make claims about chain events, where being wrong costs the most.

Do this: Q8's method applied to the 30 entries, each summary clause graded against the source the entry itself cites (article, receipt, or space recording), with unreadable source stated plainly instead of graded.

Done means: a table in recoveries/summary-fidelity-nonmagazine.md — per-entry verdict counts, the named entries needing archive-side wording fixes, and the per-clause rows. Evidence: entry URL, summary clause, source URL and the settling sentence, verbatim. Proposed by zephyrus-sparkborn (2a0cb01), entered by Timmy in reply 07.


Q11 — Close the eight pass-2 date mismatches

recoveries/ledger-audit-pass2.md flags 8 date mismatches between an entry's displayed date and its content, and they have sat since Q3 closed because pass 2 named them without resolving each one. The SJ Lottery row shows what resolution looks like: a verdict with the settling source (pubDate, Apple's record, the adjacent card).

Do this: resolve each of the 8 to a verdict — archive correct, source correct, or indeterminate — with the settling source named, one line per entry.

Done means: a closure table, one line per entry, added to a new recoveries/ledger-date-closure.md (not edited into pass 2's file). Evidence: the query or fetch that settles each row, and unresolved written plainly where nothing does. Proposed by zephyrus-sparkborn (2a0cb01), entered by Timmy in reply 07.


Q12 — Are the evidence tiers earned?

Every ledger page carries a tier badge, and the ledger publishes the legend it uses: Documented (the archive holds the post, capture or receipt), Corroborated (established by a published or community account, with the source quoted on the page), Testimony only (a participant's recollection, recorded as recollection), Unrecovered (known to exist, no copy and no independent account). Q3 tested that sources resolve and dates agree; Q8 tests the summary prose; quote-fidelity-live.md tests the excerpts. Nobody has tested the badges, and the badge is the archive's whole claim to being checkable — a tier that overstates is the most expensive class of error it can publish. The pages are server-rendered, so this is verifiable from outside (curl is enough).

Census taken 2026-09-26 on https://alexanderwhitestone.com/stackchain/blocks/: 115 badge documented, 5 badge testimony, 1 badge corroborated, 0 badge unrecovered — 121 total, matching the published-entry count; the legend's fourth tier is defined and unused on the page.

Do this: for a sample of entries with a stated rule (no cherry-picking) that includes every entry carrying Corroborated, Testimony only or Unrecovered, fetch the entry live, take the badge as published, take the strongest source the entry itself cites, fetch that too, and grade the badge: justified / too strong / too weak / indeterminate (say why). Evidence per row: entry URL, badge as published, source URL, and the sentence or capture that settles it.

Done means: recoveries/evidence-tier-audit.md — the sample rule, one row per entry, the count of each verdict, the named entries whose badge misstates the evidence, and the per-row data file under the standing bar (no splitting rule needed; fixed column order: entry | badge as published | strongest cited source | verdict | settling evidence). Evidence: the entry URL and the fetched source per row; unreadable stated plainly where a cited source is settling evidence). Proposed by Timmy (2026-09-26`, reply 08), satisfying the Q7 obligation for this cycle.


Q13 — Publish the archive-side wording fixes, one at a time

Q8's pilot and Q4 produced eight clauses where the archive's own prose overstates, infers or contradicts the source it summarises. Seven wait on Alexander; one has a decision. This item is the publication half, not the finding half — and it is deliberately small per unit, because each fix edits a live public page.

Do this, per approved clause: apply the wording fix to blocks.json, append a dated correction note to that entry's uncertainty field (the panel that already carries the archive's own caveats), rebuild with build_blocks.py, publish the changed page, and read the result back by SHA-256 over HTTPS. If Alexander asks for one, draft the courtesy note to the publication — a third-party contact is sent by him or not at all. magazine-091 is the worked example: record EDITS/2026-09-26-magazine-091-correction.md, patch script EDITS/apply_editorial_fix_091.py, blast radius measured at exactly one emitted file.

Done means: for every clause that has a decision, a published page whose hash is read back over HTTPS, plus a staged record naming the files, the before/after hashes, the decision that authorised it and the revert command. Evidence: the live URL and its SHA-256 after the change, the pre-change hash, and the decision record. Undecided clauses are listed as undecided and are not silently dropped.

Status: 1 of 8 has a decision and staged correction (magazine-091; reply 09 §3), but its decided note carries an authority/escalation caveat. Publication and third-party contact are on hold pending Alexander's explicit confirmation. The other 7 are undecided and named in Q8 above. Archive-side work — not Zeph's unless he wants it. Entered by Timmy 2026-09-26, satisfying the Q7 obligation for this cycle.


Q14 — Put the Inbox on alexanderwhitestone.com behind a gate

Alexander's directive, relayed by zephyrus-sparkborn (check-in 2026-09-26 (2), 7c4cf1b, verbatim there): "Ok give the inbox to Timmy and have him host it on my site so I can open up a page on my phone." Reference implementation is the artifact inbox; build seed is inbox/seed-2026-09-26.json (c05e6a0666d8).

State of the build: done and render-verified, unpublished. /opt/inbox-site/index.html (built by build_page.py from that seed) renders 12 pending cards plus 1 decided at mobile width; Approve / Reject / Defer with an optional note; decisions live in per-device localStorage and leave the phone only through an explicit copy-out. Verification method: Chromium via Playwright at 390×844, 0 errors, state survives reload (reply 10 §2).

Why it is not live: there is no private area on the main site to reuse — /etc/caddy/Caddyfile lines 5–25 are a plain file_server over /var/www/alexander-whitestone, and every gated path on this box is on the forge host instead. The same vhost's CSP (line 21) sets connect-src 'none'; form-action 'none', so a page there can neither fetch nor POST. Publishing therefore needs a production Caddy change and is Alexander's decision: (a) basic_auth on a new path (recommended, ~6 lines, reversible), or (b) his pre-authorised unguessable path under the existing root (zero config, one URL of protection, interim only), or (c) the forge staging path, which already has basic_auth but needs the inactive timmy-staging.service back up and is not "his site".

Blocker recorded here — repository visibility: this repo answers anonymously (private: false; an unauthenticated HTTPS fetch of the seed returned HTTP 200 on 2026-09-26, reply 10 §0). No pending queue state goes into it until that changes, including the inbox/pending.json the handoff proposes in §5. The visibility call is with Alexander; until it is made, nothing here publishes or duplicates pending material.

Done means: the queue page is live at a gated URL and re-verified against that live URL by a mobile-width render with all seed items present. Evidence: the live URL, the render-check output, the pre- and post-change page hashes, and a named record of which gate was chosen and by whom. Entered by Timmy 2026-09-26, satisfying the Q7 obligation for this cycle.